PLAYBOOKApplications & Infrastructure2 min read
Build a ServiceNow Replacement
For IT and platform teams who want ITSM without the ITSM invoice — or the ITSM rollout.
Who this is for: IT and platform teams staring at a ServiceNow renewal, and the engineers who'd rather own the engine than rent it.
ServiceNow is a durable workflow engine with a record store and a portal bolted on. The lifecycle is the product — incident, change, approval, SLA — not the UI. On kilter you compose the same shape from primitives you own, and the app stays thin enough to reason about.
The recipe
- Scaffold.
kilter init itsm. - Declare the substrate in
kilter.yaml:postgres(one canonicalwork_itemtable),ory(identity + roles),temporal(incident, change, approval, SLA timers),typesense(search tickets + knowledge base). - One universal record, one mutation door. All writes flow through a transaction that also writes audit + outbox — atomic, so the trail can't drift from the truth.
- Encode every lifecycle as a durable Temporal workflow. An approval can't be skipped by a well-meaning admin endpoint; the SLA timer can't be forgotten. The workflow enforces it.
- Run locally, then ship.
kilter upfor the whole stack, thenkilter deploy— live in production, Org Only, your staff signing in through OIDC. - Open the doors deliberately. Company-wide self-service portal, or access for external vendors and their prod data? Hit Promote to run the workflow that grants external and production data access under approval.
~/itsm — zsh
$ kilter init itsm
$ kilter up
$ kilter deploy # live in prod, Org Only
This is an agentic ITSM platform where the engine — not the app — is the
product. The full architecture (universal work_item, event-driven
projections, an AI-generated but allowlisted UI) is written up in the
showcase.