GPTPROMPTS.AI
STEP-BY-STEP TUTORIAL Β· 2026

Vibe Coding Tutorial: Build Your First App in 30 Minutes

No coding experience required. You will go from zero to a live, working task manager app, using only plain English prompts. Step-by-step, exactly what to type.

⏱ 30 minutes
πŸ›  Tool: Lovable
πŸ’» No code needed
πŸš€ Live URL at the end
Recommended toolLovableBuild apps and websites by chatting, no coding required.Start building

Affiliate link, we may earn a commission at no extra cost to you.

Vibe coding sounds simple in theory, describe what you want, AI builds it, but the first session is where most beginners get stuck. Not because it is hard, but because the prompts are too vague, the iteration approach is wrong, or they try to build too much at once.

This tutorial removes the guesswork. You will build a real task manager app, not a toy demo, using exact prompts that are proven to produce working output. By the end you will have a live URL you can share and a mental model for how to build your own projects from scratch.

The tool for this tutorial is Lovable. It is the closest thing to a "type your idea and get a working app" experience available in 2026. If you prefer an alternative, Base44 follows the same workflow, the prompts are identical.

What you will build

A task manager app with the following features:

  • β€’ Task list with title, priority badge, due date, and status
  • β€’ Create, edit, and delete tasks via a modal form
  • β€’ Filter tasks by status: All, Todo, In Progress, Done
  • β€’ Priority color-coding: Low / Medium / High
  • β€’ Sidebar showing live task counts per status
  • β€’ Drag-and-drop reordering (added in Step 5)
  • β€’ Live public URL at the end

Tool used in this tutorial Β· Sponsored

Lovable is the AI app builder used throughout this tutorial. The free plan covers everything in these steps, no credit card required. Open it in a second tab before you start Step 1. Affiliate link, I earn a commission if you sign up, at no cost to you.

Open Lovable (free) β†’

The 6-Step Tutorial

01

Create a free Lovable account and start a new project

⏱ 3 minutes

Go to lovable.dev and sign up with your email or Google account. Once logged in, click 'New project'. You will land on an empty chat interface, this is where you type your prompts. Lovable also offers a GitHub connection if you want your code synced to a repo, but skip that for now.

Note: The free plan gives you enough generations to complete this tutorial. No credit card required.
02

Write your first prompt, the app foundation

⏱ 2 minutes to write, 3-5 minutes to generate

Your first prompt defines the entire architecture. Be specific about what the app does, what data it stores, and how it should look. Vague prompts produce generic output. Here is the exact prompt to use for a task manager app:

Paste this prompt exactly
Build a task manager app. Data: a tasks table with id, title, description, due_date, priority (Low/Medium/High), status (Todo/In Progress/Done), and created_at. UI: a clean two-column layout, left sidebar showing task count by status, right main area with a task list. Each task shows title, priority badge (color-coded: grey for Low, yellow for Medium, red for High), due date, and status. A 'New task' button opens a modal form to create a task. Clicking a task row expands an inline edit panel. Filters at the top: All, Todo, In Progress, Done. Clean white background, violet accent color (#7c3aed). Mobile responsive.
Note: Lovable will generate the full app, frontend, backend API, and database schema, in about 3-5 minutes. Watch the chat output stream as it builds.
03

Preview the generated app and note what to fix

⏱ 5 minutes

Lovable shows a live preview alongside the code. Click through your app: try creating a task, changing its status, filtering the list. Write down three things that are wrong or missing. Do not try to fix everything at once. Pick the most important issue, usually something structural like missing functionality, and address that first.

Note: Common first-draft issues: filter buttons do not work, priority badges show wrong colors, the modal form is missing a field. All fixable with one targeted prompt each.
04

Iterate with targeted one-issue prompts

⏱ 10-15 minutes across 3-5 iterations

Write one targeted follow-up prompt per issue. Do not bundle multiple fixes. Here are example refinement prompts for the task manager, use whichever match what is broken in your output:

Example one-issue refinement prompts, use whichever match your output:

The filter buttons at the top are not filtering the task list. Clicking 'In Progress' should show only tasks with status 'In Progress' and hide the others.
The priority badge colors are all the same. Low should be grey (#94a3b8), Medium should be amber (#f59e0b), High should be red (#ef4444). Apply these consistently across the task list and the detail panel.
The 'New task' modal is missing a due date field. Add a date picker input between the description field and the priority dropdown.
When I click a task row, nothing happens. Clicking a row should expand an inline edit panel below it showing all fields, title, description, due date, priority, status, with Save and Cancel buttons.
The left sidebar task counts are not updating when I change a task status. Make the counts reactive, they should update immediately when any task moves between statuses.
05

Add a feature: status drag-and-drop or keyboard shortcuts

⏱ 5 minutes

Once the core task manager works correctly, add one meaningful feature upgrade. This demonstrates the power of iterative vibe coding, adding real product polish in a single prompt. Choose whichever fits your use case:

Paste this prompt exactly
Add drag-and-drop reordering to the task list. Users should be able to drag tasks up and down to change their order within the current filter view. Persist the order to the database, add an 'order' integer column to the tasks table and update it when a drag completes.
Note: Alternative prompt: 'Add keyboard shortcuts: N to open the new task modal, Escape to close any open modal or edit panel, and 1/2/3 to switch filters between All/Todo/In Progress.' Both are achievable in one prompt with Lovable.
06

Get your live URL and share it

⏱ 1 minute

Lovable automatically deploys your app to a public URL as you build. Find the 'Share' or 'Preview' button in the top-right of the Lovable interface, this is your live app URL. Copy it and open it in a new browser tab to confirm it works outside of Lovable's editor. Send it to someone to test.

Note: To connect a custom domain or export the code to GitHub for self-hosting, use Lovable's Settings panel. The code is yours, standard Next.js that works on any hosting platform.

Prefer Base44? Same Tutorial, Same Prompts

Base44 is a direct alternative to Lovable for this tutorial. The prompts are identical, Base44 reads natural language in the same way. The key differences you will notice are interface layout (Base44 has a more minimal editor), data handling (Base44 excels at internal tools and data-intensive apps), and the default visual style of generated apps.

For a task manager, both tools produce comparable results. If your first Lovable generation does not match the description above, try the same first prompt in Base44, some prompts respond differently to each tool's internal architecture.

Advanced Base44 patterns worth knowing: it handles multi-user data isolation well out of the box, and its generated apps tend to handle sorting and filtering with less iteration. For the drag-and-drop step (Step 5), Base44 may require a more explicit prompt: "Add drag-and-drop reordering using the HTML5 Drag and Drop API, not a library, and persist order via an integer 'position' column."

Alternative tool for this tutorial Β· Sponsored

Base44 is worth trying alongside Lovable, particularly if you are building data-heavy tools or internal dashboards. The same prompts from this tutorial work directly in Base44's editor. Affiliate link, I earn a commission if you sign up, at no cost to you.

What to Build Next

You have a working task manager. Here are the five most common next-step additions, with the exact prompt to use for each. Each takes one or two follow-up prompts.

User accounts and login
Add email and password authentication using Supabase Auth. Redirect unauthenticated users to /login. After login, redirect to /tasks. Each task should have a user_id column, users can only see their own tasks. Show the logged-in user's email in the top navigation with a Sign out button.
Team sharing and task assignment
Add team functionality. Create a team_members table linking users to a team. Tasks get an assignee_id field (any team member). On the task form, add an 'Assign to' dropdown showing all team members. Add a filter for 'My tasks' vs 'All team tasks'. Team members can see each other's tasks but only edit their own.
Email reminders for due tasks
Add a daily email reminder that runs at 8am UTC. For each user, find tasks with status 'Todo' or 'In Progress' that have a due_date today or earlier. Send a Resend email to the user listing those tasks with title, priority, and due date. Subject: 'You have [N] tasks due today'. Use environment variable RESEND_API_KEY.
Mobile-optimized view
Optimize for mobile screens under 640px. On mobile: hide the left sidebar, replace the filter buttons with a horizontal scrollable tab strip at the top, make each task card full-width with a larger tap target, and show the 'New task' button as a fixed floating action button in the bottom-right corner.
Slack integration
Add a Slack notification when a high-priority task is created. Use the Slack Incoming Webhooks API. When a task is created with priority 'High', send a POST request to SLACK_WEBHOOK_URL with a message: 'New high-priority task: [title], due [due_date], assigned to [assignee name if set].' Store SLACK_WEBHOOK_URL as an environment variable.

Frequently Asked Questions

Related Guides

Don't stop here

What to read next

Hand-picked guides our readers explore right after this one.