A sealed robot kitchen that fries Korea's favourite — 치킨 — while the owner only restocks.
The owner brings ingredients (chilled chicken, batter, oil, sauces) and loads them into labelled, chilled hoppers. From there the sealed cell does the rest: it takes orders automatically from delivery apps, fries → sauces → packs → serves, calls a courier, and at closing washes itself down with high-pressure water — keeping a full, inspection-ready hygiene log the whole time.
The idea in one line: take the factory-automation "parts feeder" role — a person who just keeps the line stocked — and move it into a kitchen. The owner is only the parts feeder.
🇰🇷 한국어 README: README.ko.md · One-pager spec: docs/en/00-design-spec.md
Important
What this repo is — and is not.
This is an open reference design + working orchestration software + delivery-integration
adapters (with mocks). It is NOT a licensed, food-safe, ready-to-run commercial kitchen.
A real ChefCell needs licensed fabrication, industrial safety certification, food-hygiene
licensing + public-health inspection, and signed partner agreements + API keys with each
delivery platform. Those are the operator's responsibility. Nothing here is legal, food-safety,
or engineering advice. See the boxes below and docs/.
The owner restocks; everything after that is automated. A delivery order flows in through an adapter, the deterministic orchestrator plans and runs the cook on the (real or simulated) cell, a courier is dispatched, and every step is written to a HACCP-style hygiene log.
flowchart LR
subgraph OWNER["👤 Owner (parts feeder)"]
R[Restock chilled hoppers:<br/>chicken · batter · oil · sauces]
end
subgraph CELL["🔒 Sealed cell (IP69K, washdown-ready)"]
FRY[Fry ~180°C] --> SAUCE[Sauce / toss] --> PACK[Pack box] --> SERVE[Serve hatch]
end
D[["📱 Delivery apps<br/>(Baemin · Coupang Eats · Yogiyo · Uber Eats)"]]
D -- webhook/API --> GW[Delivery adapter<br/>+ working mock]
GW -- normalized order --> ORCH{{Kitchen Orchestrator<br/>deterministic · stock/capacity · scheduling}}
R -. stock .-> ORCH
ORCH -- step commands --> FRY
ORCH -- dispatch --> COUR[🛵 Courier]
SERVE --> COUR
ORCH -- every batch / temp / wash --> LOG[(HACCP hygiene log<br/>inspection-ready)]
ORCH -. at close / on fault .-> WASH[High-pressure self-washdown]
WASH --> LOG
SAFETY[[🛑 Safety PLC / interlocks<br/>final authority]]
SAFETY --- CELL
Restock → fry → sauce → pack → serve → courier, with delivery order in → orchestrator →
cell → hygiene log running underneath. In a real build a hardware safety PLC + E-stop are the
final authority over all motion, heat, and water — software can request, the interlock can
refuse. Full control architecture: docs/en/02-architecture.md.
The whole loop — mock delivery order → orchestrator → simulated assembly → serve → wash cycle → HACCP report — runs entirely in software with a simulated cell and a mock delivery platform. No API keys, no contracts, no hardware.
# from the repository root
pip install -e "software[dev]" # install the orchestration package + dev extras
python -m chefcell.sim.run_demo # run the full order -> assemble -> serve -> wash -> report loopPrefer the console entry point? chefcell-demo does the same thing. To bring up the API
(orders, kitchen status, hygiene report) in mock + simulator mode, follow
software/README.md (as populated) — typically
uvicorn chefcell.api.main:app. A full walkthrough is in docs/en/01-quickstart.md.
Dashboard note. If a small web dashboard is included under
software/chefcell/sim/, it is a static, read-only view of a simulated run and can be served on GitHub Pages or opened locally — it is not a live kitchen and calls no real platform.
| ✅ In this repository (open source) | |
|---|---|
| Facility & robot reference design (zones, P&ID, washdown, robot/fryer/wash layout, BOM) | Licensed fabrication; stamped structural/plumbing/electrical engineering to code |
| Orchestration software (recipe engine, scheduler, state machine, stock, courier dispatch) | Certified safety PLC + industrial safety certification |
Delivery adapters + working mock (one DeliveryAdapter interface, platform stubs) |
Signed partner agreements + API keys with each delivery platform |
| HACCP-style hygiene logging + inspection report | Food-business licensing + hygiene certification + public-health inspection pass |
| Simulator of the whole cell (robot/conveyor/portioning/wash + safety-interlock model) | Real hosting, monitoring, staffing, maintenance, insurance |
Full breakdown: spec §9 in docs/en/00-design-spec.md.
Warning
Real order automation needs a signed partner/API agreement with each platform
(배달의민족/Baemin, 쿠팡이츠/Coupang Eats, Yogiyo, Uber Eats). Their APIs are not open to
unapproved automation, and using them without approval violates their terms. This repo provides
the DeliveryAdapter interface, a fully-working mock, and clearly-labelled stubs for real
platforms. Approval and keys are the operator's; keys are env-only, never committed. See
docs/en/03-delivery-integration.md.
Warning
The cell makes hygiene provable, not just claimed: every batch, temperature, and wash cycle
is logged (HACCP-style) so an inspection is evidence-ready. But food-business registration,
hygiene certification, and public-health inspection are the operator's — "inspection-ready"
means the evidence/logging is automatic, not that approval is guaranteed. This is not legal or
food-safety advice; consult your local food-safety authority. See
docs/en/05-hygiene-and-compliance.md.
Caution
~180 °C oil + high-pressure water + electricity in one sealed cell is hazardous. The design
relies on interlocks, automatic fire suppression, cooldown-before-wash/open, strict oil/water/
electricity separation, and a hardware safety PLC as final authority (software can never
override it). Water must never contact hot oil. A real build requires industrial safety
certification and licensed fabrication — the drawings here are references, not stamped
engineering documents. See docs/en/04-facility-and-safety.md.
Every delivery platform plugs in through one interface, so the orchestrator never cares which app an order came from:
receive_order(webhook) → NormalizedOrder → accept / decline → update_status → request_courier → courier_status
- Now: the
mockadapter implements this fully, so the entire order→serve→courier loop runs offline with no keys — that is what the demo uses. - Later: a real platform (Baemin / Coupang Eats / Yogiyo / Uber Eats) is added as a stub that implements the same interface. To switch it on, the operator completes the platform's approval, wires up OAuth/webhook, and supplies API keys via environment variables. Each stub documents exactly what it needs. No approval, no automation.
Details and per-stub requirements: docs/en/03-delivery-integration.md.
chefcell/
├── software/ Kitchen Orchestrator (Python): orchestrator · gateway (adapters+mock) ·
│ cell (simulator + safety-interlock model) · api (FastAPI) · sim (demo/dashboard) · tests
├── facility/ Sealed-cell reference: OpenSCAD/SVG layout, P&ID (water/drain/sanitizer), zone plans, bill of facility
├── hardware/ Robot/gantry layout, fryer module, tool models, wash-nozzle layout, BOM
└── docs/ en/ + ko/ — design spec, quickstart, architecture, delivery, safety, hygiene, hardware, deploy
The software, facility, and hardware trees are built in parallel from the same spec
(docs/en/00-design-spec.md, §10); file and command names above follow it, and details align to
each folder's own README as those are populated.
Start at the docs/ index. Highlights:
| Doc | What it covers |
|---|---|
| 00 · Design spec | The single source of truth (also 한국어: docs/ko/00-설계서.md) |
| 01 · Quickstart | Run the software demo end to end |
| 02 · Architecture | Control architecture + order lifecycle |
| 03 · Delivery integration | The adapter interface, the mock, adding a real platform |
| 04 · Facility & safety | The sealed cell, washdown, interlocks, hot-oil/water/electric separation |
| 05 · Hygiene & compliance | HACCP logging + the operator's compliance checklist |
| 06 · Hardware & fabrication | Robot/fryer/conveyor/wash reference + BOM pointers |
| 07 · Deploy & operate | Hosting, connecting a real cell + safety PLC, partners, ops |
Korean translations live under docs/ko/.
If you run a food business or invest in one and this is interesting to you — we'd genuinely like to hear from you. We'll be honest rather than salesy: today this is an open reference design + working software (mock/simulator), and a real deployment still needs your licensed fabrication, safety certification, food-hygiene licensing, signed delivery-partner agreements, and hosting. If that's a journey you want to explore, open an Operator / investor inquiry issue or start a Discussion and tell us what you're hoping to do. No confidential or personal details in a public issue, please.
- CONTRIBUTING.md — how to help; safety-critical and delivery rules
- CODE_OF_CONDUCT.md — be kind, be honest, be careful
- SECURITY.md — private disclosure for safety/security/secrets
- GOVERNANCE.md — safety-critical changes need review
- Dr. Lee Il-guk (이일국 박사) — project lead, CLSOFTLAB (씨엘소프트랩)
- LWJ
- LMJ
- Claude (Anthropic's AI) — design & implementation collaborator
| Area | Licence |
|---|---|
Software (software/) |
Apache-2.0 |
Hardware & facility (hardware/, facility/) |
CERN-OHL-P-2.0 |
Documentation (docs/, READMEs) |
CC BY 4.0 |
See LICENSE, NOTICE, and the LICENSES/ directory.
Designed with Claude (Anthropic's AI assistant). This is not an Anthropic product and is not endorsed by Anthropic.
Other open projects from the same team at github.com/clsoftlab-lang:
- open-walking-safety-helmet — patented walking-safety helmet, open-sourced
- robosoul-humanoid — a human-scale, open bipedal humanoid
- fireflies — helium-LED "jellyfish" night-sky art
- ieodalligi
- ongigil
- gyeoae
© 2026 CLSOFTLAB (씨엘소프트랩), Dr. Lee Il-guk (이일국). 셰프셀 · ChefCell.