# Build brief — a focused alternative to Lovable

> **Verdict:** Not faithfully · **Buildability:** 21/100 · **Category:** Dev Tools
> **Source:** https://www.canitbevibecoded.com/lovable
> Independent editorial assessment from Can It Be Vibe Coded? Not affiliated with, endorsed by, or derived from Lovable. Verify current pricing and capabilities before acting.

## Context

**Lovable** — Prompt a full web app into existence, with hosted previews and one-click deploy. It currently costs $25/mo.

The wrapper is easy: a CLI that sends your brief to a model, writes the files, and starts the dev server is the easy part. The model doing the writing is the actual product, and you cannot rebuild that. Everything Lovable puts around it, the hosted preview, the deploy, the database wired up for you, and a non-developer being able to use any of it, goes with the subscription.

This brief describes a focused, single-operator replacement for the part of Lovable that is genuinely reproducible. It is deliberately narrower than the product it replaces, and it says so in writing. Build the useful core; do not pretend to have rebuilt the rest.

## What you are building

Send a plain-language brief to a model API, have it write a small React app into a local folder, run it, and keep iterating in the same conversation.

- Build the focused developer workflow you use repeatedly, with local configuration.
- A responsive interface with real empty, loading, success, and error states.

## Requirements

### Functional

- Node 22.
- Git.

### Data and integrations

- Anthropic or OpenAI API key.

Each of these needs a real account, credential, or quota. Set them up before writing feature code.

### Non-functional

- Accessibility: semantic markup, labelled controls, visible focus, and reduced-motion support.
- Security: server-side secrets, validated input, and no credentials in the client bundle.
- Reliability: retries with backoff on external calls, and a clear failure state when a provider is down.
- Portability: the operator can export their data and leave without losing it.

## Implementation brief

Build me a local brief-to-app generator to replace Lovable. Requirements:

- A Node 22 CLI: `vibe new "a habit tracker with a weekly grid"` scaffolds a Vite +
  React + TypeScript app into ./apps/<slug>, then edits it in a loop. Generated apps
  persist to plain JSON or SQLite via better-sqlite3.
- Call the Anthropic or OpenAI API with the key from .env and ask for whole files
  back as JSON, path plus contents, never prose I have to dig out of a code fence.
- Every round is a git commit on a branch and prints the diff first. `vibe undo` is
  a git revert, so nothing the model does is unrecoverable.
- After each round run `npm run build` and `tsc --noEmit`, feed failures back, retry
  three times, then stop and show me the error instead of looping.
- `vibe preview` runs the Vite dev server on localhost:5173. No accounts, no
  telemetry, nothing leaves my machine except the model calls.
- Keep the transcript, file tree, and last diff in .vibe/session.json inside the app,
  resend only the files I named, and print tokens and cost per round.
- Out of scope: hosted previews, one-click deploy, and team collaboration. Do not
  build a web UI, the terminal is the interface.
- README: which key to set, what a typical app costs, and the honest warning that the
  output is only as good as the model behind it.

## Delivery standard

- Inspect the repository first, then write a short implementation plan before writing code.
- Deliver the smallest complete end-to-end workflow first; every primary control must work against persisted data.
- Use real validation and storage; never substitute fake dashboards, decorative controls, hard-coded success states, or mock integrations.
- Include responsive layouts plus genuine empty, loading, success, validation, and failure states.
- Keep secrets server-side in environment variables, provide .env.example, and never commit credentials or user data.
- Add structured logs around every external call and return actionable errors without leaking sensitive details.
- Write unit tests for the core logic and one automated test of the main user journey.
- Finish with a README covering setup, architecture, data location, backups, tests, deployment, and known limitations.

## Acceptance criteria

- [ ] A clean install starts the app using only the README and .env.example.
- [ ] The primary journey works from first visit through saved result, reload, edit, export, and deletion where applicable.
- [ ] Invalid input, missing configuration, provider failure, and an empty database each have a usable state.
- [ ] The interface works at 390px and 1440px, is keyboard navigable, and shows visible focus on every control.
- [ ] Tests, type checking, linting, and a production build all pass with no ignored failures.
- [ ] No part of the interface implies a live integration, security guarantee, or scale capability that was not actually built and verified.

## Non-goals

Do not build these, and do not claim to have replaced them:

- The frontier model, which is the actual product.
- Hosted preview URLs and one-click deploy.
- A database and auth wired up for you.
- A non-developer being able to ship anything at all.
- Model quality and inference operations are part of the product.
- Reliability at the vendor's scale is an operations problem, not a prompt.

## What you still own after launch

- Secure credentials, rotate secrets, and handle provider rate limits.
- Run migrations, backups, restores, and dependency updates.
- Test the critical journey after every model, API, or hosting change.
- Monitor failures and fix the edge cases a first prompt will miss.

## Risk

**Operational risk.** The code is achievable; dependable data, integrations, and ongoing operations are the real cost.

Editorial confidence in this assessment: high. No independent one-shot implementation is linked yet.

## Prior art

Working open-source software you can read, fork, or borrow from before starting:

- [bolt.diy](https://github.com/stackblitz-labs/bolt.diy) — Open-source prompt-to-app builder, bring your own model
- [Aider](https://github.com/Aider-AI/aider) — Terminal coding agent that commits its own diffs
- [Continue](https://github.com/continuedev/continue) — Open-source coding agent for IDEs and multiple model providers

---

Generated by [Can It Be Vibe Coded?](https://www.canitbevibecoded.com) · Full report: https://www.canitbevibecoded.com/lovable
