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:

  1. Check prerequisites (Node.js, Docker)
  2. Start Docker if needed
  3. Install dependencies
  4. Start Supabase (local database)
  5. Create Stripe account/keys
  6. Configure environment variables
  7. Start app at localhost:3000
  8. Brand your app (name + tagline)

Step 3: First "It Works!" Moment

After setup completes:

  • Open localhost:3000 in 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:

LocationWhat's There
src/app/Pages and routes
src/components/UI components
src/lib/Utilities and clients
supabase/migrations/Database schema
localhost:54323Supabase 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:

  1. What feature do you want to add?
  2. 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

  1. Run the migration: Database updates automatically
  2. Open localhost:3000/dashboard/notes
  3. Create, edit, delete items
  4. 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:

  1. Choose billing model (subscription, one-time, freemium)
  2. Define pricing tiers
  3. Create Stripe products via CLI
  4. Update environment variables
  5. Test with card: 4242 4242 4242 4242

Test Payment Flow

  1. Go to your pricing page
  2. Click "Subscribe"
  3. Use test card
  4. Complete checkout
  5. 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-check
  • pnpm lint
  • pnpm build

Deployment Checklist

TaskStatus
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

  1. Configure custom domain
  2. Add monitoring (Sentry)
  3. Share with users
  4. Iterate based on feedback

What's Next?

After launch, your journey continues:

SituationNext Kit
Users sign up but leavePMF OS
Ready to scaleMarketing OS
Have active usersSuccess 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

  1. Follow the phases/roadmap shows exactly where you are
  2. Use recipes — Don't reinvent the wheel
  3. Ask Claude — It understands your codebase
  4. Ship early — Perfect is the enemy of good
  5. Iterate based on feedback — Real users teach you more than planning