30-Day Vibe Coding Challenge: Zero to Developer
Thirty days. Four weeks. One goal: go from watching YouTube tutorials to having a deployed app, a documented portfolio, and your first job application in. This is the plan that gets you there without burning out.
Alex Chen
Senior Developer & AI Tools Writer
Before you start: the right mindset
Most learning plans fail because they optimise for knowledge over output. You spend four weeks watching tutorials, taking notes, and feeling like you're learning — but you haven't actually built anything. When a recruiter asks "show me something you made", you have nothing.
This plan is different. From day one, you're building. The mini-challenges are deliberately small because small wins compound. By day 30, you won't have "learned vibe coding" — you'll have shipped three real projects.
Two ground rules: First, no tutorial hell. Watch enough to understand the concept, then build. Second, share your progress publicly — post on LinkedIn or Twitter/X as you go. It creates accountability and builds the public profile that employers will see before they even read your CV.
Week 1: Set up your tools and ship something tiny
Goal: Have a deployed app live on the internet by day 7.
Days 1–2: Environment setup
- Install Cursor (cursor.com) — your AI-powered code editor
- Install Node.js (LTS version from nodejs.org)
- Create accounts: Supabase, Vercel, GitHub
- Read through Guide 1 in full before starting it
Day 1 challenge: Get "Hello World" running at localhost:3000. Post a screenshot.
Days 3–5: Build the waitlist app
Follow Guide 1 step by step. Don't skip the Supabase setup — having a working database is the milestone for this week.
- Day 3: Get the landing page UI working
- Day 4: Connect Supabase, get the form saving to a database
- Day 5: Add one piece of personalisation (a features section, a counter, anything)
Day 5 challenge: Submit your own email to your waitlist form and verify it appears in Supabase.
Days 6–7: Deploy and share
- Deploy to Vercel (follow the steps in Guide 1)
- Test the live app — sign up with a real email
- Write a short post about what you built and share it publicly
Week 1 milestone: A live URL you can share with anyone. You're a builder now.
Week 2: Add a database and learn to prompt for CRUD
Goal: Build an app with real data — create, read, update, and delete.
CRUD (Create, Read, Update, Delete) is the foundation of every data-driven application. This week you'll build a simple app that manages a list of something — it could be tasks, bookmarks, ideas, recipes. Pick something you'd actually use.
Days 8–10: Plan and scaffold
- Read Guide 2 (the Toolkit) to understand Supabase deeply
- Design your database table in the Supabase SQL editor
- Use Cursor to scaffold the project: list view, form to add items, item detail page
Day 8 prompt to try: "Design a Supabase schema for a [your idea] app. What tables and columns do I need? Show me the SQL to create them."
Days 11–12: Implement CRUD
Use Cursor to build each operation one at a time. Don't try to do everything at once — get Create working, then Read, then Update, then Delete. Test after each step.
Sample prompts:
"Add a form that inserts a new [item] into my Supabase [table] table. Show loading and error states."
"Add a delete button to each [item] card that removes it from Supabase and updates the UI immediately."
Days 13–14: Polish and deploy
- Add basic sorting and filtering
- Handle empty states (what does the page look like with no items?)
- Deploy and write a short README explaining what the app does
Week 2 milestone: A working CRUD app, deployed, with a README. Add it to your GitHub.
Week 3: Add auth and payments, deploy publicly
Goal: Build something people could actually pay for.
This is the week that separates hobbyists from builders. Adding authentication means each user has their own data. Adding payments means someone could theoretically give you money for your app. Even if no one does, having done it is the differentiator.
Days 15–17: Authentication
Take your CRUD app from week 2 and add Supabase Auth. When users sign in, they should only see their own data. The magic of row-level security in Supabase makes this surprisingly clean.
Day 15 prompt: "Add Supabase email/password authentication to my Next.js app. Create a sign-in and sign-up page. Redirect to /dashboard after login. Update my Supabase table with a user_id column and add row-level security so users only see their own rows."
Days 18–19: Stripe payments
Add a simple paywall: free users get 5 items, paid users get unlimited. This introduces the Stripe Checkout flow and the concept of feature gating.
- Create a Stripe account (test mode) and a $9/month price
- Add a "Upgrade" button that creates a Stripe Checkout session
- Handle the success/cancel redirect
- Gate the feature based on the user's subscription status
Days 20–21: Deploy and test with real users
- Deploy the full app to Vercel with all environment variables
- Share it with 3 friends and watch them use it (or ask them to try to break it)
- Write a README documenting the architecture and how auth/payments work
Week 3 milestone: An app with auth and payments, tested by real humans. This is your portfolio centrepiece.
Week 4: Polish, document, share, and apply
Goal: Turn your projects into job applications.
Days 22–24: Portfolio page
- Build a simple personal portfolio site (Next.js + Vercel, naturally)
- Include all three projects with live links, READMEs, and Loom videos
- Write 2–3 sentences about each project explaining what it does and what you learned
Days 25–27: Update your CV and profiles
- Update your LinkedIn with the projects (LinkedIn shows project sections — use them)
- Pin your top repos on GitHub
- Update your CV to include the projects and the specific skills: Next.js, Supabase, Stripe, Vercel
- Read Guide 5 (the honest career guide) for how to talk about these in interviews
Days 28–30: Applications
Apply to 10 jobs. Not 100 — 10. Quality beats quantity. Read each job description carefully and tailor your cover note to show you understand the specific role.
- Browse vibe coding jobs on this site
- Look for roles that mention Next.js, Supabase, or "AI-assisted development"
- Apply to roles one level below what you think you qualify for — that's the right calibration for a career changer
- Set up job alerts so new relevant roles come to your inbox automatically
Day 30 milestone: 10 applications sent, alerts set up, portfolio live. You're in the game.
Communities and resources to help you along
You don't need to do this alone. These communities are where vibe coders hang out, share what they're building, and help each other:
- Twitter/X — search #vibecoding and #buildinpublic. Post your updates here.
- Indie Hackers — particularly good for the SaaS builder mindset
- Supabase Discord — excellent for database and auth questions
- Cursor Community — tips on prompting and using Cursor effectively
- r/webdev and r/nextjs — general help when you're stuck
What to do if you fall behind
Life happens. If you miss a day, don't try to catch up by doubling the next day. Just continue from where you are. A 30-day challenge that takes 45 days and produces real deployed projects beats a 30-day challenge you abandon on day 12.
The only unrecoverable failure mode is quitting. Slow is fine.
After day 30
Day 30 is the beginning, not the end. After completing the challenge, you'll have:
- Three deployed projects demonstrating progressively advanced skills
- A portfolio page and documented GitHub profile
- A working knowledge of the core vibe coding stack
- Job applications in progress
Whether you land a job in week 5 or week 12, the projects are permanent. They keep working for you. And every subsequent project you build makes the portfolio stronger.
Before you apply, read Guide 5: Career Change to Vibe Coding — the honest version. It covers salary expectations, how to talk about your portfolio in interviews, and which backgrounds transfer best. It'll save you from common mistakes in your applications.
Related Articles
Browse Related Remote Jobs
Find remote developer jobs that match the topics in this article.
Daily digest
The best vibe coding jobs, in your inbox
Curated remote dev roles at async-first, no-BS companies. No spam, unsubscribe anytime.