Spec-driven development
Reviewed intent, specifications, execution inputs and verification results, retained regardless of coding agent or model.
View Emery on GitHubBuild what matters. Get it live. Keep it working.
Software design is a human process. It takes people, reflection and collaboration to build great systems.





AI can write code in minutes, but it cannot frame a problem, weigh trade-offs or own consequences. That still requires people.
We practise human-led engineering, putting agents to work in service of the people making those calls — inside a delivery system they cannot redefine.
The controls travel with the work. Governed workspaces isolate changes from production. A shared engineering codex gives engineers and agents the same versioned standards and patterns, and non-negotiable rules fail at compile time. Review stays focused on design and judgement while one automated path tests, gates and promotes accepted code.
Chat history is not an audit trail. Our spec-driven development engine turns intent, documentation, tests and code into a specification people reflect on, debate and seal in the repository: spec.md for requirements, design.md for architecture. Ambiguity is surfaced for human judgement, not buried in generated code. Swap the model; the specification stays.
Every application we build runs on our WebAssembly runtime — Rust, on Wasmtime. A component has no ambient filesystem, network or process access; it reaches infrastructure only through capabilities the host grants. With the target that narrow, even smaller models build within known bounds while engineers focus on the product.
The spec-driven development engine and WebAssembly runtime are freely available on GitHub. See the docs or read the code to see how they work together.
See how they fit togetherReviewed intent, specifications, execution inputs and verification results, retained regardless of coding agent or model.
View Emery on GitHubSandboxed application components, explicit capabilities and host-specified infrastructure give generated code less freedom to surprise you.
View Omnia on GitHubHow we help
We work out what is really in the way, set the boundaries and shape a first delivery worth doing. No maturity score. No generic AI programme.
Find the first moveNew system or old one: we use AI where it helps, senior people where judgement matters and a production path we already know.
You keep the specifications, tests, infrastructure and delivery knowledge. The next change starts ahead, not at zero.
Make the next change easier