Stadion Sports Center
Bookings & members’ club for a historic sports venue
Customer web app, iOS and Android member app, staff back-office and cloud API for a multi-sport venue, integrated with Stripe, Salesforce, SoftOne ERP and Genetec door access
-
Strategy
One backend, three front doors: members on the web or their phone, staff on a live back-office, and every change visible everywhere at once
-
Design
A mobile-first design system in light and dark, with its own green look for the members-only Clubhouse
-
Client
Stadion Sports Center
-
Tags
Android, Angular, Back-office, Booking system, Firebase, Flutter, Genetec, Google Cloud Run, iOS, Payments, PostgreSQL, Salesforce, SoftOne ERP, Stripe
Stadion Sports Center
A historic sports club, run from one platform.
Stadion is the digital platform of Stadion Sports Center, a historic multi-sport venue with tennis, padel, pickleball, golf simulators, a gym, group classes, a restaurant and a private members’ Clubhouse. It replaces phone calls, spreadsheets and front-desk paperwork with one connected system. Members book a court, invite friends, pay and manage their membership from the web or their phone. Staff run the whole venue from one live back-office: courts, classes, coaches, pricing, memberships, reports and the Clubhouse. We designed and built every part of it: the customer web app, the iOS and Android member app, the staff back-office and the cloud API behind them, connected to Stripe, Salesforce, SoftOne ERP and the venue’s door-access system.
A historic club, run by phone and paper
Booking a court meant a phone call or a trip to the front desk. Availability lived in spreadsheets, payments and invoices were handled by hand, and member details had to be kept in step across the venue’s ERP and CRM. Every sport came with its own rules: floodlights after sunset, coaches with their own fees, guests with a yearly visit cap, children booked by their parents, and a cancellation policy that has to be applied fairly every time.
On top of that sits the Clubhouse, a private members’ club where discretion matters: invitation-only access, event requests, referrals and sensitive health information that has to be protected by law. The venue needed one system that members find effortless, and that staff can trust to apply the rules without exceptions.
One venue, one live system
Four parts share one backend. The customer web app and the iOS and Android member app are where members book, pay and manage their membership. The staff back-office is where the front desk, managers and coaches run the venue day to day. A cloud API connects them all, so whatever staff change shows up for members straight away, and the reverse.
The platform plugs into the systems the venue already runs. Stripe handles card payments, SoftOne ERP keeps customer data and invoicing in step, Salesforce receives Clubhouse accounts, event requests, referrals and approved cases, and Genetec opens the Clubhouse door from a member’s phone.



Book a court in a few taps
Play together
A checkout that explains every euro
A wallet that shows what's really yours
Classes and coaches
The Clubhouse
Running the venue
One source of truth, many doors
A REST API on Google Cloud Run in the EU, backed by PostgreSQL, is the single source of truth for bookings, wallets and memberships. The web apps are built in Angular 20 and 19, with standalone components, Signals, lazy loading on every page, and server-side rendering for fast first loads. The member app is built in Flutter for iOS and Android, with a layered structure (screens → view models → services) and reactive streams, so a change to a member’s balance or Clubhouse access updates every screen on its own. Firebase handles sign-in, with a token checked on every API call, plus push notifications on web and mobile, hosting and media storage. The reasoning behind the mobile app’s key decisions is written down in fifteen Architecture Decision Records.
The venue’s rules are enforced by the platform, not by goodwill. Each membership plan has its own limit on active bookings, with a counter members can see. Members who cancel too often are suspended automatically for a set period, with the end date shown clearly. Under-18 rules are set per sport, academy accounts follow their own simpler rules, and members whose plan doesn’t include app booking are told to contact the front desk instead of hitting a broken screen. On the staff side, nine roles (Admin, Front Desk, General Manager, Staff, Coach, Academy, Grid Maintainer, Clubhouse Manager and Customer) each get their own permissions and their own start page, enforced in the interface and on the server.
Privacy and security are designed in. Health data is treated as a special category under GDPR Article 9: explicit consent, encryption, one-click erasure, and every staff view of it audit-logged. Error reports, sent to Sentry, carry only what engineers need: never what a member typed, never health data, and email addresses masked. The web apps ship with a strict Content Security Policy, and payment result pages can’t be opened by typing their address. The web apps release through GitHub Actions, with a preview link for every pull request and separate staging and production environments.
Since 2023, from feedback panel to operating system
Product design, web, mobile, backend and integrations are all ours. A team of 16. That adds up to more than 1,800 commits on the two web apps alone. Along the way:
- 2023: the staff back-office, starting as a feedback panel and growing into the venue's operating system
- 2024: wallet and points, coupons, notifications and membership packages
- 2025: launch of the customer web app, with booking for every sport, Stripe payments, QR access and push notifications; in the back-office, the live booking grid, drag and drop, recurring bookings, group programmes, coaches, and the Salesforce and SoftOne integrations
- Late 2025: family accounts, guest invitations, coach booking, golf simulators, under-18 rules, automatic suspensions and a full visual redesign
- 2026: invoices and detailed cost breakdowns, academy accounts and a new pricing model; then the Clubhouse, with event planning, referrals, GDPR health profiles and its own back-office; and the native member app with door access from the phone
Stack
- Web: Angular 20 / 19 · TypeScript · Signals · Tailwind CSS · Angular Material
- Mobile: Flutter · Dart · Flutter Hooks · RxDart · go_router · built_value
- Backend: REST API on Google Cloud Run (EU) · PostgreSQL
- Identity & messaging: Firebase Authentication · Firebase Cloud Messaging
- Hosting & storage: Firebase Hosting · Firebase Storage
- Payments: Stripe
- Business systems: Salesforce · SoftOne ERP
- Physical access: Genetec
- Monitoring & delivery: Sentry · GitHub Actions
SKAI.gr