Skip to content
All projects

MagnyBad

Stores

The club app for Magny-les-Hameaux badminton: weekly training slots you sign up to, club events, a training video library, and realtime discussions.

React NativeExpoSupabase
View on the store
Role
Developer — mobile app and API
Period
2024 — today
Status
Stores

The problem

The club ran on messaging threads: who is playing on Monday, which team travels to Versailles, when the AGM is. Nothing had a single source of truth, and a player joining mid-season had no way to catch up.

The decision

A managed backend, and realtime only where it earns it

Signups, events and the video library are club rules, not screen state, so they live in Postgres on Supabase rather than in the app. Auth and row-level access come from the same place, which turns “this member may see this” into a database rule instead of a condition scattered across screens — the difference that decides whether a club app stays correct once a second maintainer touches it.

Discussions run on Supabase realtime; everything else is fetched. Being a second late is a bug in a conversation and merely an inconvenience everywhere else, so realtime stays scoped to that one surface — which is what keeps the rest of the app cheap to reason about. It is also the project where the constraints came from someone other than me: a real club, with a season calendar that does not move.

The chain

Architecture

React Native · Expoapp
SupabasePostgres · auth
Realtimediscussions

Shipped

  • Weekly training slots, filtered by day, one-tap signup, and the list of who is coming
  • A training video library, filtered by theme and by level
  • Club events with search — internal tournament, AGM, end-of-season meal
  • Interclub fixtures with opt-in per match
  • Member directory, realtime discussions and followed players
  • Published on both stores, still maintained — v1.0.42, July 2026
MagnyBad home screen: your next training slot, and shortcuts to slots, interclubs, videos and followed players

Screens

MagnyBad events screen: searchable club events, from the internal tournament to the AGM
MagnyBad weekly training slots, filtered by day, with one-tap signup
MagnyBad training video library, filtered by theme and by level

Next project

Drapoz