ParitLAB
← Lab Notes

Guides · 2026-10-04

What Is Vibe Coding? From an Idea to a Working Prototype with AI

Published by ParitLAB
Field notes from designing, building and testing our products

Vibe coding, AI, programming, prototype, prompt, software development

Imagine describing a small website to an AI, opening what it builds, and asking for changes until it behaves the way you want. That conversational loop is often called vibe coding.

What does the term mean?

Andrej Karpathy introduced the term in February 2025 to describe letting AI generate code while focusing on results rather than reading each change. People now use it more broadly for building through conversation, but skipping code review is central to the original meaning. Read the archived Karpathy description.

The loop is simple: describe → generate → try → adjust. Ask for a task list, try adding an item, then request an editing button or a better mobile layout.

Is all AI-assisted programming vibe coding?

No. A developer who reviews, understands and tests AI-generated code is still practising software development with AI assistance. Simon Willison explains this distinction in Not all AI-assisted programming is vibe coding.

This distinction helps set expectations. Producing a screen quickly is a starting point. Correct data, maintainable behaviour and a usable experience need further checks.

A first project: a personal task list

Start with a small problem whose results you can check. Use sample data and leave accounts and external integrations for later. Try this prompt:

Build a personal task-list website in Thai. Let me add a task, mark it complete, rename it and delete one item at a time. Make it work on mobile. Store the list in this browser on this device, and show an empty-state message when there are no tasks. Before starting, explain what you will build and which files you will use.

Try adding an item, completing it, renaming it and reloading the page. If something fails, give the AI the steps and expected result: “I added a task and reloaded. The task disappeared. I want it to remain when I reopen the same browser.”

Browser storage belongs to that browser and device. It does not automatically sync to another device and may disappear when website data is cleared. Explain this limit in the interface.

A practical starting sequence

  1. Choose one problem: for example, keeping tasks on one screen.
  2. Define observable behaviour: list the actions and the empty state.
  3. Build a small prototype: use sample data and keep each version.
  4. Try real steps: check empty input, long text, reloads and a phone-sized screen.
  5. Adjust one issue at a time: describe what happened, what you expected and how to reproduce it.
  6. Review before expanding: have someone who understands the system check data handling and important behaviour.

Where can you start?

A timer, a small planner, a trial webpage or a mock product screen gives you a clear boundary and an easy way to judge the result. A prototype can help you decide whether an idea is convenient enough to develop further.

Accounts, multiple users, customer records and external integrations add responsibilities. Scale design and review with that complexity. An interface that opens successfully is only one piece of evidence.

Before sharing with real users

Vibe coding can turn an idea into something you can try quickly. Use the prototype to discover what to build next, then verify readiness with checks appropriate to the job.