← Back to projectsLeisure
GameShelf
Your board-game collection, play sessions, and stats — with an AI shelf scanner.

Every game group ends up asking the same questions: which games do we own, who wins most often, what did we play last time? GameShelf answers them with a full multi-user product: collections, photo-logged sessions, stats, and anonymised community charts.
The crowd-pleaser: photograph your game shelf and Gemini Vision detects the titles, adding them to your collection after you confirm.
What it does
- Personal game collection and a session log: players, winners, duration, photos
- AI shelf scanner: one photo → detected titles → confirm → collection populated
- Personal statistics plus community top charts from anonymised aggregates
- Full trilingual UI (English, Romanian, French)
- CSV export and GDPR-style account deletion
Engineering highlights
- File storage is a pluggable abstraction (local disk / Azure Blob) — cloud migration is an env-var flip, and photos stream through the API to preserve per-user authorization
- Azure infrastructure lives in 5 reusable Terraform modules, with a scale-to-zero staging environment powered on/off on a schedule
- Async end-to-end backend: FastAPI + SQLAlchemy 2.0 async + asyncpg
- GitHub Actions CI/CD with OIDC federation to Azure — zero static credentials