Plato environments

Every copy of Plato, where its code comes from, and which database it talks to. Updated 27 Oct 2026.

How it fits together

Each website talks to one database only. Carl's builds rewrite every database address to that site's own database and refuse to publish if any other remains.

How work moves between Carl and Olly

Carl keeps his own copy of Plato (a fork) with his own databases. Olly's work flows in regularly; Carl's work flows back as pull requests that Olly merges.

  1. Sync. Olly's latest main is brought into Carl's copy every day or two, so the two never drift far apart.
  2. Build. Carl works on a branch and tries it on the sandbox, which has its own database, so nothing reaches Olly.
  3. Rehearse. Before a handover, the work runs on Carl dev, a copy of Olly's dev, exactly as it will on dev.
  4. Hand over. The finished branch goes to Olly's repository as a pull request. Olly merges it; dev updates, and its database changes run on TEST at that moment.
  5. Promote. Live and demo get it when Olly says so, with its database changes in the same promotion.

Olly's own changes skip steps 1 to 4: a short branch, merged the same day, straight onto dev.

Module versions

Which version of each module each Plato website is running.

ModuleLiveDemoOlly's devSandboxCarl dev
Hub1.631.651.703.1 beta3.0 beta
Pantry & ordering1.941.981.99.53.1 beta3.0 beta
Recipes & menus2.312.352.36.33.1 beta3.0 beta
Food safety1.411.411.423.1 beta3.0 beta
Training & COSHH1.161.161.183.1 beta3.0 beta
Financials0.30.30.43.1 beta3.0 beta
Company adminnot therenot therenot there3.1 beta3.0 beta
Plato platformnot therenot therenot there3.1 beta3.0 beta

Read from each website when this page was published, 27 Oct 2026 11:20. Carl dev gets its own column once its website exists.

Plato

Live real kitchens

Off The Rails and La Piscine use this every day. Changes only when Olly promotes from dev.

Website
otrorders.pages.dev (rename to plato-live planned)
Database
LIVE · daily backups
Code
otrjersey/plato main, as last promoted
Sign-in
Name + PIN (old route)

Dev Olly's testing

Updates itself about a minute after anything lands on main. Olly tests here before promoting.

Website
plato-dev.pages.dev
Database
TEST
Code
otrjersey/plato main (branches get preview addresses)
Alerts
Phone and email alerts set up

Demo showing people

A copy of Off The Rails' data for demonstrations. Promoted on Olly's word, like live.

Website
plato-demo.pages.dev
Database
DEMO
Code
otrjersey/plato main, as last promoted

Sandbox Carl · Plato 3.1 beta

The account layer (R37): companies, venues, email sign-in, kitchen devices, Company admin and the Plato platform (on its own address). Olly's latest work merged in on 21 Oct. Newest: food allergens Stage 1 (the allergen list and bulk-review words from the database; Plato platform → Allergen words).

Website
plato-sandbox-carl.pages.dev · Plato admin plato-sandbox-carl-admin.pages.dev
Database
Sandbox · 22 Sep copy of live + test companies
Version
3.1: the allergen work and everything after it (database steps R37-043 on)
Code
carlhuelin/plato carl/r37-account-layer
Sign-in
Email + password; PINs unlock kitchen devices
Alerts
Not set up here (tested on dev at the handover)

Carl dev Carl · Plato 3.0 beta

An exact copy of Olly's dev, logins included, in Carl's own Supabase. For a full dress rehearsal of the handover before it runs on Olly's dev.

Website
plato-dev-carl.pages.dev · Plato admin plato-dev-carl-admin.pages.dev
Database
Carl dev · 22 Oct copy of dev, R37-001 to R37-042 and hot fix H1 applied; frozen while Olly tests; refreshed just before the real dev run
Version
3.0: multi-customer (database steps R37-001 to 042, hot fixes H1 and H2). Likely to move to 3.1 next.
Code
carlhuelin/plato carl/r37-account-layer as of hot fix H1 (7cc1bb5), plus hot fix H2 (the Pantry no longer shakes while scrolling, 24 Oct)
Sign-in
Email + password; PINs unlock kitchen devices
Alerts
Functions copied; no keys set yet
The sandbox is ahead: it has database steps R37-001 to R37-053, and its allergens have switched to the new storage (24 Oct): its website runs every new page. Carl dev has R37-001 to R37-042 and hot fixes H1 and H2 (the rehearsal) and is frozen while Olly tests. They reach dev and live only at the handover, and the removal steps among them are held until every phone and iPad runs the new modules.

Other Off The Rails apps

Lunchbox

Now its own repository (otrjersey/lunchbox), separate from Plato.

Website
otr-lunchbox.pages.dev
Database
Lunchbox & events

Events

Event lunches; notes moved to Packed Lunch.

Website
otr-events.pages.dev
Database
Lunchbox & events

Launch HQ

Project planner, outside Plato, on its own database.

Website
otrprojectplanner.pages.dev
Database
Its own, separate from Plato