Your First Project
A complete walkthrough from idea to launched product using aiorg kits.
Timeline Overview
DAY 1 DAYS 2-3 WEEK 1 WEEK 2-3 WEEK 4+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Setup Explore Build First Payments Launch
& Validate Codebase Feature & Polish & Iterate
This guide follows a typical path. Your journey may vary depending on your founder path.
Day 1: Setup (First Hour)
Goal: See something working NOW.
Step 1: Validate Your Idea (Optional but Recommended)
If you haven't validated your idea yet:
npx @aiorg/cli init idea-os ~/my-idea
cd ~/my-idea
claude
> /setup
Idea OS helps you research competitors, create interview questions, and score your idea. Skip this if you're certain about your idea or building for fun.
Step 2: Start Your SaaS
npx @aiorg/cli init saas-starter ~/my-saas
cd ~/my-saas
claude
> /setup
The /setup wizard handles everything:
- Check prerequisites (Node.js, Docker)
- Start Docker if needed
- Install dependencies
- Start Supabase (local database)
- Create Stripe account/keys
- Configure environment variables
- Start app at localhost:3000
- Brand your app (name + tagline)
Step 3: First "It Works!" Moment
After setup completes:
- Open
localhost:3000in your browser - See YOUR branding (name and tagline)
- Test signup with magic link
- Check email at
localhost:54324(Inbucket) - Log in and see the dashboard
You now have a working SaaS in under an hour.
Days 2-3: Exploration
Goal: Understand what you have and plan what to build.
Start Each Day
When you open Claude Code:
Welcome back to [Your App]!
Quick actions:
- /roadmap - Check progress
- /recipes - Browse guides
- /new-feature - Add functionality
Check Your Progress
Run /roadmap to see where you are:
YOUR ROADMAP: [Project Name]
PHASE PROGRESS STATUS
─────────────────────────────────────────────
Foundation [████████░░░░] 67% 2/3
Core Features [░░░░░░░░░░░░] 0% 0/4
Monetization [████░░░░░░░░] 25% 1/4
Polish [░░░░░░░░░░░░] 0% 0/4
Launch [░░░░░░░░░░░░] 0% 0/4
Explore the Codebase
Key areas to understand:
| Location | What's There |
|---|---|
src/app/ | Pages and routes |
src/components/ | UI components |
src/lib/ | Utilities and clients |
supabase/migrations/ | Database schema |
localhost:54323 | Supabase Studio (visual DB) |
Browse Available Recipes
Run /recipes to see implementation guides:
- Add new feature
- Add Google OAuth
- Add Stripe billing
- Create Stripe products
- Security audit
- Deploy to production
Week 1: Building Your First Feature
Goal: Build the core feature of your SaaS.
Create a Feature
> /new-feature
The wizard asks:
- What feature do you want to add?
- How would you like to create it?
- With working example (recommended)
- Empty scaffold
- Guide me through it
What Gets Created
For a "notes" feature:
src/features/notes/
├── components/
│ ├── notes-list.tsx
│ ├── note-card.tsx
│ └── note-form.tsx
├── actions/
│ └── index.ts (CRUD)
├── types.ts
└── index.ts
supabase/migrations/
└── 20241213_add_notes.sql
src/app/(dashboard)/dashboard/notes/
└── page.tsx
Test Your Feature
- Run the migration: Database updates automatically
- Open
localhost:3000/dashboard/notes - Create, edit, delete items
- Verify RLS (you only see your own data)
Iterate
Ask Claude for help:
- "Add a search bar to notes"
- "How does RLS work?"
- "Add validation to the form"
Week 2: Payments
Goal: Accept payments.
Add Stripe Billing
Run /recipes → "Add Stripe Billing"
The recipe walks through:
- Choose billing model (subscription, one-time, freemium)
- Define pricing tiers
- Create Stripe products via CLI
- Update environment variables
- Test with card:
4242 4242 4242 4242
Test Payment Flow
- Go to your pricing page
- Click "Subscribe"
- Use test card
- Complete checkout
- See subscription in dashboard
First (test) dollar moment!
Week 3: Polish
Goal: Make it professional.
Common Polish Tasks
Ask Claude:
- "Add loading spinners"
- "Improve error messages"
- "Make this mobile responsive"
- "Add confirmation dialogs"
Security Audit
Run /recipes → "Security Audit"
Checks:
- All routes protected
- RLS on all tables
- No secrets exposed
- Webhook signatures verified
- Dependencies audited
Week 4: Launch
Goal: Go live!
Pre-Flight Checks
> /deploy
Runs:
pnpm type-checkpnpm lintpnpm build
Deployment Checklist
| Task | Status |
|---|---|
| Production Supabase project | |
| Stripe live mode keys | |
| Environment variables | |
| Domain purchased |
Deploy to Vercel
vercel link
vercel env add [each variable]
vercel --prod
Post-Launch
- Configure custom domain
- Add monitoring (Sentry)
- Share with users
- Iterate based on feedback
What's Next?
After launch, your journey continues:
| Situation | Next Kit |
|---|---|
| Users sign up but leave | PMF OS |
| Ready to scale | Marketing OS |
| Have active users | Success OS |
Add a Kit to Your Project
cd ~/my-saas
npx @aiorg/cli add pmf-os
Kits share context. PMF OS automatically knows your app name, target customer (from Idea OS), and current stage.
Common Issues
Docker Won't Start
# On Mac
open -a Docker
# Wait for Docker to be ready, then
> /setup
Port 3000 Busy
# Find what's using port 3000
lsof -i :3000
# Kill it or use different port
PORT=3001 pnpm dev
Supabase Stopped
# Restart Supabase
pnpm supabase start
Webhook Not Working
The Stripe webhook listener must stay running:
# Keep this terminal open
stripe listen --forward-to localhost:3000/api/webhook
Tips for Success
- Follow the phases —
/roadmapshows exactly where you are - Use recipes — Don't reinvent the wheel
- Ask Claude — It understands your codebase
- Ship early — Perfect is the enemy of good
- Iterate based on feedback — Real users teach you more than planning