01The challenge
Amateur sports run on group chats, spreadsheets and goodwill. Finding a game, filling a missing spot, splitting a pitch booking and keeping teams balanced all depend on one organizer who eventually burns out.
The product had to solve the whole loop, not one screen: discovery, teams, events, venues, fair matchmaking, chat and notifications, in a mobile-first experience that works for people who are not technical.
02The solution
KROO is built as a modular monolith on .NET with a React Native app for iOS and Android and a web companion. Each area of the product (teams, events, pitches, ratings, matchmaking, chat, notifications, payments, leagues) is a separate module with its own domain model, so the product can grow without turning into a tangle.
Players rate each other after games through a blind rating system; a matchmaking algorithm uses those scores to build balanced teams automatically. Real-time chat and push notifications keep games organized, and pitch owners manage availability and bookings from the same platform.
The infrastructure runs on Azure with PostgreSQL, Redis, SignalR and background jobs, with CI/CD pipelines that release to test and production tracks and to the app stores.
03Impact
KROO is the clearest example of end-to-end ownership: every layer of the product, from the first sketch to the app-store release, was designed and built as one coherent system. It is also the reference architecture that later client work builds on.

