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.
Tools included
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
| Purpose | Tool | Monthly Cost |
|---|---|---|
| Primary IDE | Cursor Pro | $20 |
| Complex Architecture | Claude Code | ~$80 (API) |
| UI Generation | v0 by Vercel | $20 |
| Background Tasks | Devin | $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
| Category | Cost |
|---|---|
| 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
-
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)
-
Providing context and examples
- AI does better with “follow this pattern” than “figure it out”
- Existing code is the best prompt
-
Review discipline
- Every AI PR got human review
- Caught subtle bugs that passed tests
What Didn’t Work
-
Over-trusting early outputs
- First attempt at Stripe integration had security issues
- Always review payment/auth code carefully
-
Insufficient specs for Devin
- Vague tasks produced vague results
- Detailed specs = usable outputs
-
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.