Vibe coding prompts that ship: ten with the channel built in
A vibe coding prompt describes the app in plain language and lets the AI write the code. The ones that ship also say who the app is for, the states it must handle, who may read each table, and how the first users find it. Below are ten library prompts, one for each way an app gets found, then 12 mistakes I made vibe coding this site, each with the commit that fixed it.
By Marco Kohns · Prompts at the 23 October 2026 standard; git log read 26 September 2026
10prompts
Each with a named style direction, states, access rules and Done When checks.
8channels
Search, social, product-led, email, sales, community and paid, across the library.
12mistakes
From this site's own repository, each with the commit that fixed it.
The difference
What makes a vibe coding prompt work?
Plain language for the what; written rules for what a reviewer would otherwise catch.
Ships
A prompt that builds right
- Who it is for and the one job
- Numbered features, most important first
- A named style direction, fonts and colours
- Empty, loading and error states
- Who may read and write each table
- Done When checks Lovable can verify
- The channel the first users come from
Stalls
A prompt that needs rounds
- Build me an app for X
- Adjectives without values
- No states, so the empty list breaks
- Access checked only in the UI
- Distribution left for after launch
Simon Willison's definition: vibe coding is building with an LLM without reviewing the code it writes. Writing the reviewer's rules into the prompt is how the speed survives contact with users. More in what is vibe coding.
The prompts
Which ten vibe coding prompts cover every channel?
The opening of each prompt, its channel, and whether it was run. The full prompt is one click away and free.
01 · Organic SEO
Small Business Website
Build a website for a local service business: home, one page per service, about and contact. Visitors come from searches like "[service] in [town]" and the Google profile; each page answers one search and leads to one action, a call or the contact form. Replace bracketed details.
Not run yet; credits unknown.
The full prompt →02 · Organic SEO
SEO Content Landing Page Generator
Build a long-form landing page that targets one search query, answers it in full, then converts the reader with one offer. The example query is "how to price a freelance design project"; replace it with yours. Visitors arrive from Google with a question.
Not run yet; credits unknown.
The full prompt →03 · Organic Socials
Waitlist Signup Page
Build a waitlist page for a pre-launch product: say what is coming and when, capture emails with source attribution, confirm clearly, and keep the list unreadable from the browser. Visitors arrive from social posts, mostly on phones.
Not run yet; credits unknown.
The full prompt →04 · Organic Socials
Social Share Widgets
Add sharing to content that people want to pass on (results, articles, public profiles): each shareable URL gets correct social metadata, phones get the native share sheet, desktops get platform links and copy-link, with no third-party scripts. Shared links bring visitors in from social feeds.
Not run yet; credits unknown.
The full prompt →05 · Product-led Growth
SaaS MVP with User Auth
Build the foundation of a multi-tenant SaaS: users sign up, get a workspace, and invite teammates who arrive in the same workspace with the right role. The target user is a small team adopting a tool together, so the invite must work before anything is polished.
Measured: 10.4 credits, 4 questions first.
The full prompt →06 · Product-led Growth
Habit Tracker App
Build a habit tracker for individuals: define habits with schedules, check them off in one tap, and keep streaks computed against the user's own timezone and schedule. The one job is the daily check-off: open, tap, done, under five seconds.
Not run yet; credits unknown.
The full prompt →07 · Email Marketing
SaaS Trial Expiration Flow
An app on the built-in backend offers a 14-day trial of its paid features. Build the lifecycle: a visible countdown, an expiry that restricts paid features, retained data and a clean path back.
Not run yet; credits unknown.
The full prompt →08 · B2B Sales
Lead Scoring System
Build transparent lead scoring for a B2B sales team: inbound leads from forms and product signups earn points from named rules, every score shows its breakdown, and sales works a ranked queue. The one job is that a rep can answer "why is this lead hot" in one glance.
Not run yet; credits unknown.
The full prompt →09 · Community-led Growth
Member Directory with Search
Build a members-only directory for a community: members complete profiles with per-field visibility, search each other by skills, location and interests, and connect through message requests that reveal nothing until accepted. The one job: a member finds the right person to talk to without anyone's contact details being exposed.
Not run yet; credits unknown.
The full prompt →10 · Paid Search
Landing Page A/B Variant Generator
An existing landing page gets paid search traffic and converts at a known baseline. Build variant testing: each visitor sees one of two versions that differ in exactly one block, keeps that version on every visit, and conversion is measured per variant from the first impression.
Not run yet; credits unknown.
The full prompt →
Across the library
Which channel does each library prompt build for?
| Channel | Prompts |
|---|---|
| Product-led Growth | 60 |
| Organic SEO | 16 |
| B2B Sales | 16 |
| Email Marketing | 8 |
| No single channel | 8 |
| Organic Socials | 7 |
| Community-led Growth | 6 |
| Paid Search | 1 |
Vibe coding tips
What did vibe coding this site get wrong, and what fixed it?
Every row is a commit in this site's repository. The lesson column is the tip.
| Date | Area | What broke | Lesson |
|---|---|---|---|
| 2026-07-25 | Data | Upvote counts returned zero for every visitor: the read path was wrong and the UI painted zeros without complaint. | A number that is always zero looks like a feature with no users. Assert on a known non-zero row. |
| 2026-07-29 | Rendering | /generator and /learn/handbook were client-rendered: crawlers received 724 and 728 characters of nav and footer, no H1, no schema. | Verify what the crawler gets from the raw HTML, never from the browser. |
| 2026-07-29 | Gates | The SSR gate's URL list had duplicates, so a page could pass twice and another not be checked. | A gate is only as good as the list it iterates. Derive the list from the sitemap. |
| 2026-07-30 | Copy | The pricing FAQ said 100 Builder prompts; the server enforced 50. The claim had survived three rewrites. | Never type a quota in copy. Import the constant the server uses. |
| 2026-09-11 | Paywall | Every paid Pro prompt shipped in the JavaScript bundle to every visitor; the lock was a picture of a lock. It survived for months because nothing tested for it. | A client component that imports paid data ships it. Mark the module server-only and prove it with a script against the built output. |
| 2026-09-12 | Gates | The gating script that proved the fix above missed every JavaScript chunk in production, so it would have passed a regression. | Test the test: make it fail on purpose once. |
| 2026-09-12 | Payments | A defect broke every guest purchase; buyers without an account could not complete checkout. | Run the purchase as a guest in the gate, not only as a signed-in tester. |
| 2026-09-12 | Gates | The gate scripts hammered production and tripped Vercel's bot challenge, which read as a site outage. | A checker that looks like an attack gets treated like one. Add delays and a user agent. |
| 2026-09-26 | Indexing | Every sitemap entry carried the July migration date, so nine pages published since were reported by Google as unknown or discovered-not-indexed two months later. | A sitemap whose lastmod never changes tells Google nothing changed. |
| 2026-09-26 | Links | 21 of 33 URLs had fewer than eight contextual inbound links; four kit pages had one to three, which is why they went uncrawled. | Crawlers follow links, not navs. Count inbound links per URL and fail under a floor. |
| 2026-09-26 | Copy | Twelve banned words shipped in one day because the shell's grep alias silently ignored the word-boundary syntax the gate used; the rule was in context the whole time. | A rule the model follows is not a gate. Run the gate with a tool you have watched fail. |
| 2026-09-26 | Copy | The bundle page said 93 Pro variants while the data held 101; the count had been typed, not computed. | Every count in copy is a constant with a script that compares it to the data. |
- 01
Name the states
A UI that paints zeros without complaint hides a broken read for weeks. - 02
Test the gate
A check that cannot fail proves nothing; make it fail once on purpose. - 03
Keep paid data server-side
A client component that imports paid data ships it to every visitor. - 04
Read the HTML
What a crawler receives is the raw HTML, never what the browser shows.
Every prompt in this shape
Disclosure: if you create a Lovable account through links on this page, we may earn a commission. It costs you nothing and does not change what we recommend. Create a free Lovable account
Frequently asked
What is a vibe coding prompt?
A plain-language description of an app that an AI builder such as Lovable turns into code. The ones that ship also name the states, the access rules, checks the builder can verify, and the channel the first users come from.
What are good vibe coding prompts to start with?
Match the channel: a small business website or SEO landing page for search, a waitlist or share widget for social, the SaaS foundation for product-led apps, a trial expiration flow for email. All ten above are free in the library.
How long should a vibe coding prompt be?
Long enough to carry the rules: the library prompts run about 300 to 550 words. Short prompts are faster to write and slower to finish, because every missing rule becomes a correction round.
What are the best vibe coding tips?
Name every state, keep access rules in the database, test that your checks can fail, keep paid or private data off the client, and read the HTML a crawler receives. Each one comes from a mistake in this site's git log.
Do these prompts work outside Lovable?
The structure works in any prompt-to-app builder. Lines about Lovable's built-in backend need changing for a tool with a different backend; I have run them in Lovable only.
What we did not publish
- Runs of the 9 picked prompts not yet measured; their cards say so.
- Mistakes outside this site's repository.
- The page-only mini prompts this page used before 23 October; the library versions replaced them.
Sources
- The prompt library and the site's git log
- Simon Willison, 19 March 2025
- Lovable docs: Prompting best practices, read 23 October 2026
Written by

Marco Kohns
Founder of ProtoBites - Venture Growth Studio
Growth PM at a Silicon Valley scale-up (a16z and General Catalyst backed), ex-Techstars where he consulted 13 early-stage startups, Reforge-trained. Every prompt on this site comes out of shipping ProtoBites' own portfolio products.
Related reading
- three prompts and what they built · The long form of prompts 1 and 2, with screenshots.
- how to write prompts for Lovable · The skeleton, section by section.
- product-channel fit · Why one channel beats three at the start.
- getting the first 100 users · The playbook for each channel.
- from idea to app, measured · Where the first prompt sits in the whole path.
- the prompt library · Every prompt tied to a channel.
- common Lovable mistakes · What the safeguard line prevents.
- best AI app builder · Where to run these prompts, compared.
- app ideas · Fifty app ideas with a prompt and a channel each.
- SaaS landing page prompt · A longer landing page prompt with the run beside it.
- SaaS ideas · Fifteen SaaS ideas, each composed from library prompts.
- what is vibe coding · The definition from its three sources, and six runs with their credits.