ποΈ Step 3: Plan Mode
Days 3-4 of your journey
You know what you're building. Now let's figure out HOW you're going to build it. Plan mode helps you choose the right technologies and design a simple architecture.
Purposeβ
In Plan mode, 1M Code acts as a technical architect. It will:
- Help you choose appropriate technologies
- Design a simple architecture
- Create a development plan
- Ensure you're not over-engineering
When to Use This Modeβ
Use Plan mode when:
- You've completed your PRD in Spec mode
- You need to choose a tech stack
- You want to design the system architecture
- You're planning how to break down development
Available Toolsβ
| Tool | Purpose |
|---|---|
read | Read your PRD and existing files |
browser | Research technologies and best practices |
edit | Create architecture documents and plans |
Note: Plan mode has full edit accessβyou'll start creating project structure files.
Example Promptsβ
Choosing Technologyβ
Based on my PRD for a water reminder app,
what tech stack would you recommend?
I want something simple that I can learn quickly.
Architecture Designβ
Help me design a simple architecture for my water reminder app.
I want to understand how the pieces fit together.
Development Planβ
Break down my MVP into tasks.
What should I build first, second, and third?
Project Setupβ
Create a project structure for my water reminder app.
Set up the basic files and folders I'll need.
The Recommended Stackβ
For beginners, 1M Code recommends the Modern Solo-Founder Stack:
Frontendβ
| Option | Best For |
|---|---|
| Next.js | Web apps, good for learning React |
| React Native | Mobile apps for iOS and Android |
Backend & Databaseβ
| Option | Best For |
|---|---|
| Supabase | All-in-one backend (database + auth + storage) |
| Firebase | Alternative to Supabase |
Hostingβ
| Option | Best For |
|---|---|
| Vercel | Frontend hosting (free tier) |
| Netlify | Alternative to Vercel |
Paymentsβ
| Option | Best For |
|---|---|
| Stripe | Accepting payments |
Architecture Exampleβ
For a simple web app like a water reminder:
βββββββββββββββββββββββββββββββββββββββββββ
β Your Browser β
βββββββββββββββββββββββββββββββββββββββββββ€
β β
β βββββββββββββββββββββββββββββββββββ β
β β Next.js Frontend (Vercel) β β
β β - React components β β
β β - Pages and routing β β
β β - API calls β β
β ββββββββββββββββ¬βββββββββββββββββββ β
β β β
βββββββββββββββββββΌββββββββββββββββββββββββ
β
βΌ
βββββββββββββββββββββββββββββββ
β Supabase (Backend) β
β - PostgreSQL database β
β - Authentication β
β - Real-time subscriptionsβ
βββββββββββββββββββββββββββββββ
The Development Planβ
1M Code will help you create a task breakdown like:
Phase 1: Project Setup (Day 3-4)β
- Create project with Next.js
- Set up Supabase project
- Configure environment variables
- Create basic page structure
Phase 2: Core Features (Day 4-9)β
- Build reminder settings UI
- Implement notification system
- Create water logging functionality
- Build daily counter display
Phase 3: Polish (Day 9-10)β
- Add loading states
- Handle edge cases
- Mobile responsiveness
- Error handling
Key Decisions to Makeβ
1. Web or Mobile?β
- Web: Easier to build, easier to deploy, works everywhere
- Mobile: Better for notifications, but harder to build
For your first project, choose web. You can always build mobile later.
2. With Auth or Without?β
- Without: Simpler, faster, local storage only
- With: User accounts, data sync across devices
For MVP, consider starting without auth if possible.
3. Realtime or Static?β
- Static: Simpler, cheaper, easier to deploy
- Realtime: More complex, but better UX for some apps
Most MVPs don't need realtime features.
Common Mistakesβ
Mistake 1: Over-Engineeringβ
Problem: "I need microservices and a message queue and..." Fix: Keep it simple. One frontend, one database. That's usually enough.
Mistake 2: Trendy Techβ
Problem: Using new technologies you don't understand. Fix: Use boring, well-documented tech. Next.js, Supabase, Vercel.
Mistake 3: No Planβ
Problem: Jumping straight to coding without a roadmap. Fix: Spend 1 day planning. It saves 3 days debugging.
Mistake 4: Too Detailedβ
Problem: Planning every single detail before starting. Fix: Plan at the right level. You'll figure out details while building.
Output of This Phaseβ
By the end of Plan mode, you should have:
- Tech stack decision documented
- Simple architecture diagram (even a sketch)
- Development task list broken into phases
- Project folder created with basic structure
When to Move Onβ
You're ready for π» Build mode when:
- β You've chosen your tech stack
- β You understand the basic architecture
- β You have a development plan with phases
- β Your project folder is set up
- β You're ready to write code!
Switching to Build Modeβ
When you're ready, switch to Build mode:
Slash command: /build
Or say: "I've planned my architecture. Let's start building!"
A walkthrough video for Plan mode is in production. Check back soon or join our Discord for updates.