← Home

How to Start a Vibecoding Project

A practical guide for non-developers. You don't need to know how to code — but you do need to know how to think about your project before AI writes a single line.

⏱ 10 min read

Tools like Cursor, Claude Code, Lovable, and Bolt have changed the game. For the first time, people with zero programming background can describe what they want and get working software in return. This is vibecoding — building software by conversation, not by writing code yourself.

But here's the catch: AI can write code, but it cannot think about your project for you. Without a clear plan and a few simple rules, you'll end up with a tangled mess that works today and breaks tomorrow. Every iteration will make things worse, and eventually you'll be stuck.

This guide gives you the 5 things you need to get right from the start. No jargon, no computer science degree required — just practical steps that will keep your project on track.

01

Be as Descriptive as Possible

When you tell AI what to build, imagine you're explaining the app to a developer on their first day at work. They're smart, but they know nothing about your business. The more detail you provide, the better the result.

Vague instructions lead to generic, unusable code. Specific instructions lead to something that actually matches your vision.

✗ Vague prompt
prompt.txt
Build me a task management app.
✓ Descriptive prompt
prompt.txt
Build a task management app for a 3-person marketing team.
Each task has: title, description, assignee (picked from
a team list), due date, and status (todo / in-progress / done).
The main view is a Kanban board with drag-and-drop.
Users log in with email and password.
Use a simple, clean design — no dark mode needed for now.
Tip

Before prompting, write down a list of who uses the app, what they can do, and what information appears on each screen. This alone will save you hours of back-and-forth.

02

Start with a High-Level Plan

Before writing — or prompting — any code, take a step back and outline what your application should do. Think about the big picture, not the details. What are the main features? Who are the users? What's the core thing the app needs to do?

A high-level plan prevents the most common vibecoding problem: building random features one by one until the project becomes an unmaintainable pile of disconnected parts.

⚠ Without a plan

  • "Add a login page"
  • "Now add products"
  • "Add a cart somehow"
  • "Make payments work"
  • Everything is patched together
  • Each change breaks something else

✓ With a plan

  • Features are grouped logically
  • Dependencies are clear upfront
  • You know what to build first
  • AI understands the full context
  • Changes don't cause chain reactions
  • The project stays manageable

Your plan doesn't need to be fancy. A simple list in a text file is enough:

project-plan.md
# Online Course Platform — MVP Plan

## Core Features (build first)
1. User registration & login
2. Course catalog with search
3. Video player with progress tracking
4. Simple checkout (Stripe)

## Phase 2 (add later)
5. Email notifications
6. Admin dashboard
7. Certificates & badges
8. Analytics & reporting
Tip

Share your plan with the AI at the start of each conversation. It helps the AI make better decisions when it understands where the project is heading.

03

Split the Work into Parts

Don't try to build everything at once. Break your app into independent modules — separate pieces that each handle one area of functionality. Build and test each one before moving to the next.

Here's a typical breakdown for an e-commerce MVP:

🔐
Module
Authentication
Phase 1
📦
Module
Products
Phase 1
🛒
Module
Orders
Phase 1
💾
Module
Data Storage
Phase 1
📧
Module
Emails
Phase 2
🔔
Module
Notifications
Phase 2
💳
Module
Payments
Phase 2
📊
Module
Analytics
Phase 2

Start simple. For data storage, a local file or the simplest database option might be enough for your MVP. You don't need Redis, message queues, and cloud storage on day one. If sending emails is not critical, just store the message locally and add actual email delivery later.

The key is that each module should work on its own. When you build authentication, don't also build the order system at the same time. Finish one, make sure it works, then move on.

Tip

When you prompt AI to build a module, tell it explicitly: "Focus only on the authentication module. Don't touch the order or product code." This prevents AI from rewriting things it shouldn't.

04

Write a Rules File

Most AI coding tools — Cursor, Claude Code, Windsurf, and others — look for a special file in your project (usually called rules.md, CLAUDE.md, or .cursorrules) that tells them how to behave. Think of it as a style guide for your AI developer.

This file contains principles and rules that keep your code clean and consistent, even as the project grows. You don't need to understand these deeply — you just need to know why they matter and include them in your rules file.

Here are the key principles, in plain language:

SOLID

Each piece does one thing

Think of a restaurant: the chef cooks, the waiter serves, the cashier handles payments. Nobody does everything. Your code should work the same way — each piece has one clear job. When something breaks, you know exactly where to look.

DRY

Don't repeat yourself

If the same logic exists in two places, you'll fix a bug in one and forget the other. Write it once, then reuse it everywhere. "Don't Repeat Yourself" means every piece of knowledge should have a single source of truth in your code.

KISS

Keep it simple

"Keep It Simple, Stupid" — the simplest solution that works is always the best one. Don't build a complex system to solve a simple problem. If a plain list works, don't build a database. If a single page works, don't build a dashboard.

PATTERNS

Use proven recipes

Design patterns are solutions that thousands of developers have tested and refined over decades. By telling AI to follow standard patterns, you ensure your code is structured in ways that are easy to understand, debug, and extend.

ARCHITECTURE

Organize like rooms in a house

Software architecture is how your app is organized. Think of it like building a house with separate rooms vs. one giant open space. Rooms (modules) let you renovate the kitchen without tearing down the bedroom. Common approaches: MVC, layered, or modular.

Now, put them all in a rules file that lives in your project's root folder:

rules.md
# Project Rules

## Code Principles
- Follow SOLID: each file/function has one clear responsibility
- DRY: never duplicate logic — extract into a shared function
- KISS: choose the simplest solution that works
- Use standard design patterns (MVC, Repository, Service layer)

## Architecture
- Separate concerns: routes, business logic, data access
- All API calls go through a service layer
- Keep components small and focused

## Database
- Only create tables and fields that are needed right now
- Use clear, descriptive column names
- Add an index only when you have a performance problem

## General
- Handle errors explicitly — never silently ignore them
- Don't add features that weren't asked for
- When in doubt, ask before making assumptions
Why this matters

Without rules, AI tends to over-engineer things: adding extra layers, creating unused abstractions, splitting code into dozens of tiny files. The rules file keeps it grounded. Think of it as guardrails, not restrictions.

05

Database: Keep It Clean

The database is where your app stores its data — users, orders, products, messages. It's the foundation everything else builds on. If you get the database wrong early, every feature you build on top of it will carry that baggage.

The most common mistake? Over-engineering. Creating tables and fields "just in case" or "because we might need them later." Every unnecessary table adds complexity: more things to manage, more things that can break, more things that slow you down.

⚠ Over-engineered

An MVP for a simple task app that has:

  • 15 database tables
  • Audit log table (nobody reads)
  • User preferences table (3 settings)
  • Tags, categories, subcategories
  • Role permissions matrix
  • Notification settings per channel

✓ Right-sized

The same MVP, built lean:

  • 4 tables: users, tasks, teams, comments
  • Each table has only the fields used today
  • Simple role field on users (admin/member)
  • Easy to extend when you actually need more
  • Fast queries, simple migrations
  • You understand every table and column

Before adding a column or a table, ask yourself: "Do I need this data right now, for a feature that exists today?" If the answer is no, don't add it. You can always add it later — removing it is much harder.

schema.sql
-- ✓ Clean schema for a task app MVP

CREATE TABLE users (
  id, email, password_hash, name, role, created_at
);

CREATE TABLE teams (
  id, name, created_by, created_at
);

CREATE TABLE tasks (
  id, title, description, status, assignee_id,
  team_id, due_date, created_at
);

CREATE TABLE comments (
  id, task_id, author_id, body, created_at
);

--That's it. 4 tables. Ship it.
Rule of thumb

If you can explain every table and every column in your database in one sentence, your schema is probably the right size. If you can't — it's too complex for where you are.

The Vibecoding Checklist

Five rules to keep your AI-built project on track.

Already vibecoding and hit a wall?

It happens. AI builds fast, but someone needs to make sure it all holds together. Let's talk — we'll help you get from prototype to production.

Book a free call →
Free consultation No obligation Reply within 24h