From Idea to Deployed MVP: MicroSaaSBot's Complete Workflow
The full pipeline from 'I have an idea' to 'it's live on Vercel with Stripe billing.' Every phase explained with the real StatementSync timeline.

“I want to build something that converts bank statements to spreadsheets.”
Seven days later, StatementSync was live. Users could sign up, upload PDFs, and download Excel files. Stripe was processing payments.
Here’s exactly how that happened.
The Starting Point
Input: A problem statement.
“Freelance bookkeepers spend 10+ hours per week manually transcribing PDF bank statements into spreadsheets. Existing tools either charge per file ($0.25-1.00 each) or require proprietary software integrations.”
That’s it. No spec document. No wireframes. No architecture plan.
MicroSaaSBot takes it from here.
Phase 1: Validation (Day 1-2)
The Researcher agent investigates whether this is worth building.
Day 1: Market Research
Activities:
- Web search for existing solutions
- Competitor pricing analysis
- User pain point research (forums, Reddit, reviews)
- Market size estimation
Findings:
- TextSoap: $0.50/file, professional but expensive
- HappyFox: $0.25/file, complex setup
- Zapier connectors: $1.00/file, requires technical setup
- Manual OCR tools: Free but 60-80% accuracy
Day 2: Scoring and Persona
Validation Score: 78/100
- Severity: 24/30 (daily pain, hours wasted)
- Frequency: 16/20 (constant for active bookkeepers)
- Willingness to Pay: 22/30 (already paying competitors)
- Competition: 16/20 (clear differentiation opportunity)
Persona:
Freelance bookkeepers processing 50+ bank statements monthly for multiple clients. Tech-comfortable but not developers. Currently using per-file tools or manual transcription.
Differentiation Path:
Flat-rate pricing ($19/month unlimited) vs per-file competitors. Simple drag-drop interface vs complex workflows.
Validation Handoff Document
problem: Bank statement transcription for bookkeepers
score: 78
recommendation: proceed
persona:
who: Freelance bookkeepers
behavior: 50+ statements/month
pain: 10+ hours/week manual work
current_spend: $25-100/month
differentiation:
primary: Flat-rate pricing
secondary: Simple UX, high accuracy
constraints:
- Must achieve near-zero marginal cost
- Must support top 5 US banks
- Must be simpler than competitors Phase 2: Architecture (Day 3)
The Architect agent designs the technical system.
Tech Stack Selection
Based on constraints and differentiation:
| Component | Choice | Reasoning |
|---|---|---|
| Framework | Next.js 15 | App Router, serverless-ready |
| Auth | Clerk | Handles OAuth, fast setup |
| Database | Supabase | PostgreSQL + Storage + RLS |
| Payments | Stripe | Industry standard |
| PDF Parsing | unpdf | Serverless-compatible |
| Hosting | Vercel | Serverless, auto-scaling |
Database Schema
-- Users (synced from Clerk)
CREATE TABLE users (
id UUID PRIMARY KEY,
clerk_id TEXT UNIQUE,
email TEXT,
subscription_tier ENUM('FREE', 'PRO'),
conversions_this_month INT DEFAULT 0,
created_at TIMESTAMP DEFAULT NOW()
);
-- Conversions (processed statements)
CREATE TABLE conversions (
id UUID PRIMARY KEY,
user_id UUID REFERENCES users(id),
original_filename TEXT,
status ENUM('PENDING', 'PROCESSING', 'COMPLETED', 'FAILED'),
extracted_data JSONB,
excel_path TEXT,
csv_path TEXT,
created_at TIMESTAMP DEFAULT NOW()
); Key Decisions Surfaced
Decision 1: Pattern-based vs LLM extraction?
- Pattern-based: $0/extraction, 99% accuracy, 3-5 seconds
- LLM: $0.01-0.05/extraction, 99.5% accuracy, 10-30 seconds
Human approved: Pattern-based (cost control for flat-rate model)
Decision 2: Flat-rate vs per-file pricing?
- Flat-rate: $19/month unlimited, attracts heavy users
- Per-file: $0.25-0.50/file, matches competitors
Human approved: Flat-rate (differentiation strategy)
Architecture Handoff Document
tech_stack:
frontend: Next.js 15 (App Router)
auth: Clerk
database: Supabase PostgreSQL
storage: Supabase Storage
payments: Stripe
pdf: unpdf
hosting: Vercel
features:
- user_auth
- file_upload
- pdf_extraction
- excel_export
- csv_export
- stripe_billing
- usage_tracking
- conversion_history
pricing:
free_tier:
conversions: 3
batch_size: 1
history_days: 7
pro_tier:
price: 19
conversions: unlimited
batch_size: 20
history_days: 90 Phase 3: Development (Day 4-6)
The Developer agent builds features incrementally.
Day 4: Core Infrastructure
Features built:
- Project setup (Next.js, TypeScript, Tailwind)
- Clerk authentication integration
- Supabase connection and schema migration
- Basic dashboard layout
Checkpoint: User can sign up, sign in, see empty dashboard.
Day 5: PDF Processing
Features built:
- File upload component (drag-drop, validation)
- PDF parsing engine (unpdf integration)
- Transaction extraction (pattern-based)
- Bank detection (Chase, BofA, Wells, Citi, Capital One)
Checkpoint: User can upload PDF, see extracted transactions.
Day 6: Export and Billing
Features built:
- Excel export (ExcelJS with formatting)
- CSV export
- Stripe integration (products, prices, checkout)
- Webhook handler (subscription status)
- Usage tracking (conversions per month)
- Tier enforcement (free vs pro limits)
Checkpoint: Full flow works—upload, extract, export, pay.
Development Handoff Document
build_status: passing
type_check: clean
features_complete:
- auth_flow: true
- file_upload: true
- pdf_extraction: true
- excel_export: true
- csv_export: true
- stripe_billing: true
- usage_tracking: true
env_vars_needed:
- NEXT_PUBLIC_CLERK_PUBLISHABLE_KEY
- CLERK_SECRET_KEY
- DATABASE_URL
- SUPABASE_URL
- SUPABASE_ANON_KEY
- STRIPE_SECRET_KEY
- STRIPE_WEBHOOK_SECRET Phase 4: Deployment (Day 7)
The Deployer agent ships to production.
Morning: Infrastructure Setup
Activities:
- Create Vercel project
- Connect GitHub repository
- Create Supabase production project
- Run database migrations
- Configure environment variables
Afternoon: Billing Configuration
Activities:
- Create Stripe product (“StatementSync Pro”)
- Create Stripe price ($19/month)
- Configure Stripe webhook endpoint
- Test subscription flow
Evening: Final Verification
Checklist:
- Home page loads
- Sign up flow works
- Sign in flow works
- File upload accepts PDFs
- Extraction completes
- Excel download works
- CSV download works
- Free tier limits enforced
- Checkout redirects to Stripe
- Subscription activates on success
- Webhook updates user tier
All checks passed.
The Result
Day 7, 8:00 PM: StatementSync is live.
https://statementsync.vercel.app - User auth working
- PDF processing functional
- Stripe billing active
- Free and Pro tiers enforced
From “bookkeepers hate transcription” to production SaaS in exactly 7 days.
The Timeline Summary
| Day | Phase | Agent | Output |
|---|---|---|---|
| 1 | Validation | Researcher | Market research |
| 2 | Validation | Researcher | 78/100 score, approved |
| 3 | Architecture | Architect | Tech stack, schema |
| 4 | Development | Developer | Core infrastructure |
| 5 | Development | Developer | PDF processing |
| 6 | Development | Developer | Export + billing |
| 7 | Deployment | Deployer | Live production URL |
What Made This Possible
- Validation first - Didn’t waste time on a bad idea
- Clear handoffs - Each phase knew exactly what to do
- Incremental checkpoints - Caught the pdf-parse issue on Day 5
- Focused scope - MVP only, no feature creep
- Human gates - Key decisions were approved, not assumed
MicroSaaSBot didn’t replace thinking. It replaced the tedious execution that turns weeks into days.
Related: Introducing MicroSaaSBot | Portfolio: StatementSync