AI designs the Postgres schema, Boris writes the app. The database is yours to connect to directly.
Free to start · 30 credits a month, metered by usage · no credit card
Chat
Designed 3 tables, with contacts and follow-ups attached to customers.
No DROP, and no change that loses data.
Postgres schema
customers
contacts
follow_ups
How it works
There is no "export it and wire up a database yourself" step in the middle. The database is real from the first step.
Explain the business in plain language: customers, orders, follow-ups. No need to settle on fields or draw tables first.
The model emits IR with stable IDs, deterministic code compiles that into DDL, and real tables appear in your Postgres.
Boris, the coding agent, writes a React frontend in a sandbox container that reads and writes the tables you just created. It is clickable the moment it lands.
Publish a share link in one click. Change the requirements later and a rename is a RENAME, not a drop and recreate: not a row of existing data is lost.
Why it is different
Generating an interface is something everyone can do. The difference is whether what comes out still belongs to you.
Not a toy built-in store, and not a CSV export. Every project gets its own schema and a connection string, so psql, DBeaver, Metabase and Prisma connect straight to it.
The LLM never writes SQL. It only emits IR; a deterministic diff works out the change and compiles it into whitelisted DDL. Dropping a table or a column, or changing a type, has to be confirmed by you in the UI.
The database, the main app and the sandbox that runs the code can all live on your own machines. docker compose brings up Postgres; the sandbox runner gives each app its own container on any Docker host.
From Pro up, point Lovbase at your own OpenAI-compatible endpoint and key, stored AES-GCM encrypted. Your model and your bill, including a model you host on your own network.
Data API
Every project gets its own Postgres schema plus a role with DML permissions only. Connect directly with the connection string, or serve a frontend of your own through the REST endpoint.
const res = await fetch(`/api/data/${projectId}/sql`, {
method: 'POST',
headers: {
Authorization: `Bearer ${apiToken}`,
'Content-Type': 'application/json',
},
body: JSON.stringify({
sql: 'select name, city from customers where city = $1',
params: ['Shanghai'],
}),
})
// Runs as the ws_<id> role, one statement, inside a transaction.
// That role only has SELECT/INSERT/UPDATE/DELETE on its own schema.Any frontend can read and write its own tables; auth is the project API token.
Open source, self-hosted
We are not going to line up avatars and numbers you have no way to verify. The more direct way to judge a data tool is to pull it down and run it yourself.
git clone <repo> && cd lovbase
docker compose up -d # Postgres
cp .env.example app/.dev.vars # LLM key, or use BYOK
bun install && bun run dev # localhost:3008Pricing
Credits are metered against what each turn actually costs, and your own model key costs nothing. Free gives you 30 a month, enough to get an idea built.
Try it and see what it builds
Free forever, no credit card
Start freeFor people shipping something real
Billed monthly, cancel anytime
Choose ProTeams and production workloads
Billed monthly, cancel anytime
Choose BusinessSign up, create a project, and get the connection string immediately. If it is not for you, export the data and take it with you.