100x·FDE Roadmap
On this page

Practice set · Block 1 · Week 3 · Databases and domain modelling

Databases and domain modelling

Build Aarav's model by hand, pass six briefs, then model your own app and prove it answers your three questions.

Self-pacedAbout 90 minutesFinish before you start the next lesson

The practice set in one sentence

Work through the eight sections of the Modelling Lab, keep what each produces, and finish with the tables of your own app, ready to type into Supabase in the next lesson.

0/5
DeliverablesSection 03

01How It Works

  1. This is a practice set, not an assignment. It is practice for the next lesson, where these tables go into Supabase. Nothing here is graded by a person; the lab's checks are ticks and crosses, and the only mark that matters is whether your own app's model can answer your own questions.
  2. Open the Modelling Lab. Everything happens in that page. Nothing to install. Do the sections in order, 0 to 7. Each ends with a checkpoint that saves on this device.
  3. Keep what the sections produce. Screenshots and short text, listed in section 03 below.
  4. Finish it before you start the next lesson. Plan for about 90 minutes in total.

02Two Ways Through Section 7

Same lab, same words, same deliverables. The lab offers plain types (text, number, yes/no, date and time, id); in the next lesson each maps to a Supabase column type in one click. The only choice is what section 7 models.

Which one fits you?

03What to Keep

Tick each deliverable when it is ready. Ticks save on this device.

Deliverables ready
0 / 5

04Rules

Write before you reveal.

Every "Pause and think" box in the lab needs a line from you before the reveal opens. Keep what you wrote even when the reveal disagrees; that gap is the learning.

Pointers on the many side. Always.

One cell cannot hold many. If you ever want to put a list in a cell, you have found a thing that needs its own table.

History is a row, not a cell.

If the product must remember what was true before, the old value cannot be overwritten. Make it a row with a time on it.

No tool yet.

Do not open Supabase yet. The model is a paper exercise on purpose: tables you cannot describe in words you cannot build in any tool.

LLM help: questions yes; the model no.

Ask a model to explain a shape you do not get. Do not paste a brief in and copy tables out. The briefs are short enough that placing the pointers yourself is the learning.

05How to Check Your Work and Get Unblocked

Your own three questions are the reviewer. If your model answers each one by pointing at exact tables and pointers, it is done. If one pair still feels unsure, reread the three shapes of a link and place it again in the lab. Stuck on the lab itself: troubleshooting.

Next: these tables, typed into Supabase, and a row that survives a refresh.

Hold this

You cannot store what you cannot describe. Three questions describe any product: the things, what each has, how they connect. Everything a database does is built on those answers.

Rows for facts. Files for everything else. A pointer between them.Companion pages: overview · notes · the lab · back to the roadmap