Tables, rows, columns, relationships, and row-level security. Enough of the data model to read, write, and reason about a database without breaking it.
Most of what you want to build eventually needs to remember things. Names of leads. Status of orders. Settings the user changed. The moment remember enters the requirements, you need a database.
Supabase is the friendliest database for non-engineers building real products. Postgres wearing a friendly interface. You can build a table by clicking, read and write through a simple API, and Claude can do almost all of it for you.
Most of what you build eventually needs to remember things. Leads. Orders. User settings. Once you need remember, you need a database. Four ideas cover most of it.
Three rules keep your database from rotting into a junk drawer.
Postgres is the most trusted open-source database, with three decades of production use. You could run your own. Supabase is Postgres plus a team you cannot afford: backups, scaling, auth, an API layer, a dashboard, RLS made friendly.
You pay nothing until you outgrow the free tier (500MB and 50K monthly users). After that, the pricing is honest. The free tier holds an entire real business.
You need: your Hello World site from Protocol 02 (with a custom domain from Protocol 06), and a Supabase account (created in Protocol 02 or just sign up now).
In Supabase, Table Editor > New Table > contacts. Columns: id (uuid, primary), email (text, required), name (text), created_at (timestamptz, default now()). Enable RLS.
Authentication > Policies > contacts > New policy. Allow anon role to INSERT, with a check of true (anyone can submit). Read access stays locked.
Settings > API. Copy the project URL and the anon key. Add them to your Vercel env vars as NEXT_PUBLIC_SUPABASE_URL and NEXT_PUBLIC_SUPABASE_ANON_KEY (and to .env.local for local testing).
In Claude Code: "Add a contact form to the homepage with name + email fields. On submit, insert a row into the Supabase contacts table using the anon client. Show a thank-you message on success."
Commit, push, wait for Vercel. Open your live site, fill the form, submit. Open Supabase Table Editor > contacts. Your row is there.
Open a new browser tab. Try to hit your-project.supabase.co/rest/v1/contacts?select=* without the auth header. You should get a 401. Strangers cannot read your data.
A real lead capture on your live site, writing to a real Postgres database, with row-level security keeping your data private. Your Hello World is no longer just a flier; it is the front door of a small product.
You turn your Hello World into a real lead capture: contact form, Supabase table, RLS policy, email confirmation, all in 30 minutes.