ForeverCount: building and growing a consumer SaaS
A Brazilian web app where people create a personalized digital page for their partner and give it as a gift. Over two years I led the backend, the serverless infrastructure, PIX payments, and the entire analytics and growth stack, working with a partner who focused on the frontend.
What ForeverCount is
ForeverCount (forevercount.love) is a consumer web app for couples. Someone creates a personalized page for their partner, a live counter of how long they have been together, a photo, and a heartfelt letter, and sends it as a gift. It runs on a freemium model: a free page (one photo, watermark, expires in 7 days) and a one-time paid "Para Sempre" (Forever) upgrade over PIX that removes the watermark and unlocks up to 10 photos, music, a QR code, a printable gift card, an animated reveal, a read receipt, a clean URL, and permanence.
The whole experience is mobile-first and in Portuguese, aimed at a young Brazilian audience arriving mostly from social media.
By the numbers
Two years in production, bootstrapped.
My role
I built ForeverCount together with a partner, who focused mainly on the frontend. My side was everything behind and around it: the product direction, the backend (Python microservices on AWS Lambda), the data model (DynamoDB) and storage (S3), the PIX payment integration with a Brazilian bank, the transactional and lifecycle email, the analytics pipeline, and the growth strategy on top of it. Nobody handed us a spec, we decided what to build, shipped it, measured it, and iterated.
Technical architecture
- Frontend: Next.js (React, TypeScript) on Vercel, the page creator, the checkout, and the animated gift reveal.
- Backend: Python microservices on AWS Lambda behind API Gateway, page creation/editing, pricing logic, PIX generation, slugs, email OTP, and read receipts.
- Data & storage: DynamoDB (orders and pages, with GSIs for status and lookup) and S3 (page content, photos, QR codes, PDF gift cards).
- Payments: PIX via Banco Inter, dynamic QR generation and an authoritative server-side webhook (mTLS) that confirms payment and reconciles the order by transaction id. Real money, real reconciliation.
- Async jobs: EventBridge for scheduled work, page-expiry cleanup and timed email reminders.
- Email: Resend for transactional and lifecycle mail, with Svix-verified webhooks feeding delivery / open / click back into analytics.
- Analytics: PostHog with a custom event pipeline and HogQL queries; dashboards designed to be read every day.
The data & growth work
The engineering got the product live. The part I owned end to end was making growth measurable and acting on it.
- Instrumented the funnel end to end, creation → activation → offer view → checkout → PIX generated → paid, keyed on a single stable identity across client and server.
- Found and fixed a critical blind spot. The checkout path that actually produced sales was not emitting client events, so the funnel measured the path that did not convert and was blind to the one that did. I moved the critical events server-side to the single choke point where the PIX is created, guaranteeing order and coverage, path-independent, mirroring the authoritative payment webhook.
- Added price-tier segmentation to every funnel event (discount vs. win-back vs. full price) so I could actually measure whether discounts drove conversion, instead of guessing from the amount.
- Built lifecycle & recovery flows: instant PIX-code delivery, timed reminders, a reactive "your gift was just opened" email, and post-expiry win-back, each attributed back to the campaign that earned the sale.
- Practiced honest statistics. At a couple of sales per week, I was careful to separate signal from small-sample noise, so a quiet week was never mistaken for a broken funnel.
- Mined the content itself. I ran an aggregate analysis over thousands of user-written letters to find product opportunities: faith / Christian themes appeared in 40–59% of letters (an untapped segment), the single-photo free ceiling predicted upgrades better than letter length, and an emergent "birthday / occasion gift" use case hinted at a market well beyond couples.
The core product: a couple page with a live counter (demo data).
The emergent use case the data surfaced: occasion & birthday gifts (demo data).
I drove the distribution, too
Growth was not only instrumentation. I planned, edited, and published the product's content myself. One of the videos I made went viral, and most of the traffic that filled the funnel above came from content like it. I owned both sides: the acquisition that brought people in, and the analytics that told me what they did next.
The product's TikTok: the pinned video I made reached 256K views (my own account).
Results & what I learned
- I diagnosed the real bottleneck, not the assumed one. Instrumented data showed the leak was between viewing the offer and starting checkout, not payment abandonment, which was the working assumption. Trusting the data over intuition changed the roadmap.
- We navigated a full pricing evolution. The product ran a high-volume, low-price model in 2025 (R$4,99 was the dominant price, ~1,100 sales at that tier) and later moved to a higher-price R$24,90 model, with all the trade-offs in volume and messaging that implies.
- The honest lessons: at low volume, rigorous measurement beats clever tactics; a product's real market can differ from its positioning (couples vs. any occasion); and owning something end to end, from PIX webhooks to funnel statistics, is the fastest way to learn how engineering decisions turn into revenue.
ForeverCount was wound down in 2026. This case study uses only aggregate metrics and demo pages, no customer data.
Get in Touch
Want to talk through how I built and grew this? I'm happy to go deep on the architecture or the growth work.
Let's talk
The best way to reach me is on LinkedIn, I usually reply within a day.
Connect on LinkedIn

