Case study 02 · 2026 · Technotonin Industries · private beta
Create OS. Give your idea a place to take shape.
Forge, the built-in AI engineer, helps turn an idea into a connected project: requirements, parts research, system diagrams, firmware, and a plan to build and test it. Each output records what has been checked and what needs review.
17,304 lines Python kernel · Next.js 16 / React 19 site · measured, not claimed

Demo recorded September 15, 2026
From an idea to a first engineering plan.
A live run using web research and vendor pages.
Name the project
Click the mic or hold Space and describe the thing. Forge names it and says one line back.
Brief, requirements, decisions
Goal, editable assumptions, out-of-scope, requirements with traceability, open decisions, a parts list.
Research, price, diagram, code
Every source page fetched and its quote looked for. Every part priced from the vendor's own page. System diagram, gated build plan, bench tests, firmware.
“Swap the controller for an ESP32-C3 and keep parts under $50”
One spoken sentence. Decision reopened, changed parts re-priced, firmware, diagram and plan redone in the background.
That run: 10 of 10 parts priced, all 10 prices seen on the vendor's own page · 7 sources · a 253-line Arduino sketch. Measured by tests/test_forge_live.py.
The product
Nine artifacts, one project. Click through a real session.
The example project is a tabletop greenhouse monitor. Every screen below is a capture of the running desktop product, not a mockup.

Overview. Artifacts reviewed, open decisions, build tasks, the next decision to make, and Forge's spoken summary in the dock. The banner says exactly what the model did and when — and that nothing has been built on hardware.

Forge working. Four jobs run in parallel; each artifact shows what Forge is doing until its job lands, instead of a stale version.

Change impact. Edit one requirement and everything downstream — parts, diagram, cost, tests, firmware — is flagged for review and its tasks reopened.

Project brief. Goal, assumptions the user can edit, and what is out of scope. Everything downstream depends on it, so editing it sends the rest back to review.

Requirements. Each one traceable to the brief, and forward to the components, tests and code it affects.

Decisions. Recommendation, alternatives, why, trade-off, confidence, the evidence it cites, and which artifacts change if you pick differently.

Parts & BOM. Every row carries a price_check — on_page means the fetched vendor page actually prints that price; page_blocked, not_on_page, no_price and not_found are all distinct and all shown.

Sourcing. Where each part comes from, with the vendor page it was read from.

System diagram. Power, signals and interfaces between the chosen parts. Regenerated when a part changes.

Firmware. Python is syntax-checked locally; other languages are labelled “not compiled on this computer”. The product never claims the code ran.

Build plan. Phased tasks with day offsets, owners, and the artifact and decision dependencies that gate them.

Test plan. Bench tests derived from the requirements.

Research & evidence. Each source carries a check: quote_on_page, page_read, file_not_read (a PDF), or page_blocked. Same discipline as the evidence tags in the PAWE repository, applied to a product surface.
Architecture
How Forge keeps the project connected.
read → plan → ┬ structure
├ research four jobs in parallel
├ sourcing
└ code
POST /turn one model call returns:
say spoken, ≤ ~30 words
reply on screen
actions[] note · brief · requirements · decision · parts
research · code · structure · build
workspace.json schema_version 1 · atomic write under one lock
artifacts[] id · kind · version · depends_on · decision_ids
review status · provenance · prior versions
decisions[] recommendation · alternatives · confidence · evidence
tasks[] phase · owner · artifact + decision deps
jobs[] running · done · failed(reason) · interrupted
conversation[] said · applied[]
- Kernel. The OpenAI Responses API with a strict JSON schema on every reply and the hosted web-search tool for research and sourcing. Retries on 429/5xx. A failed call marks its job failed with the reason and offers Retry — there is no silent fallback that invents an answer.
- Typed actions. The kernel applies each action and starts heavy ones in the background. Until a job finishes, the artifact shows what Forge is doing rather than a stale version. A job left running by a closed app is marked interrupted on the next read.
- Review workflow. New artifacts are drafts. Review needs reviewed inputs and approved decisions. An edit sends everything downstream back to review and reopens affected tasks. Picking an alternative is
changes_requested. - Voice. Cloud STT and TTS with local
faster-whisperand the OS voice as fallbacks, so a session still closes when the network flakes. Typing or talking cuts Forge off. - Adapters. Pluggable subsystems for design (template-parametric, OpenSCAD, mesh, freeform), fabrication (Bambu over LAN, manual drop), research, sourcing, code authoring, planning, documents, STT and TTS.
The website
Next.js 16, React 19, TypeScript, Tailwind 4 — and nothing else in the runtime.
The marketing site at createos.tech is 3,720 lines with zero additional runtime dependencies. CSS/SVG planes assemble as the page scrolls, driven by one passive listener and requestAnimationFrame updating three decorative elements without a React re-render. Reduced-motion users get a static presentation; the mobile menu and the dependency demo work by keyboard.
The inquiry form posts to /api/interest with server-side validation, delivery through Resend then an optional webhook, seven-second timeouts per attempt, and an explicit 503 with a prefilled mail link if nothing delivers — it never pretends an undelivered request succeeded.
Nine offline checks on the API
Malformed payloads, validation and length limits, missing delivery config, provider success and failure, HTML escaping, and fallback — every network call mocked.
Front-end behaviour under mocks
Form loading, success, errors, repeat submissions, draft preservation, scroll progress and reduced-motion.
83 Python files · 17,304 lines · 14 TS/CSS files · 3,720 lines
Plus an investor package with an architecture map, financial model and risk register — and an explicit list of claims the company has banned itself from making.