Full-Stack in 3 Months
A 12-week structured roadmap to become a hireable full-stack developer. React, Node, databases, auth, deployment — mapped to real BigDevSoon full-stack projects: Find Movies, Any Chat, and FoodieGo.
Week-by-week plan
1 Week 1: React refresher + project setup
Refresh React: hooks, state, effects, lists, forms · Set up your dev environment (Node, package manager, editor) · Learn React Query / SWR for data fetching
Week 1: React refresher + project setup
Refresh React: hooks, state, effects, lists, forms · Set up your dev environment (Node, package manager, editor) · Learn React Query / SWR for data fetching
Goals
- • Refresh React: hooks, state, effects, lists, forms
- • Set up your dev environment (Node, package manager, editor)
- • Learn React Query / SWR for data fetching
Projects
- → Quiz App — /projects/quiz-app/ (refresh React fundamentals)
Challenges
- → Card Wallet — /challenges/card-wallet/
- → Pricing Plans — /challenges/pricing-plans/
Practice Problems
- → Reverse String — /problems/reverse-string/
- → Two Sum — /problems/two-sum/
2 Week 2: REST API consumption
Fetch, async/await, error handling · Loading states, retries, optimistic UI · Pagination + infinite scroll
Week 2: REST API consumption
Fetch, async/await, error handling · Loading states, retries, optimistic UI · Pagination + infinite scroll
Goals
- • Fetch, async/await, error handling
- • Loading states, retries, optimistic UI
- • Pagination + infinite scroll
Projects
- → Just Weather — /projects/just-weather/
Challenges
- → Recipe — /challenges/recipe/
- → Article Slider — /challenges/article-slider/
Practice Problems
- → Find Max — /problems/find-max/
- → Sort Array — /problems/sort-array/
3 Week 3: Build your first backend API
Pick a backend stack (Node.js/Express, Next.js API routes, or Supabase) · Build CRUD endpoints with validation · Connect to a database (PostgreSQL or Supabase)
Week 3: Build your first backend API
Pick a backend stack (Node.js/Express, Next.js API routes, or Supabase) · Build CRUD endpoints with validation · Connect to a database (PostgreSQL or Supabase)
Goals
- • Pick a backend stack (Node.js/Express, Next.js API routes, or Supabase)
- • Build CRUD endpoints with validation
- • Connect to a database (PostgreSQL or Supabase)
Projects
- → Pokedex — /projects/pokedex/ (consume + extend with your own API)
Challenges
- → Job Board — /challenges/job-board/
Practice Problems
- → Group Anagrams — /problems/group-anagrams/
- → Three Sum — /problems/three-sum/
4 Week 4: Database schema design
Relational vs document databases · Schema design with foreign keys, indexes · Migrations and seed data · ORMs (Prisma, Drizzle) vs raw SQL
Week 4: Database schema design
Relational vs document databases · Schema design with foreign keys, indexes · Migrations and seed data · ORMs (Prisma, Drizzle) vs raw SQL
Goals
- • Relational vs document databases
- • Schema design with foreign keys, indexes
- • Migrations and seed data
- • ORMs (Prisma, Drizzle) vs raw SQL
Projects
- → Notely — /projects/notely/ (with your own backend)
Challenges
- → Shopping List — /challenges/shopping-list/
Practice Problems
- → Merge Sorted Lists — /problems/merge-sorted-lists/
5 Week 5: Auth — sessions, JWTs, OAuth
Session-based vs token-based auth · JWT structure, signing, validation · OAuth flows (GitHub, Google) · Password hashing, secure cookie storage
Week 5: Auth — sessions, JWTs, OAuth
Session-based vs token-based auth · JWT structure, signing, validation · OAuth flows (GitHub, Google) · Password hashing, secure cookie storage
Goals
- • Session-based vs token-based auth
- • JWT structure, signing, validation
- • OAuth flows (GitHub, Google)
- • Password hashing, secure cookie storage
Projects
- → Notely — /projects/notely/ (add user accounts)
Challenges
- → Sign Up Page — /challenges/sign-up-page/
- → Create Account — /challenges/create-account/
Practice Problems
- → Best Time Buy Sell Stock — /problems/best-time-buy-sell-stock/
6 Week 6: First full-stack project end-to-end
Build a project with frontend, backend, DB, and auth · Deploy frontend (Vercel) + backend (Railway / Render / Fly) · Set up environment variables and secrets properly
Week 6: First full-stack project end-to-end
Build a project with frontend, backend, DB, and auth · Deploy frontend (Vercel) + backend (Railway / Render / Fly) · Set up environment variables and secrets properly
Goals
- • Build a project with frontend, backend, DB, and auth
- • Deploy frontend (Vercel) + backend (Railway / Render / Fly)
- • Set up environment variables and secrets properly
Projects
- → Find Movies — /projects/find-movies/ (your full-stack flagship #1)
Challenges
- → Movie Ticket — /challenges/movie-ticket/
Practice Problems
- → Max Subarray — /problems/max-subarray/
7 Week 7: Real-time + WebSockets
Polling vs SSE vs WebSockets — when each makes sense · Build a realtime chat or live-update feature · Handle reconnects and dropped connections
Week 7: Real-time + WebSockets
Polling vs SSE vs WebSockets — when each makes sense · Build a realtime chat or live-update feature · Handle reconnects and dropped connections
Goals
- • Polling vs SSE vs WebSockets — when each makes sense
- • Build a realtime chat or live-update feature
- • Handle reconnects and dropped connections
Projects
- → Any Chat — /projects/any-chat/ (full-stack realtime chat)
Challenges
- → Messages — /challenges/messages/
- → Notifications — /challenges/notifications/
Practice Problems
- → Top K Frequent Elements — /problems/top-k-frequent-elements/
8 Week 8: File uploads + storage
Multipart form data, file size limits, MIME types · Upload to S3 / Supabase Storage / Cloudinary · Image optimization at the edge
Week 8: File uploads + storage
Multipart form data, file size limits, MIME types · Upload to S3 / Supabase Storage / Cloudinary · Image optimization at the edge
Goals
- • Multipart form data, file size limits, MIME types
- • Upload to S3 / Supabase Storage / Cloudinary
- • Image optimization at the edge
Projects
- → GifTok — /projects/giftok/ (with your own image upload backend)
Challenges
- → Upload Images — /challenges/upload-images/
- → Images Preview — /challenges/images-preview/
Practice Problems
- → Container Most Water — /problems/container-most-water/
9 Week 9: State management at scale
When to lift state, use context, or reach for a store · Server state (React Query) vs client state (Zustand) · Optimistic updates and rollbacks
Week 9: State management at scale
When to lift state, use context, or reach for a store · Server state (React Query) vs client state (Zustand) · Optimistic updates and rollbacks
Goals
- • When to lift state, use context, or reach for a store
- • Server state (React Query) vs client state (Zustand)
- • Optimistic updates and rollbacks
Projects
- → Dashboard — /projects/dashboard/
Challenges
- → Task Board — /challenges/task-board/
- → Dashboard — /challenges/dashboard/
Practice Problems
- → Product Except Self — /problems/product-except-self/
- → Longest Consecutive — /problems/longest-consecutive/
10 Week 10: Payments + e-commerce
Stripe Checkout vs Payment Intents · Webhooks, signature verification · Subscription billing, prorations, cancellations
Week 10: Payments + e-commerce
Stripe Checkout vs Payment Intents · Webhooks, signature verification · Subscription billing, prorations, cancellations
Goals
- • Stripe Checkout vs Payment Intents
- • Webhooks, signature verification
- • Subscription billing, prorations, cancellations
Projects
- → FoodieGo — /projects/foodiego/ (start: cart + checkout flow)
Challenges
- → Add To Bag — /challenges/add-to-bag/
- → Restaurant Reservation — /challenges/restaurant-reservation/
Practice Problems
- → Word Break — /problems/word-break/
11 Week 11: Performance + observability
Frontend perf: code splitting, lazy loading, image optimization · Backend perf: caching, indexes, query optimization · Logging, error tracking (Sentry), basic metrics
Week 11: Performance + observability
Frontend perf: code splitting, lazy loading, image optimization · Backend perf: caching, indexes, query optimization · Logging, error tracking (Sentry), basic metrics
Goals
- • Frontend perf: code splitting, lazy loading, image optimization
- • Backend perf: caching, indexes, query optimization
- • Logging, error tracking (Sentry), basic metrics
Projects
- → FoodieGo — /projects/foodiego/ (continue: optimize + monitor)
Practice Problems
- → Search Rotated Array — /problems/search-rotated-array/
12 Week 12: Ship your full-stack flagship
Polish the UI to match Figma pixel-perfect · Custom domain, HTTPS, analytics · Write a case study README explaining architecture decisions · Share publicly + collect first user feedback
Week 12: Ship your full-stack flagship
Polish the UI to match Figma pixel-perfect · Custom domain, HTTPS, analytics · Write a case study README explaining architecture decisions · Share publicly + collect first user feedback
Goals
- • Polish the UI to match Figma pixel-perfect
- • Custom domain, HTTPS, analytics
- • Write a case study README explaining architecture decisions
- • Share publicly + collect first user feedback
Projects
- → FoodieGo — /projects/foodiego/ (ship the flagship)
Practice Problems
- → Binary Tree Level Order Traversal — /problems/binary-tree-level-order-traversal/
Three months from “knows React” to “ships full-stack products that work in production.” This plan is for developers ready to learn the backend half of the stack the right way — schemas, auth, deployment, and all.
Who this is for
- You can already build React apps with hooks, state, and API calls
- You have 2–3 hours per day, 6 days per week
- You want to be hireable as a full-stack developer by Week 12
- You want depth — proper schemas, real auth, real deployments
If you’re new to React, start with Frontend in 3 Months and come back here.
What you’ll have at the end
- 3 deployed full-stack apps with backends, databases, and auth:
- Find Movies — REST API consumption + your own backend
- Any Chat — realtime messaging with WebSockets
- FoodieGo (flagship) — full e-commerce with auth, cart, checkout, payments
- 9+ smaller projects completed across the 12 weeks
- 20+ daily challenges completed
- 15+ practice problems solved
- A portfolio with deployed URLs you can show in interviews
- Working knowledge of Node.js, databases, auth, real-time, file uploads, and payments
Tech stack recommendations
Pick one stack and stick with it for the 12 weeks. Don’t switch mid-plan.
- Easiest: React + Supabase (Postgres + auth + realtime + storage in one). Recommended for speed.
- Most flexible: React + Node.js/Express + PostgreSQL + Auth0. Recommended for learning everything from scratch.
- Modern Next.js: Next.js App Router + Prisma + tRPC + Clerk + Vercel Postgres. Recommended if you want to learn Next.js.
How to use this plan
- Ship every week. Even if buggy. Real deployment URL by Sunday.
- Real backend, real database. Don’t fake it with localStorage or mocks.
- Use Merlin AI as a tutor. Open the editor and paste tricky code — ask AI to explain or review.
- Treat each week’s deploy like a real release. Custom subdomain, env vars, DB migrations.
- Public commitment. Share Week 6 (Find Movies) and Week 12 (FoodieGo) projects on Twitter/Dev.to/Reddit.
Milestones
- End of Week 4: First database-backed app deployed
- End of Week 6: First full-stack project with auth (Find Movies)
- End of Week 8: Comfortable with realtime + file uploads
- End of Week 12: Shipped a complex full-stack flagship (FoodieGo) with payments
After Week 12
- Apply for full-stack roles. Your portfolio is genuinely hireable.
- Read the Frontend Interview Playbook 2026 and React Interview Playbook 2026
- Pick a system design problem and design the architecture out loud
- Contribute to open source — start with backend issues to deepen your range
- Build a side project that solves a real problem you have
Ready to start Week 1? Open Quiz App for a React refresher, then we’ll dive into the backend in Week 3. Let’s go.