About the Project
We set out to build Allan AI because, as ping pong players, we wanted an easier way to watch back our matches, spot momentum shifts, and relive highlight rallies without scrubbing through entire recordings.
The vision: drop in a match video and instantly get the story of the game — who pulled ahead, which points mattered, and a reel you can share or learn from.
Tech Stack Overview
To make that happen, we engineered a full stack:
- Frontend: Jetpack Compose Android app that records or uploads matches, handles secure authentication, and presents match history, stats, and highlight clips with a table-tennis look and feel.
- Backend: Spring Boot service backed by MongoDB that manages user accounts, stores match metadata, and orchestrates the (future) computer-vision pipeline.
- Computer Vision (in progress): Models that identify rallies, classify strokes, and auto-curate highlight reels tailored for ping pong.
What We Learned
Mobile ↔ Backend Choreography
We leaned on Retrofit, Hilt DI, and buildConfig-driven base URLs to keep the Android client flexible across emulator, LAN, and future cloud deployments.
Security Foundations
Migrating from local SharedPreferences passwords to JWT-based authentication taught us the value of hashing, request validation, and token lifecycle management.
Operational Discipline
Working with large video uploads forced us to tune OkHttp timeouts, storage, and logging so the pipeline remains reliable even on flaky networks.
Challenges We Met
Cleartext Restrictions
The emulator initially blocked HTTP calls to our local backend; we fixed it with a custom network security configuration and environment-based URLs.
Session and Storage Coordination
We reshaped our repository layer to persist tokens securely while leaving room for synchronized match data once computer vision is integrated.
Parallel Development
Balancing Android UI, backend APIs, and CV planning required heavy use of architecture docs (FrontendArchitecture.md) and DTO contracts to keep everyone aligned.
Next Steps
We now have a working login flow, match dashboard, and backend scaffolding ready for ping pong highlight detection.
Next up:
- Productionize the computer vision models
- Refine the upload and record experience
- Deploy the backend globally so players can analyze their games from any table in the world

Log in or sign up for Devpost to join the conversation.