The problem it solves
Sporting federations and clubs run competitions on spreadsheets, paper forms and message threads. A national championship means a registration window measured in weeks, entries arriving in half a dozen formats, weight categories and age groups reconciled by hand, and fees collected by bank transfer with screenshots as receipts.
Every one of those steps is a place where an entry goes missing, and the cost of one going missing lands on an athlete who has trained all year.
What we built
Sqoura runs a competition end to end. Organisations publish an event with its disciplines and categories, competitors or their clubs register through forms that understand the event’s own rules, entries land in a review queue rather than an inbox, and fees are collected at the point of entry with receipts issued automatically.
It handles both individual and team formats, and multi-discipline events where a single athlete competes across several categories.
How it is built
The backend is Vortos, the framework described elsewhere on this site: commands and queries separated, domain events published to a log, and read projections maintained asynchronously so that a heavy reporting query cannot slow down someone submitting an entry.
State of record lives in PostgreSQL. Projections live alongside it as indexed JSONB, which keeps a single datastore to operate and back up while still giving the read side its own shape. Kafka carries events between the two and to everything else that reacts to them. Redis handles caching and idempotency.
Everything runs containerised on ARM compute with object storage at the edge.
Where it stands
Sqoura is live and in beta, with a national federation as its launch partner — which is the arrangement that matters most, because features get tested during real competitions rather than in a staging environment. The roadmap is vertical expansion: the domain boundaries were drawn so that the competition model is independent of any one sport.
We are deliberately not publishing usage figures here. When there is a number we can attribute and date, it will appear on this page and not before.