Building against Kinetix
Contracts, endpoints, authentication and error semantics for clients and integrations.
Kinetix runs catalogue, checkout, payment, warehouse fulfilment and courier dispatch as independent
services. Each service owns its data and its database. Services talk to each other over gRPC, against
contracts defined once in kinetix-contracts. Outside traffic enters through a single Kong gateway,
and identity is the only service that decides who a caller is.
These pages explain why it is built that way, what each service is responsible for, and the contracts between them. Every page is written against the code it describes and links to that code at a fixed commit, so what you read is what runs.
Building against Kinetix
Contracts, endpoints, authentication and error semantics for clients and integrations.
Learning backend from Kinetix
Real problems — overselling, double charges, partial failure across services — and the code that solves them, step by step. Assumes you know HTTP, SQL and one backend language.
| Service | Owns | Language |
|---|---|---|
| identity | Accounts, authentication, tokens, merchant approval | TypeScript |
| catalog | Products and categories | Python |
| pricing | Prices, discounts, vouchers, flash sales, shipping rates | Rust |
| order | Cart, checkout, orders, returns | C# |
| payment | Payments, escrow, wallet | Java |
| warehouse | Bin inventory, stock reservation, fulfilment tasks | Ruby |
| matching | Courier allocation and dispatch | Elixir |
| review | Product reviews | PHP |
| notification | Customer notifications | Scala |
| communication | Real-time chat | C++ |
| search | Product search | Go |
Around them sit the API gateway (Kong), the courier app (Flutter) and the contracts (Protocol Buffers) every service conforms to.