nlqdb

Solve · Solo builders

How do I add a database to a side project without setting up Postgres?

If your side project needs a database but you don't want to provision Postgres, choose an engine, or wire migrations, drop one `<nlq-data>` tag in any HTML page — nlqdb mints the database, infers the schema from your first English query, and exposes the same data via SDK / CLI / MCP.

Indie builders shipping a side project frequently bail at the database step: choosing Postgres vs SQLite, picking a hosting tier, wiring an ORM, writing the first migration. Most weekend ideas die between `npm create` and `CREATE TABLE`. The right shape for a side project is the one that fits inside an HTML file — but the existing tooling assumes you'll write SQL first.

Drop this in your HTML

The CRM-style table is the most common "my side project needs to remember things" shape — nlqdb mints it from one English goal with no schema authored by hand.

> show recent customer contacts sorted by last touch
<nlq-data goal="show recent customer contacts sorted by last touch"></nlq-data>

What nlqdb actually does for this

  • One HTML element on any page provisions a Postgres database on the first query; subsequent queries reuse it via a per-device anonymous identity (`SK-ANON-001`).
  • Schema is inferred from the query intent — no `CREATE TABLE` written by hand; subsequent fields are added via English (`"add a status column"`).
  • Adopt the anonymous database into your account with one click within 72 hours (`SK-ANON-002`); no data loss, no re-import.

What nlqdb doesn't do here

  • Anonymous databases sweep after 72h unless adopted — designed for trial, not for storing the next year of your data without an account.
  • No SQLite, no in-browser-only mode — the engine is always a real Postgres on Cloudflare-region infrastructure (Phase 2 adds ClickHouse).

Questions buyers ask

Can I keep a database from a side project after the 72-hour anonymous window?
Yes — sign in inside the 72h window and click "Adopt this database" (`SK-ANON-002`). The DB is re-keyed to your account, all rows persist, and the original anonymous device key keeps working until you rotate it.
Does this work without a build step or a framework?
Yes — `<nlq-data>` is a vanilla web component; drop the script tag, drop the element. It also ships as `@nlqdb/react`, `@nlqdb/vue`, `@nlqdb/svelte`, `@nlqdb/solid`, `@nlqdb/astro`, `@nlqdb/next`, and `@nlqdb/sveltekit` if you prefer the typed wrapper.
What about hosting — do I need Cloudflare?
No — the embedded element calls `app.nlqdb.com` from any origin (CORS-permissive on the public endpoints). Your side project can be on Vercel, Netlify, GitHub Pages, or a single static HTML file.
How do I migrate later if the project takes off?
The SDK's `runSql` (`POST /v1/run` raw-SQL escape hatch — `GLOBAL-015`) lets you stream out an arbitrary `SELECT` of your data for a parameterised migration. Phase 2 adds engine migration (Postgres → ClickHouse) without an app-side rewrite — the workload analyser proposes it; you approve.

Where this pain shows up in public

Enduring discussion hubs where you can verify the theme without taking our word for it. We don't quote individual posts; we cite search-result and subreddit URLs that stay live as new threads land.

Try nlqdb in 30 seconds

No sign-in. The anonymous database lasts 72 hours; adopt it with one click if you keep it.

Start with a goal →

Looking at this from a different angle? Browse all solve pages or browse competitor comparisons.