The Korti logo next to two phone screens of the app: the open-games feed and the court map of İzmir.

Highlights

What it is

Every tennis player knows the feeling: you have a free evening, the weather is perfect, and nobody to hit with. Korti exists for exactly that moment. It answers one question, “Who can I play tennis with today?”, and tries to answer it with as little friction as possible.

You open an open game with a time, a place, singles or doubles and a level. Other players ask to join, you accept the one that fits, and only then do the two of you see each other’s contact details. That is the whole loop. I deliberately kept it from turning into yet another social network.

The foundation: a court dataset

Korti stands on a separate piece of work I’m just as fond of: a map of where tennis is actually played in Türkiye. It is a research dataset covering 19 provinces, 2,352 venues and 4,798 individual courts, with opening hours, prices, lighting, surfaces and a source citation behind every entry. Korti’s map is built from a reviewed slice of it. İzmir has 115 venues and İstanbul 237, and anything I could not confirm stays out rather than being guessed.

How it works

Korti is a TypeScript monorepo. The web app is Next.js, and a Fastify API is the only part that ever touches PostgreSQL. A small architecture check fails the build if a client tries to reach the database directly. The map runs on MapLibre with OpenFreeMap tiles, served from Korti’s own origin with no third-party map script or API key. Playwright tests the main journeys in three browsers.

What I’m proud of

The care that went in before launch. Korti was built specification-first, with AI-assisted implementation held to about 25 design documents covering the threat model, privacy and safety, authorization, account lifecycle and production readiness. Blocking, reporting, account deletion, backups and a restore drill were part of the plan from the start. Recently I added a tennis level guide, activity badges and password reset by email.

Where it stands

Korti is in public beta at korti.club, starting with İzmir and İstanbul. The architecture doesn’t assume any one city, so new places can be added once their courts are mapped. Android is planned next, built on the same backend.

Built with