Vibe Coding for People Who've Never Coded

6 modules · Free forever · Build a real Kanban board app from scratch

Module 1

What Is Vibe Coding?

Quick Summary

  • The internet is made of pages built with code (HTML, CSS, JavaScript)
  • AI can write that code for you when you describe what you want
  • Vibe coding = describe → AI builds → you review → repeat
  • You'll build a real Kanban board app by the end of this course

Already know this? Skip to Module 2 →

What is the internet?

Think of the internet like a giant library. Every website is a book in that library. When you type a website address (like google.com), you're asking the library to find that book and show it to you.

The "book" lives on a computer somewhere in the world — called a server — that's always switched on and connected to the internet. When you visit a website, your computer fetches that book from the server and displays it on your screen.

What makes a website work?

Every website is built from 3 things. You don't need to learn them — just know they exist:

  • HTML — the words and pictures (like the pages of a book)
  • CSS — how it looks (the fonts, colours, spacing)
  • JavaScript — things that move or change (like a button you click)

In the old days you had to write all of this by hand. Learning to do that well took years. That's what people mean when they say "I know how to code."

What is AI?

AI is a computer program that's very good at predicting what comes next — like autocomplete on your phone, but a million times smarter and better trained.

When you type a sentence describing what you want, the AI figures out what code would match your description and writes it. You describe, it builds.

So what is vibe coding?

Vibe coding = using AI to write the code for you.

You describe what you want in plain English. The AI writes the code. You open it in your browser and check it looks right. If something's off, you describe the fix. The AI fixes it. Repeat until it's done.

You never write a single line of code yourself.

What you'll build in this course

A Kanban board — a task management tool with three columns:

  • 📋 To Do — tasks you haven't started yet
  • 🔄 In Progress — tasks you're working on now
  • ✅ Done — tasks you've finished

You'll be able to add tasks, move them between columns, and delete them. The data will save to a real database. The app will be live on the internet, at a real URL, that anyone can visit.

Frequently Asked Questions

Do I need to know anything about computers to start?
No. If you can use a website or send an email, you have all the computer knowledge you need.
Is vibe coding "real" coding?
Your app will be real — it'll run on real servers, save real data, and have a real URL. Whether you call the process "real coding" is just words. What matters is that it works.
Which AI should I use?
Claude (made by Anthropic) and GPT-4o (made by OpenAI) are both excellent for writing code. For this course we use Claude because it writes clean, readable code. The prompts in this course work with either.
How long will this course take?
Most people finish in 2–4 hours spread across a few sessions. Each module takes 20–30 minutes.
What if the AI makes a mistake?
It will — and that's completely normal. You just describe what's wrong and ask it to fix it. We'll practice this in Module 3.

Module 2

Set Up Your Tools

Quick Summary

  • You need 4 free tools: Cursor (editor), GitHub (code storage), Supabase (database), Vercel (hosting)
  • No credit card needed for any of them
  • Each section below has a video walkthrough
  • Setup takes about 20–30 minutes total

Already know this? Skip to Module 3 →

Tool 1

Cursor, Your AI-Powered Editor

Cursor is where you'll spend most of your time. Think of it like Microsoft Word, but instead of writing documents, you're describing your app — and an AI assistant inside it does the actual writing. It's free to start.

Steps to set up Cursor:

  1. 1Go to cursor.com
  2. 2Click the big Download button
  3. 3Open the downloaded file and install it (same as installing any app)
  4. 4When it opens, click Sign Up and create a free account
  5. 5It may ask to import VS Code settings — you can skip this
  6. 6You're in. File explorer on the left, big empty area in the middle.

Video Walkthrough

Alternative to Cursor: Bolt.new or Lovable run entirely in your browser. The prompts in this course work the same way.

Frequently Asked Questions

Is Cursor really free?
Yes. The free plan gives you plenty of AI usage to complete this course.
I see it says 'VS Code' somewhere. What's that?
VS Code is another popular code editor. Cursor is built on top of it. You don't need to know anything about VS Code — just use Cursor.
I'm on Windows, will it work?
Yes. Cursor works on Windows, Mac, and Linux.

Tool 2

GitHub, Where Your Code Lives

GitHub is like Google Drive, but for code. Every time you save your work, it goes to GitHub. Later, Vercel reads your code from GitHub and puts your app live. It's free.

Steps to set up GitHub:

  1. 1Go to github.com
  2. 2Click Sign up in the top right
  3. 3Enter your email, create a password, choose a username
  4. 4Verify your email (check your inbox)
  5. 5When it asks about your plan, choose Free
  6. 6Click the + icon → New repository
  7. 7Name it kanban-app → scroll down → click Create repository
  8. 8Keep this page open — you'll need the URL in Module 6

Video Walkthrough

Frequently Asked Questions

What's a repository?
A repository (or "repo") is just a folder where your project lives on GitHub. Think of it like a project folder on your computer, stored safely online.
Do I need to understand Git commands?
Not really. Cursor has a built-in tool to push your code to GitHub with a few clicks. We'll use that in Module 6.
Is GitHub free?
Yes. The free plan is more than enough for this course and for personal projects.

Tool 3

Supabase, Your App's Database

Supabase is your app's memory. When someone adds a task to your Kanban board, Supabase saves it. When they come back, Supabase shows it again. Think of it like a Google Sheet that your app can read and write to automatically.

Steps to set up Supabase:

  1. 1Go to supabase.com
  2. 2Click Start your project
  3. 3Sign up with GitHub (easiest) or your email
  4. 4Click New project
  5. 5Name it kanban-app
  6. 6Choose a strong database password (save it somewhere)
  7. 7Pick the region closest to you
  8. 8Click Create new project and wait ~2 minutes
  9. 9Go to Project Settings → API
  10. 10Copy both the Project URL and the anon / public key — save them in a text file for Module 5

Video Walkthrough

Frequently Asked Questions

What's a database?
A database is like a spreadsheet that your app reads and writes automatically. You don't open it manually — your app does it for you.
What's the anon key?
It's a password that lets your app talk to your database. It's safe to use in your app's code for reading and writing basic data.
Is Supabase free?
Yes. The free tier gives you 500MB of storage and up to 50,000 monthly active users — more than enough.

Tool 4

Vercel, Where Your App Goes Live

Vercel takes your code from GitHub and puts it on the internet. Every time you make a change and push to GitHub, Vercel updates your live app within 30 seconds. Your app gets a free URL like kanban-app.vercel.app.

Steps to set up Vercel:

  1. 1Go to vercel.com
  2. 2Click Sign Up
  3. 3Choose Continue with GitHub — this links Vercel to your GitHub account
  4. 4You'll land on your Vercel dashboard — it's empty for now. That's fine.

Video Walkthrough

Frequently Asked Questions

Why does Vercel need my GitHub?
Vercel deploys your code from GitHub. When you push new code to GitHub, Vercel automatically updates your live app.
Is Vercel free?
Yes. The Hobby plan is free forever for personal projects.
Can I use a custom domain?
Yes — you can connect your own domain to Vercel for free. We won't cover this in the course, but it's straightforward once your app is live.

Module 3

How to Talk to AI

Quick Summary

  • A "prompt" is just what you type to the AI — like a text message
  • Specific, detailed prompts get much better results than vague ones
  • You have choices: Claude, GPT-4o, Gemini — all work similarly
  • When something goes wrong, describe what you see and what you want instead

Already know this? Skip to Module 4 →

Pick your AI

All of these can write code. Use whatever you prefer:

AIWhere to use itBest for
Claude (Anthropic)Cursor (built in) or claude.aiClean code, long context
GPT-4o (OpenAI)Cursor (built in) or chatgpt.comVery widely used, fast
Gemini (Google)Cursor (built in) or gemini.google.comGood for Google tools

Pick your editor

ToolHow it worksBest for
CursorDownload app, AI insideMost control
Bolt.newBrowser only, instant startNo downloads
LovableBrowser, visual + AIBeginners who want speed
WindsurfDownload app, similar to CursorAlternative to Cursor

What is a prompt?

A prompt is just what you type to the AI — like a text message to a very smart assistant. The clearer you are, the better the result.

Bad prompt:

Example — too vague

Make me an app

Good prompt:

Example — specific and detailed

Create a Kanban board web app using HTML, CSS, and JavaScript.
It should have three columns: "To Do", "In Progress", and "Done".
Each column should have a button to add a new task card.
Task cards should have a title and a right-arrow button that moves them to the next column.
Cards in the "Done" column should have a delete button instead.
The design should be clean and minimal with a white background and subtle card shadows.

The prompt formula

Template

Create [what you want].
It should have [specific features].
When someone [does action], it should [result].
The design should be [style description].
Use [technology or colours if you have a preference].

The "fix it" formula

When something looks wrong, describe what you see:

Fix-it template

The "Move Right" button on cards in the "In Progress" column is not visible.
Please make it visible and style it as a small blue button.

Starter prompt for your Kanban board

Press Cmd+L (Mac) or Ctrl+L (Windows) in Cursor to open the AI chat, then paste this:

Your first prompt — copy and paste this

Create a Kanban board web app as a single HTML file called index.html.

The board should have three columns: "To Do", "In Progress", and "Done".

Each column should:
- Have a bold heading at the top
- Show a list of task cards
- Have an "Add Task" button at the bottom that shows an input for typing a task name

Each task card should:
- Show the task title
- Have a right-arrow (→) button to move it to the next column
- Have a delete (×) button to remove it from the board

The "Done" column should not have a right-arrow button.

Style it with:
- Light grey (#f4f4f5) page background
- White column backgrounds with rounded corners
- Subtle drop shadows on cards
- Blue "Add Task" buttons
- Clean font (use system-ui or Inter from Google Fonts)

Store the tasks in the browser's localStorage so they persist after page refresh.

Frequently Asked Questions

Which AI gives better code — Claude or GPT-4o?
Both are excellent. Claude tends to write cleaner code with fewer bugs. GPT-4o is faster. Try both and use whichever feels right.
What if the AI gives me something completely different from what I asked?
Add more detail. Add a follow-up: "That's not quite right. I specifically need [describe what's missing]."
Can I just paste the prompts from this course?
Yes. The prompts in this course are ready to copy and paste.
The AI keeps asking me questions instead of writing code.
Add this to the end of your prompt: "Don't ask clarifying questions, just build it."
How many times can I ask the AI to fix things?
As many times as you need. There's no limit. Professional developers go back and forth with AI dozens of times per feature.

Module 4

Build Your Kanban Board

Quick Summary

  • Open Cursor, create a new project folder called kanban-app
  • Open the AI chat with Cmd+L / Ctrl+L
  • Paste the starter prompt — the AI writes all the code
  • Preview in your browser, then make changes by describing them

Already know this? Skip to Module 5 →

Step 1: Open Cursor and create your project

  1. 1Open Cursor on your computer
  2. 2File in the top menu → Open Folder
  3. 3Navigate to your Desktop → New Folder → name it kanban-app → click Open
  4. 4You'll see an empty file list on the left. That's your project. It's blank for now.

Step 2: Open the AI chat

Press Cmd+L (Mac) or Ctrl+L (Windows). A chat panel opens on the right. Everything you type here goes to the AI.

Step 3: Build the board with your first prompt

Copy the starter prompt from Module 3 and paste it into the AI chat. Press Enter. Watch the AI write the code — it takes 30–60 seconds. When it finishes, you'll see a file called index.html in the left panel.

Step 4: See your app in your browser

Press Ctrl+Shift+P (Windows) or Cmd+Shift+P (Mac) → type Live Preview → click Show Live Preview. Your browser opens showing your Kanban board.

Step 5: Test it

  1. 1Click Add Task in the "To Do" column
  2. 2Type a task name — a card should appear
  3. 3Click — it should move to "In Progress"
  4. 4Click again — it should move to "Done"
  5. 5Click × — it should disappear
  6. 6Refresh the page — tasks should still be there (localStorage)

Step 6: Make changes by describing them

Follow-up prompt

Add a task count badge to each column heading showing how many tasks are in it.

Follow-up prompt

Make the card background slightly different per column:
- To Do: white
- In Progress: light blue tint (#f0f7ff)
- Done: light green tint (#f0fdf4)

Frequently Asked Questions

The AI made a file but I can't find it.
Look at the left sidebar panel in Cursor. If you don't see index.html, click the refresh icon at the top of the sidebar.
The Live Preview isn't working.
In the AI chat, type: "Can you show me how to open index.html in my browser from Cursor?"
The AI wrote code but the board looks blank or broken.
In the AI chat, type: "The page is blank when I open index.html. Can you check the code for errors and fix them?"
Tasks disappear when I refresh the page.
In the AI chat, type: "Tasks are disappearing when I refresh the page. Please make sure they are saved and loaded from localStorage correctly."
How do I undo a change the AI made that broke something?
Press Cmd+Z (Mac) or Ctrl+Z (Windows). Or tell the AI: "The last change broke the layout. Please revert it."

Module 5

Save Tasks to Supabase

Quick Summary

  • Right now tasks are in your browser only — they vanish on another device
  • Supabase gives your app a real database so tasks persist everywhere
  • You'll create a tasks table and connect it to your board
  • This module takes about 20 minutes

Already know this? Skip to Module 6 →

Why do we need Supabase?

Right now tasks are stored in localStorage — a small amount of memory inside your browser. Open the app on a different computer: no tasks. Clear your browser: tasks gone.

Supabase gives your app a real database on the internet. Tasks are saved there. Anyone who opens your app sees the same tasks.

Step 1: Create the tasks table

  1. 1Go to supabase.com and log in
  2. 2Click on your kanban-app project
  3. 3Click Table Editor in the left sidebar
  4. 4Click New Table
  5. 5Name it: tasks
  6. 6Add column: title — type text — uncheck "nullable"
  7. 7Add column: status — type text — default value: todo
  8. 8Leave the id and created_at columns already there
  9. 9Click Save

Step 2: Allow your app to read and write tasks

  1. 1In Supabase, click Authentication in the left sidebar → Policies
  2. 2Find the tasks table → click New Policy
  3. 3Choose Enable read access for all users → Save
  4. 4Click New Policy again → Enable insert access for all users → Save
  5. 5Repeat for update and delete

Step 3: Connect your app to Supabase

Get your Supabase URL and anon key from Project Settings → API. You saved these in Module 2.

Paste this into Cursor AI chat

Update my Kanban board to use Supabase instead of localStorage.

My Supabase URL is: [paste your URL here]
My Supabase anon key is: [paste your key here]

Changes needed:
1. Load tasks from Supabase on page load (select all rows from the "tasks" table)
2. When adding a task, insert a new row with the title and status
   (use "todo", "in-progress", or "done" as the status value)
3. When moving a task with the → button, update its "status" in Supabase
4. When deleting a task with the × button, delete its row from Supabase

Use the Supabase JavaScript library via CDN (add it as a script tag in the HTML).

Step 4: Test the database connection

  1. 1Open your app in the browser and add a task
  2. 2Go to Supabase → Table Editortasks — you should see a new row
  3. 3Move the task to "In Progress" — refresh Supabase and the status should update
  4. 4Open the app in a different browser tab — the task should appear there too

Frequently Asked Questions

I see an error about "CORS" or "not allowed."
Supabase is blocking the request. Make sure you've completed Step 2. Also ask the AI: "I'm getting a CORS or permission error when connecting to Supabase. Can you help me debug it?"
The app loads but shows no tasks.
Check the table name in the code matches exactly — it must be "tasks" (lowercase). Also verify the Supabase URL and anon key are correct.
Is my Supabase anon key secret?
The anon key is designed for front-end code. It's not a big secret for personal projects. The service role key is secret — never use that in your front-end code.
Can multiple people use the board at the same time?
Yes — because the data is in Supabase, anyone who opens the URL sees the same tasks.
What do "todo", "in-progress", and "done" mean in the database?
These are the status values we store to track which column a task is in. The code maps each status to a column on the board.

Module 6

Go Live with Vercel

Quick Summary

  • "Deploying" = copying your app to a server so anyone can visit it
  • Push your code to GitHub → Vercel picks it up automatically
  • Your app gets a free URL like kanban-app.vercel.app
  • Every future change deploys in ~30 seconds

This is the last module — you're almost there!

Step 1: Push your code to GitHub using Cursor

In Cursor, open the Source Control panel: Ctrl+Shift+G (Windows) / Cmd+Shift+G (Mac).

  1. 1You'll see your changed files listed
  2. 2Click the + next to each file to "stage" it
  3. 3Type a commit message: my kanban app
  4. 4Click the checkmark to commit
  5. 5Click Publish Branch or Push
  6. 6Sign in to GitHub when prompted and choose your kanban-app repository

Alternative: terminal commands

Press Ctrl+` (Windows) or Cmd+` (Mac) to open the terminal in Cursor:

Terminal commands

git init
git add .
git commit -m "my kanban app"
git branch -M main
git remote add origin [your GitHub repo URL]
git push -u origin main

Step 2: Deploy with Vercel

  1. 1Go to vercel.com and log in
  2. 2Click Add New…Project
  3. 3Find kanban-app in your GitHub repos → click Import
  4. 4Leave all settings as default — Vercel detects your project automatically
  5. 5Click Deploy
  6. 6Wait ~30 seconds

Step 3: Get your URL

When Vercel shows "Congratulations!" you'll see a URL like kanban-app.vercel.app. Click it. Your app is live.

Send that URL to anyone. They can use your board right now, from anywhere.

Step 4: Future updates are automatic

  1. 1Edit your code in Cursor
  2. 2Go to Source Control → stage your changes → commit
  3. 3Click Push
  4. 4Vercel detects the new code and redeploys in ~30 seconds

Frequently Asked Questions

The deployment failed.
Click "View Logs" in Vercel. Copy the error and paste into Cursor AI chat: "My Vercel deployment failed with this error: [paste error]. How do I fix it?"
My app works on my computer but not on Vercel.
This is almost always a Supabase key issue. Go to Vercel → Your Project → Settings → Environment Variables → add SUPABASE_URL and SUPABASE_ANON_KEY. Then ask the AI to update your code to read from environment variables.
Can I get a custom domain?
In Vercel → Your Project → Settings → Domains → add your domain. You'll update your domain's DNS settings to point to Vercel.
How do I update my app after it's live?
Make changes in Cursor, commit, and push to GitHub. Vercel automatically picks up the new code and redeploys.
Is Vercel really free forever?
The Hobby plan is free for personal projects. If you start charging users or get very high traffic, you'd consider upgrading.

You did it.

You just built and deployed a real Kanban board app. Without writing a single line of code.

  • A working Kanban board with To Do / In Progress / Done columns
  • Tasks that save to a real database (Supabase)
  • A live URL anyone in the world can visit
  • A GitHub repository with your code
  • Automatic deploys — every change goes live in 30 seconds

Ideas for what to build next: expense tracker · habit tracker · reading list · simple CRM