Guided tour
Louvre Ops DB in three videos
Each video follows one workflow from start to finish, with the step shown on screen and as captions: the ER diagram itself, the museum's questions run in your browser, and asking in English with your own key. A Playwright script recorded them and checks every step on the way, so the same run reproduces the same journeys.
Walkthrough 1 of 3 · the landing page
The ERD
The 2020 entity-relationship design, rebuilt from the original MySQL Workbench file: switch between Chen and Crow's-foot notation, read the 2020 assumption behind each relationship, open a table's SQL, compare the redraw with the 2020 export and see what the refined schema changed.
Steps (transcript)
- 1The landing page opens on the ERD: the 2020 physical model in Crow's-foot notation, at its Workbench positions
- 2Switch to Chen's notation: the 2020 conceptual model, redrawn where it was drawn in Axure
- 3Hover a Chen relationship: who takes part, and the 2020 assumption behind it
- 4Back to Crow's foot: hover a relationship label for its cardinality in words and its assumption
- 5Select the Ticket table: its columns, keys and relationships
- 6Further down the panel: the SQL that creates it, from Workbench's forward engineering
- 7Invoices is one of three tables MySQL refuses to create, and the panel shows MySQL's error
- 8Side by side: the original 2020 Workbench export next to the interactive redraw
- 9The refined 2026 schema next to the 2020 design as submitted
- 10As designed against refined: what changed, table by table, and the finding behind each change
Walkthrough 2 of 3 · /playground
Run the museum
The SQL playground runs SQLite in your browser on five years of synthetic museum activity: the saved business questions, the refined schema's rules refusing bad data, and the 2020 design rebuilt from the same five years.
Steps (transcript)
- 1The SQL playground: SQLite, compiled to WebAssembly, loads the demo database in your browser
- 2Saved query 1: tickets sold by payment method, run in the browser
- 3The same result as a chart
- 4Saved query 5: the usual order of wings, which the 2020 design cannot answer
- 5Places left in each exhibition slot, from the slot_availability view
- 6Rules in action: a trigger refuses to overbook a full slot, and the run is rolled back
- 7Switch to the 2020 design: the same five years replayed into the tables as submitted
- 8Everything in Wings: keyed by the wing's name, it kept 3 of 19,545 wing visits
Walkthrough 3 of 3 · /ask
Ask in English
Optional text-to-SQL with your own key: the bring-your-own-key settings, a clearly labelled mocked model reply that passes the SQL validator and runs read-only in your browser, the human decision and the audit log, then the evaluation harness and its grader.
Mocked AI response for illustration. Steps 5, 6, 7, 8 show a fixed reply that the recording script returned in place of the provider; no model was called and no real key was used. The site has no AI budget and publishes no accuracy figures: with your own key, the evaluation harness measures a real model.
Steps (transcript)
- 1Ask the database needs your own API key; nothing else on the site does
- 2AI settings: Anthropic (the default) or OpenAI, kept in this tab unless you choose to remember it
- 3A placeholder key for the recording: a real key goes only to the provider, straight from your browser
- 4Ask in English: "Which entrance do visitors who arrive by Metro use most?"
- 5The model's query, labelled AI-generated, with its explanation and assumptionsMocked AI response for illustration
- 6The validator allows one read-only SELECT on documented tables, and it runs in a read-only sandboxMocked AI response for illustration
- 7You decide: accept, edit or reject. The decision is recordedMocked AI response for illustration
- 8The audit log in this browser: every call without the key, exportable as JSON or CSVMocked AI response for illustration
- 9The evaluation harness: 22 questions with hand-written gold SQL, scored with Wilson intervals
- 10Grade your own SQL with no key: validated, run and scored exactly like a model's query
Screenshots
Every key feature at a glance
Captured by the same script at 1440 × 900 (the landing page in light and dark mode) and on a 390 px phone. Select one to enlarge it; the arrow keys step through the set.
Desktop · 1440 × 900
Mobile · 390 × 844
How these were made
pnpm showcase runs web/e2e/showcase.spec.ts on the system Chrome: it plays each journey at a human pace with an on-screen caption and cursor, asserts what it shows (the notation switch, the assumption behind a relationship, a table's SQL and MySQL's error, the saved queries' results, the rows the 2020 design kept, the validator's verdict and the grader's score) and records it at 1280 × 800. ffmpeg then encodes the H.264 videos on this page and the GIFs in the README. The captions are the same text as the on-screen steps.
The recordings were made on a local production build of this site with the committed, synthetic demo data. No real API key was entered and no AI provider was called: the third video types a placeholder into AI settings and answers the browser's request with a fixed reply, labelled on screen as a mocked AI response for illustration.