nlqdb
Natural-language databases.
Create one in a word. Talk to it in English. The schema, the engine, the indexes, the backups — all invisible. The escape hatch to raw SQL stays one click away, always.
Pre-alpha — Phase 0 shipped, Phase 1 in progress.
Three ways in. Same backend — the one that doesn’t exist.
Each snippet is the entire integration. No boilerplate omitted, no “configure your client” step elided. The contrast is the message.
# 1. install (curl, brew, npm — pick one)
curl -fsSL https://nlqdb.com/install | sh
# 2. create from a goal — the DB is a side effect
nlq new "an orders tracker for my coffee shop"
# 3. talk to it
nlq "add an order: alice, latte, $5.50, just now"
nlq "how many orders today, by drink" <!-- one CDN script registers the elements -->
<script src="https://elements.nlqdb.com/v1.js" type="module"></script>
<!-- describe what you want; the DB is created on first call -->
<nlq-data
goal="today's orders, newest first, with customer + total"
api-key="pk_live_..."
template="table"
refresh="5s"
></nlq-data> import { nlq } from "@nlqdb/sdk";
const client = nlq({ apiKey: process.env.NLQDB_KEY! });
// no schema, no SQL, no ORM. one verb.
const { data, trace } = await client.ask(
"today's orders, newest first",
);
console.table(data); Shipped CLI <nlq-data> TS SDK
Phase 1 React Vue / Nuxt MCP server curl recipes
Phase 2 Python Go Rust CLI auth helpers
Wishlist VSCode JetBrains Slack Discord
Each one is a thin wrapper over the same element — full matrix in SURFACES.md. Tap a wishlist surface to nudge it up the list.
Eight boxes — or one tag.
Everything a normal backend forces you to wire together, replaced by a single element on the page.
- Database
- Schema
- ORM
- Endpoint
- Auth
- Cache
- Migrations
- Deploy
<nlq-data> One element. Schema, plan, cache, auth — all server-side, all invisible.
Manifesto
Three rules every build is judged against.
- 01
Free, forever
Sign up, build, ship to production without a credit card. The free tier isn't a trial — it's the product. Every cost upgrade is gated on a real signal: paying customers, not theoretical scale.
- 02
No login wall before first value
Every surface produces a working answer before asking who you are. Anonymous-mode is the default. The DB you create before signing in adopts to your account when you do — one row update, no migration prompt.
- 03
Goal-first, not DB-first
Nobody woke up wanting to create a database. They want a meal-planner, an agent that remembers, the number for the 4pm sync. The DB materialises as a side effect of the goal.