Cut no corners
No throwaway code. No 'we'll fix it later'.
Two people in Amsterdam. EU jurisdiction. GDPR-native by construction.
Operators kept asking the same question: AI agents shipped code, but where was the paper trail? The answer was nowhere. Odin started as the answer.
Six domain-isolated hubs (Academy / Compass / Assistant / Legal / Sales / Coding) shipped on a shared HubInput → HubOutput contract. Per-tenant isolation became structural, not runtime.
BrainDB landed: append-only audit, rationale-bearing writes, pgvector semantic recall. The why became queryable. Decisions stopped getting re-litigated.
Code-server + Odin Agent Runtime + per-tenant network isolation, deployed on Hetzner-EU or your own infrastructure. The workspace where work happens — fully audited.
Why we built this
Every team is shipping code through Cursor, Copilot, or an in-house agent. Every team is also discovering that nobody — not the engineers, not compliance, not the auditor six months from now — can say which prompt produced which line.
The layer
That gap is the layer we're building. Not another code-suggestion tool — the layer underneath that records what the agent did, why it did it, and who owned that decision. The layer that makes autonomous coding accountable to the humans who own the systems.
On-prem first
We're building it on-prem first because that's where the work that needs governance actually happens. Healthcare. Finance. Legal. Government. Companies that can't send their data to OpenAI but still need their devs to ship.
A small team, on purpose
We're building it as a small team because we want the architecture to stay correct. The temptation to ship features that compromise the structure goes away when you care about the structure surviving the next ten years.
The team
Two engineers in Amsterdam, building Odin full-time. No outsourcing, no offshore team, no "company of 20" framing. When you talk to us, you talk to us.
We'll add people when the work demands it. Until then, the small size is part of how the architecture stays correct.
Where we are
Dutch company. GDPR-native by construction. Customer data stays in NL by default; custom regions are available on Enterprise.
How we work
These are not marketing values. They are the rules we check ourselves against when we're tempted to ship something we shouldn't.
No throwaway code. No 'we'll fix it later'.
Every component extends without rewrite. Rollback is not a recovery primitive.
No magic defaults. No silent fallbacks. Every decision named.
Audit trails, approvals, and assumption logging are first-class — not a feature added later.
We reject features that compromise structure. Speed comes from staying clean.
Security posture can improve. It never degrades.