▶ Stack
Next.js
React
TypeScript
Tailwind CSS
Supabase
Google Sheets API
Typeform API
Recharts
▶ Overview
Co-founded a B2B SaaS product for sales agencies struggling with manual client reporting. Built 6 client-facing dashboards from scratch, onboarded 10 paying clients in 6 months, and exited via multiple six-figure buyout. The product continues to operate and scale post-acquisition.
As technical co-founder and head of product, I led the entire product development—designing and building the frontend across all 6 dashboards, architecting API integrations, and managing client acquisition. The exit validated product-market fit and proved the system was built to scale independently.
This project taught me how to ship 0→1 products under real constraints, balance rapid iteration with technical quality, and build systems that continue working without their creator.
▶ The Problem
Sales agencies wasted 10-15 hours per week manually compiling client reports from Google Sheets, Typeform, and CRMs.
Time Wasted: 10-15 hours/week per agency
Error Rate: High (manual data entry)
Scalability: Required hiring to grow
Existing Solutions: Too generic or too expensive
▶ The Solution
Built 6 specialized dashboards to automate the entire workflow.
01 — Client Overview
02 — Data Integration (Google Sheets, Typeform, CRM)
03 — KPI Visualization
04 — Automated Reporting
05 — Client Management
06 — Platform Analytics
▶ Technical Challenges
API Rate Limiting
Intelligent caching layer reduced API calls by 80%
Real-Time Sync
WebSocket push updates with polling fallback
Multi-Tenant Security
Row-level security with tenant isolation
Data Normalization
Unified transformation layer across 3 different API formats
▶ Impact
Clients: 10 paying customers in 6 months
Users: 100+ end users across agencies
Time Saved: 10+ hours → 30 minutes per week
Retention: 90%+ throughout lifecycle
Data Sources: 100+ automated connections
Exit: Multiple six-figure buyout
Product continues to operate and scale post-acquisition.
▶ Learnings
Product
Real-time sync is table stakes, not a feature. Start with one perfect dashboard instead of six good ones.
Business
Weekly user feedback > initial assumptions. Build for one vertical before expanding.
Technical
Component libraries compound. TypeScript prevents bugs in complex transformations. Over-invest in error handling.
Outcome
Product continues to scale without me—proof of maintainable architecture.