Turn product events into versioned, testable, and explainable customer state.
Kite is an event-driven Customer Success as Code engine. Product behavior enters as facts; versioned TypeScript definitions explain what those facts mean; the state engine computes what is true for each customer now.
Not analytics. Not a CRM. A computation layer for Customer Success.
Activation, risk, and health are product logic. In Kite, that logic lives in source control rather than hidden dashboard settings. This makes definitions:
- Explicit β each outcome has concrete, readable conditions
- Reviewable β changes appear in pull requests before release
- Versioned β deployed snapshots are immutable and auditable
- Testable β events can be evaluated locally or in
testbeforelive - Replayable β retained history can be recomputed under a pinned version
- Explainable β state changes retain their trigger and rule context
events + current traits + configuration
β
βΌ
state engine
β
βΌ
lifecycle, journeys, segments, health, rule logs, and emissions
Kite separates what happened from what it means:
| Layer | Example | Behavior |
|---|---|---|
| Event | report.exported at a specific time |
Immutable historical fact |
| Trait | plan: "growth" |
Current customer attribute |
| Definition | Three exports complete an outcome | Versioned interpretation |
| Derived state | Journey complete, health 82 | Computed result |
Events describe what happened. Configuration defines what it means. Kite computes what is true now.
Kite models your customer journey through composable, typed primitives β each answers a distinct question:
| Primitive | Question it answers |
|---|---|
| Lifecycle | Which one stage is the customer in? |
| Journeys | How far has the customer progressed through an ordered outcome? |
| Rules | Does the customer satisfy a specific condition right now? |
| Segments | Which customers share a durable classification? |
| Health | What is the customer's numeric health score? |
| Signals | What flag-level indicators are active for this customer? |
# Requirements: Node.js 20+
npm install -g @kitesdk/cli
# Authenticate
kite login
# Create a functional project (lifecycle, journeys, health, signals β ready to run)
mkdir my-kite-project && cd my-kite-project
kite init
# Validate the model
kite validate
# Run the state engine locally with hot reload
kite dev # β http://127.0.0.1:4401
# Deploy to test, then promote to live
kite deploy --env test
kite deploy --env liveKeep environments separate: test keys start with kt_test_, live keys with kt_live_.
π Full walkthrough: 5-minute quickstart
edit β validate β test locally β inspect state β review diff β deploy
Treat Kite configuration exactly like application code β PRs, CI, version history, rollbacks. No drag-and-drop builders.
| π Website | usekite.cloud |
| π Documentation | docs.usekite.cloud |
| πͺ Dashboard | app.usekite.cloud |
| π¦ npm org | @kitesdk |
Kite is under active development. The CLI, Node.js SDK, and configuration DSL are available on npm. Start in the isolated test environment before promoting to live.
No credit card required. Built with your feedback.