Personal project · ongoing

Racket
Hub.

A racket-sport tournament management platform: single-elimination brackets, 1v1 challenges, team matches, real-time ELO ranking, and a badge system. A personal project designed, built, and migrated end to end.

Brief at a glance
Period2025 – 2026
ArrangementPersonal project
TypeFullstack app · mobile
StackGo · Expo · PostgreSQL
StatusOngoing
Screenshot · rackethub platform
The context

Organizing tournaments, for real.

RacketHub started from a real need: managing ping-pong tournaments between coworkers, with a reliable ranking and real-time updates. The prototype was built as a Next.js monolith, then migrated to a Go + Expo + Astro architecture targeting native mobile and better performance.

What was built

A Go backend, an Expo app, a landing page.

The Go backend exposes 54 REST endpoints via Chi router, with type-safe queries generated by sqlc, PostgreSQL transactions with optimistic locking, and a real-time SSE system propagated via NATS for multi-instance support.

The Expo mobile app covers 19 screens: bracket tournaments, Solo 1v1 challenges, Team 2v2 matches, multi-player Tournante mode, per-mode ELO rankings, player profiles with evolution charts, and 33 unlockable badges. JWT authentication with refresh token rotation, offline mode via MMKV, and push notifications.

The outcome

From first match to final ranking, all in one app.

Sign-up, tournament creation, live matches, real-time ELO rankings, unlocked badges: everything works end to end on mobile. What remains is the landing page and production deployment.

Tech stack.

Backend
Go (Chi · sqlc · pgx)
Mobile
Expo (React Native)
Data
PostgreSQL · NATS
Auth
JWT (access + refresh)
Real-time
SSE · NATS bridge
Infra
Docker · Docker Compose

An ambitious
project in mind?

If you need a developer who can design and migrate a fullstack application end to end, let’s talk.

Direct booking
FormatDiscovery call
Duration30 minutes
Response< 24h
CommitmentNone
Book my slot →
[email protected]Toulouse, FR
© 2026 Noah Vernhet. All rights reserved.Designed & built in Toulouse