Skip to content
SaaS solo

Solo Developer Startup Stack

How a solo founder shipped a SaaS product in 6 weeks using AI coding tools. Real stack, real costs, real lessons.

January 25, 2026

Tools included

Cursor Claude Code v0 Devin

#The Backstory

Marcus, a former backend engineer, wanted to build a SaaS for freelance invoice management. Traditional estimate: 4-6 months solo, or $30-50K to outsource. His approach: leverage every AI tool available to ship in weeks.

Here’s exactly how he did it.

#The Stack

#Development Environment

PurposeToolMonthly Cost
Primary IDECursor Pro$20
Complex ArchitectureClaude Code~$80 (API)
UI Generationv0 by Vercel$20
Background TasksDevin$20
Total~$140

#Tech Stack (Generated)

  • Frontend: Next.js 14, React, Tailwind CSS
  • Backend: Next.js API routes, Prisma ORM
  • Database: PostgreSQL (Supabase)
  • Auth: NextAuth.js
  • Payments: Stripe
  • Hosting: Vercel

#Week-by-Week Breakdown

#Week 1: Foundation (v0 + Cursor)

Day 1-2: UI Design with v0

Marcus started with v0 for rapid UI prototyping:

  • Generated 15 component variations for the dashboard
  • Created invoice template layouts
  • Built the landing page

Time spent: 4 hours v0 prompts used: ~30

Day 3-5: Project Setup with Cursor

Used Cursor Composer to:

  • Initialize Next.js project with TypeScript
  • Set up Prisma schema for invoices, clients, users
  • Configure NextAuth with Google/email providers
  • Create base API routes

Prompt example:

Set up a Next.js 14 project with:
- Prisma with PostgreSQL
- NextAuth (Google + email magic link)
- Tailwind CSS
- TypeScript strict mode

Include a basic database schema for:
- Users (freelancers)
- Clients (their customers)
- Invoices (linked to clients)
- LineItems (linked to invoices)

Time spent: 12 hours Cursor cost: ~$3 (within subscription)

#Week 2: Core Features (Cursor)

Built the invoice CRUD with Cursor:

  • Invoice creation wizard
  • Client management
  • PDF generation (react-pdf)
  • Email sending (Resend)

Cursor handled:

  • All form validation logic
  • API route implementations
  • React Query hooks for data fetching
  • Error handling patterns

Key technique: Giving Cursor examples of existing patterns

Follow the same pattern as src/app/api/clients/route.ts
to create the invoices API routes. Include:
- GET (list with pagination)
- POST (create)
- Match the error handling style exactly

Time spent: 25 hours Cursor cost: ~$5

#Week 3: Complex Logic (Claude Code)

For complex business logic, Marcus switched to Claude Code:

Recurring invoices engine:

I need a recurring invoice system:
- Support weekly, monthly, quarterly, yearly schedules
- Handle timezone-aware scheduling
- Generate invoices in advance (configurable days)
- Skip generation if payment is overdue
- Support schedule modifications mid-cycle

Think through edge cases carefully.

Claude Code’s extended thinking mode spent 45 seconds reasoning through timezone handling, daylight saving transitions, and billing cycle edge cases.

Late payment reminders:

Design and implement a late payment reminder system:
- Configurable reminder schedule (3 days, 7 days, 14 days)
- Escalating email templates (friendly → firm → final)
- Track reminder history
- Allow manual "pause reminders" for sensitive situations

Time spent: 20 hours Claude Code cost: ~$60

#Week 4: Payments & Dashboard (Cursor + Devin)

Stripe Integration (Cursor)

Cursor’s codebase awareness made Stripe integration smooth:

Add Stripe payment links to invoices:
- Generate unique payment link per invoice
- Handle webhook for successful payments
- Update invoice status automatically
- Support partial payments

Dashboard Analytics (Devin)

Marcus assigned Devin the analytics dashboard as a background task:

Create an analytics dashboard showing:
- Revenue by month (last 12 months)
- Outstanding invoices amount
- Average payment time
- Top clients by revenue
- Overdue percentage trend

Use Recharts for visualization.
Match the existing design system in src/components/ui.
Include tests for all calculations.

Started task at 9 AM, reviewed completed PR at 3 PM.

Time spent: 18 hours (Marcus) + 6 hours (Devin async) Costs: Cursor ~$4, Devin ~$5

#Week 5: Polish & Edge Cases (Claude Code)

This is where AI paid off most. Edge cases that would take days manually:

  • Multi-currency support (conversion rates, display formatting)
  • Tax calculation with jurisdiction-aware rules
  • Invoice numbering with custom formats
  • Data export (CSV, JSON, PDF batch)

Claude Code’s thoughtful approach caught edge cases Marcus hadn’t considered:

Claude: "I notice you're storing currency amounts as floats. 
This will cause rounding errors with currency. I'll convert 
to storing cents as integers and format for display. 
I'll also add a migration for existing data."

Time spent: 15 hours Claude Code cost: ~$50

#Week 6: Testing & Launch (Cursor + Manual)

Test Generation (Cursor)

Generate comprehensive tests for src/lib/invoices:
- Unit tests for all calculation functions
- Integration tests for API routes
- Include edge cases for recurring invoices

Cursor generated 47 test cases. Marcus reviewed and added 8 more manually.

Launch Prep

  • Manual review of all AI-generated code
  • Security audit (manual + Cursor suggestions)
  • Performance testing
  • Documentation

Time spent: 20 hours Cursor cost: ~$3

#Total Investment

CategoryCost
AI Tools (6 weeks)$180
Vercel Pro$20
Supabase$25
Domain + misc$50
Total$275

Time: ~120 hours over 6 weeks (part-time)

Traditional estimate: 600-800 hours or $30-50K outsourced

#Lessons Learned

#What Worked

  1. Tool switching by task type

    • v0 for UI exploration (fast iteration)
    • Cursor for feature implementation (great IDE integration)
    • Claude Code for complex logic (thinking mode worth the cost)
    • Devin for parallel background tasks (async productivity)
  2. Providing context and examples

    • AI does better with “follow this pattern” than “figure it out”
    • Existing code is the best prompt
  3. Review discipline

    • Every AI PR got human review
    • Caught subtle bugs that passed tests

#What Didn’t Work

  1. Over-trusting early outputs

    • First attempt at Stripe integration had security issues
    • Always review payment/auth code carefully
  2. Insufficient specs for Devin

    • Vague tasks produced vague results
    • Detailed specs = usable outputs
  3. Trying to AI everything

    • Some things faster to write manually
    • Especially small fixes and tweaks

#Would He Do It Again?

“Absolutely. The $180/month in AI tools is nothing compared to hiring help or the time saved. I shipped in 6 weeks what would have taken 6 months solo. The key is knowing which tool for which job—and always reviewing the output.”

#Try This Stack

This stack works for:

  • Solo founders building MVPs
  • Side projects with limited time
  • Prototypes before hiring a team
  • Learning new frameworks quickly

The combination of Cursor (daily driver), Claude Code (hard problems), v0 (UI), and Devin (background tasks) covers most development needs at ~$140/month.