DEV Community

Suifeng023
Suifeng023

Posted on

How I Use Claude to Build Full-Stack Apps in Under 4 Hours — The Complete Workflow

How I Use Claude to Build Full-Stack Apps in Under 4 Hours — The Complete Workflow

Three months ago, I spent 3 weeks building a SaaS dashboard. Last week, I built a more complex one in 3 hours and 42 minutes — using Claude as my co-pilot.

The difference wasn't just "using AI." It was a specific, repeatable workflow that eliminates the bottlenecks most developers hit when coding with AI.

Here's exactly how I do it — step by step, with real prompts.

The Problem: Most People Use AI Wrong

I see developers making the same mistakes:

  • ❌ Pasting entire codebases into Claude and hoping for the best
  • ❌ Using vague prompts like "build me a dashboard"
  • ❌ Not breaking down the problem before asking AI
  • ❌ Copy-pasting AI output without understanding it
  • ❌ Not using AI for the things it's actually best at

The secret? AI is a junior developer that never sleeps, never gets bored, and has read every Stack Overflow answer ever written. But like any junior dev, it needs clear direction.

My 4-Hour Framework

I divide every project into 4 phases of ~1 hour each:

Phase Time What AI Does What I Do
1. Blueprint 60 min Generates architecture, tech choices Define requirements, review plan
2. Scaffold 60 min Generates boilerplate, database schema Set up repos, configure env
3. Build 60 min Writes core feature code Review, test, iterate
4. Polish 45 min CSS, error handling, edge cases Final review, deploy

Let me walk through each phase.


Phase 1: Blueprint (60 Minutes)

Before writing a single line of code, I spend an hour planning with Claude. This is the most important phase and the one most people skip.

Step 1: Define the Problem

I start with a clear, structured prompt:

I'm building a SaaS product. Here's what I need:

Product: A subscription analytics dashboard
Users: SaaS founders who want to track MRR, churn, and LTV
Data Source: Stripe API
Tech Stack: Next.js 14 (App Router), TypeScript, Prisma, PostgreSQL, TailwindCSS
Timeline: Need a working prototype today

Give me:
1. A complete database schema with all relationships
2. API route structure (REST endpoints)
3. Component hierarchy (what pages/components I need)
4. The order I should build things in (dependency graph)
5. Potential gotchas I might hit
Enter fullscreen mode Exit fullscreen mode

Why this works: Claude generates a concrete plan. No more "I'll figure it out as I go." You get a roadmap.

Step 2: Generate the Database Schema

Then I drill into each part:

Based on the schema you generated, write:
1. Complete Prisma schema with all models, relations, and indexes
2. Seed data (at least 20 records per model) that looks realistic
3. Migration SQL if needed

Format as a single `schema.prisma` file I can copy directly.
Enter fullscreen mode Exit fullscreen mode

Step 3: API Contract

For each API route, give me:
1. The endpoint path and HTTP method
2. Request body/params type (TypeScript interface)
3. Response type (TypeScript interface)
4. Authentication requirement
5. Brief description of what it does

Format as a TypeScript file with all types exported.
Enter fullscreen mode Exit fullscreen mode

Phase 1 output: You now have a complete spec — database schema, API types, component list, and build order. This would take 2-3 days to produce manually.


Phase 2: Scaffold (60 Minutes)

Now let AI generate all the boring stuff.

Generate Project Structure

Set up a Next.js 14 project with:
- App Router (not Pages Router)
- TypeScript strict mode
- TailwindCSS with these custom colors: [your palette]
- Prisma with PostgreSQL
- NextAuth.js for authentication (GitHub + email)
- shadcn/ui component library

Give me the exact commands to run and the folder structure.
Enter fullscreen mode Exit fullscreen mode

Generate Type Definitions

Create a complete `types/index.ts` file that includes:
- All database model types (from our schema)
- All API request/response types
- All component prop types
- Utility types (pagination, API response wrapper, etc.)

Make it fully typed. No `any` allowed.
Enter fullscreen mode Exit fullscreen mode

Generate Utility Functions

Write these utility functions:
1. `apiResponse<T>(data, status, message)` — standardized API response
2. `validateRequest<T>(schema, body)` — Zod validation wrapper
3. `paginate(query, page, limit)` — cursor-based pagination
4. `formatCurrency(amount, currency)` — i18n currency formatting
5. `calculateMRR(subscriptions)` — Monthly Recurring Revenue calc
6. `calculateChurn(subscriptions, period)` — Churn rate calc

Each function should be production-ready with proper error handling.
Enter fullscreen mode Exit fullscreen mode

Phase 2 output: A complete project skeleton with types, utils, auth, and database — ready to build features on top of.


Phase 3: Build (60 Minutes)

This is where the magic happens. I build features one at a time, using a specific prompt pattern.

The Feature Prompt Pattern

For every feature, I use this template:

Build me the [FEATURE NAME] feature.

Context:
- Tech stack: Next.js 14, TypeScript, Prisma, TailwindCSS, shadcn/ui
- Database schema: [paste relevant models]
- API types: [paste relevant types]

Requirements:
1. [Specific requirement 1]
2. [Specific requirement 2]
3. [Specific requirement 3]

Give me:
1. The API route code (app/api/...)
2. The React component code
3. Any Prisma queries needed
4. Test cases for edge cases

Important rules:
- Use Server Components by default, Client Components only when needed
- Handle loading states and errors
- Use optimistic updates where appropriate
Enter fullscreen mode Exit fullscreen mode

Example: Building the Dashboard Page

Build me the main dashboard page.

It should show:
1. Revenue chart (line chart, last 12 months) — use Recharts
2. Current MRR card with % change from last month
3. Active subscribers count
4. Churn rate card
5. Top 5 plans by revenue (horizontal bar chart)
6. Recent transactions table (last 10, with pagination)

Layout:
- Top row: 3 stat cards side by side
- Middle: Revenue chart (spans full width)
- Bottom left: Top plans bar chart
- Bottom right: Recent transactions table
Enter fullscreen mode Exit fullscreen mode

The key here is specificity. Notice I named the chart library, described the layout, and listed exact data points. This eliminates ambiguity.

Build Order Matters

I never build randomly. Here's my dependency-based build order:

  1. Auth pages (login, signup, forgot password) — everything depends on auth
  2. Dashboard layout (sidebar, header, navigation) — the shell for everything
  3. Data display components (charts, tables, cards) — pure UI, no logic
  4. API routes (CRUD operations) — the data pipeline
  5. Interactive features (filters, exports, settings) — depends on data flowing

Phase 3 output: A fully functional app with all core features implemented and tested.


Phase 4: Polish (45 Minutes)

The last phase is about turning a working prototype into something you'd actually ship.

Error Handling

Go through every component and add:
1. Loading skeletons (use the "skeleton" variant from shadcn/ui)
2. Empty states (meaningful messages, not just blank screens)
3. Error boundaries with retry buttons
4. Toast notifications for success/error feedback
5. Form validation with inline error messages
Enter fullscreen mode Exit fullscreen mode

Responsive Design

Make every page fully responsive:
- Mobile: Stack everything vertically, hamburger menu
- Tablet: 2-column layouts where appropriate
- Desktop: Full layout as designed

Test at 375px, 768px, and 1440px breakpoints.
Enter fullscreen mode Exit fullscreen mode

Performance

Optimize the app:
1. Add loading.tsx files for every route (Next.js streaming)
2. Implement proper data fetching with caching (revalidate)
3. Lazy load heavy components (charts, tables)
4. Add metadata for SEO
5. Optimize images (use next/image)
Enter fullscreen mode Exit fullscreen mode

Accessibility

Audit for accessibility:
1. All interactive elements have visible focus states
2. Color contrast meets WCAG AA
3. Screen reader text for icon-only buttons
4. Keyboard navigation works for all features
5. Proper heading hierarchy on every page
Enter fullscreen mode Exit fullscreen mode

Phase 4 output: A production-ready application that's fast, accessible, and polished.


The Results

Using this workflow, here's what I've shipped in the last month:

Project Time Manual Estimate Savings
SaaS Dashboard 3h 42m 2-3 weeks ~90%
E-commerce Admin 4h 15m 3-4 weeks ~95%
Blog Platform 2h 58m 1-2 weeks ~85%
Task Manager API 1h 45m 1 week ~75%
Landing Page 52m 3-5 days ~80%

That's 5 complete projects in under 13 hours of actual coding time.


Key Principles

1. AI is a Co-pilot, Not an Autopilot

You still need to make architectural decisions, review code quality, and ensure the final product meets your standards. AI accelerates execution; it doesn't replace judgment.

2. Context is Everything

The quality of AI output is directly proportional to the quality of your input. Spend 30 minutes writing a great prompt instead of 3 hours fixing bad code.

3. Iterate in Small Batches

Don't try to generate an entire app at once. Build feature by feature, test each one, then move on. This makes debugging easier and keeps the AI focused.

4. Keep a Prompt Library

Save your best prompts. Reuse templates. Over time, you'll build a personal collection that makes each project faster than the last.

5. Learn from the AI

Claude often suggests patterns or libraries I haven't tried. I've discovered shadcn/ui, Zod, and several best practices just by paying attention to what the AI recommends.


Common Pitfalls to Avoid

"Just Build It" Syndrome

Don't skip Phase 1. Every hour spent planning saves 3 hours of debugging. I learned this the hard way after a project where Claude generated a completely wrong architecture because I didn't specify my requirements clearly.

The Copy-Paste Trap

Always read and understand the code Claude generates. You'll catch bugs, learn new patterns, and be able to maintain the codebase. If you don't understand a piece of code, ask Claude to explain it before using it.

Scope Creep

Stick to the MVP. It's easy to say "while you're at it, add this feature too." Every additional feature extends your timeline. Ship first, iterate later.

Ignoring Edge Cases

Claude is great at happy-path code. It's your job to think about what happens when: the API is down, the user has no data, the form is submitted twice, the file is too large, etc. Always ask for error handling explicitly.


Tools in My Stack

  • Claude (Anthropic) — Primary AI assistant for code generation
  • Next.js 14 — React framework with App Router
  • TypeScript — Type safety catches bugs before runtime
  • Prisma — Type-safe database ORM
  • TailwindCSS + shadcn/ui — Rapid UI development
  • Vercel — One-click deployment
  • Supabase — Managed PostgreSQL database

Final Thoughts

This workflow isn't about replacing developers — it's about multiplying their output. The developers who learn to work effectively with AI will ship 5-10x faster than those who don't.

The 4-hour full-stack app isn't a gimmick. It's the new normal for developers who invest in learning how to communicate with AI effectively.

Start with your next side project. Follow the framework. Track your time. I'd love to hear your results.

What's the fastest you've built something with AI? Drop it in the comments. 👇

Top comments (0)