We Built a SaaS Product in 8 Weeks: Everything We Learned Building RememBro
On February 3rd, 2025, we had an idea for a product. On March 31st, we had paying customers. This is the full, unfiltered story of how we got there.
The Idea and Why We Built It Ourselves
RememBro is an AI-powered memory assistant — it connects to your tools (email, Slack, Notion, calendar) and surfaces what you need to know before meetings, calls, and deadlines. We built it because we needed it ourselves and couldn't find anything that worked well.
The decision to build in-house was deliberate. We wanted to eat our own cooking — to run an AI product through the same gauntlet we put our clients' products through.
The Stack
Frontend: Next.js 14 (App Router) + Tailwind CSS. Backend: Python FastAPI + Supabase. AI: GPT-4o for reasoning, text-embedding-3-small for semantic search. Infra: Vercel + Railway. Payments: Stripe. The whole stack is boring and that's the point — boring is fast.
The best tech stack for a v1 is the one you know how to debug at 2am.
What We Cut (And Why)
Original scope: 24 features. Shipped features: 9. We cut calendar sync, Zoom transcription, a mobile app, team workspaces, and a browser extension. Every cut made the product better. Focus is a product feature.
Week 1-2: Foundation
Core auth (Supabase Auth), basic data model, OpenAI integration. We spent two full days just on the prompt engineering for the memory surface feature. Getting the AI to surface the right context at the right time is a surprisingly hard problem.
Week 3-4: Core Feature
The 'memory retrieval' feature — given a prompt ('what did Priya say about the Q3 budget?'), surface relevant items from connected sources. This took longer than expected because semantic search over personal data has high precision requirements. One wrong result destroys trust.
Week 5-6: Integrations
Gmail, Slack, and Notion integrations. Each integration required its own OAuth flow, rate limiting, and error handling. Slack alone took three days because of their API quirks around message threading.
Week 7-8: Polish + Launch
Onboarding flow, pricing page, Stripe integration, and a soft launch to 50 beta users we recruited from our personal networks. Day 1 conversion rate from free to paid: 12%. We cried.
What We'd Do Differently
Start with one integration, not three. Build the Stripe integration in week 1, not week 7. Spend more time on the empty state experience — it's the most important screen in any data-dependent app. Talk to users daily, not weekly.