Internative Logo

Sportez: The Mobile Platform That Finds a Game Near You

Sportez: The Mobile Platform That Finds a Game Near You

Sportez: The Mobile Platform That Finds a Game Near You

The client

Sportez is a mobile platform that connects amateur athletes by location and sport. The idea came from a simple observation: people want to play, there are enough players nearby, and the two never find each other. Five-a-side rosters get assembled in messaging groups, running partners are sought on social media, tennis opponents come through a friend of a friend.

Sportez moved that scattered process into one app. You see the meetups happening near you on a map, join one that fits, or organise your own.

The challenge

The engineering behind this kind of platform is harder than it looks.

Concurrency is a real problem. Twelve people can try to join a ten-player match at the same moment. The system has to decide instantly and consistently who is in and who moves to the waitlist. Getting it wrong means someone travels to a pitch with no place waiting for them.

Location-based discovery has to scale. Events are filtered on the map by sport, date and distance. Those queries cannot slow down as the user base grows.

Without trust, nobody meets a stranger. The most critical question was social rather than technical: how do you convince people to play sport with someone they have never met?

One codebase, two stores. A startup budget could not support two separate native teams, yet the app needed maps, notifications and real-time chat.

What we built

Internative delivered the mobile app, the backend, the admin panel and the marketing site end to end. The project started on 12 May 2026, shipped on 10 July, and went live on the App Store on 30 July.

The mobile app

We built the app in Flutter, so a single codebase serves both iOS and Android. We started with screen prototypes, settled the flows first, then wrote the code.

Four core flows: map-based discovery with filtering, event creation with capacity control, joining and waitlist handling, and event-scoped group chat.

Capacity and waitlist

We solved the concurrency problem in the backend. Join operations are handled atomically; once capacity fills, further users enter a queue. When a participant drops out, the next person is notified and given a window to confirm the place. A freed slot is never claimed before it is announced, and nobody is left guessing.

Real-time communication

Event chat runs on Socket.IO. The conversation is open only to that event's participants. When an organiser changes the time or cancels, it lands in the chat and goes out as a push notification through OneSignal.

Trust infrastructure

We turned trust into a product feature. Account verification, post-meetup mutual ratings, attendance history and badges work together. Before joining, a user can see the organiser's profile, rating and past events.

Attendance verification feeds the same loop: a participant confirms attendance with their location at the venue, which in turn strengthens their profile credibility.

Privacy and data control

Location, notification and marketing permissions are managed separately. Location is not tracked in the background. Users can export their data or delete their account from within the app, with a seven-day window to restore it. GDPR and KVKK requirements were engineered into the architecture rather than bolted on afterwards.

Backend and admin panel

Services run on Node.js and NestJS, with MongoDB as the data layer. The architecture scales horizontally: growth is handled by adding servers.

For the team we built an admin panel in React and Next.js: user and event management, content moderation, report handling and reporting in one place.

We set up the external services too: Mailgun for email, OneSignal for push, Wasabi and Bunny CDN for files and media, and Apple and Google sign-in for authentication.

Marketing site

We built the sportez.io marketing site in two languages, bringing store links, FAQ and legal pages together.

The outcome

The project was delivered in eight weeks, on plan. The app went live on the App Store and Google Play on 30 July 2026.

Sportez now supports twelve sports including football, basketball, volleyball, tennis, padel, running, yoga, pilates, boxing and hiking. It is active in twelve cities, led by Istanbul, Ankara, Izmir, Bursa and Antalya.

Delivery was followed by a critical support window and a six-month warranty period, with a twelve-month technical support term running after that.

Technology

Flutter · Node.js · NestJS · MongoDB · Socket.IO · React · Next.js · OneSignal · Mailgun · Wasabi · Bunny CDN · Apple and Google Sign-In

Building something similar?

If you are planning a location-based, community-driven mobile product, let's scope it together. Bring the technical question that is slowing you down and we will start there.

Sportez: harita üzerinde yakındaki spor buluşmalarını keşfetme ekranı
Sportez: spor, yer, zaman ve kontenjan belirleyerek etkinlik oluşturma ekranı
Sportez: etkinlik detayı, katılımcı listesi ve tek dokunuşla katılma ekranı
Sportez: yalnızca etkinlik katılımcılarına açık grup sohbeti ekranı
Sportez: takvim görünümü, yaklaşan etkinlikler ve bildirim ekranı