In progress
SPOTINI
Mobile workout tracker: sessions, sets and personal records, with an AI coach. In French, English and Arabic.

- Role
- Full-stack & mobile
- Timeline
- 2026 — 2027
- Team
- Team of 2with Yassine Charcheri
- Tech stack
- 12 technologies
What it is
SPOTINI is a mobile workout tracker with an AI coach, built with Flutter and Spring Boot by Majd Ben Slimene and Yassine Charcheri as an academic project (DSI, mobile development course, ISET de Kélibia, 2026–2027), still in progress. It will also be hosted and opened to the public. A Flutter app, a Spring Boot API (Spring Modulith), a React admin and Python / FastAPI AI services.
Problem solved
Help people who train in the gym log their sessions, sets and personal records quickly, and get progression advice from an AI coach, in French, English or Arabic.
My role
- Authentication OpenAPI contract
- JWT sign-up and login with health-data consent
- Flutter sign-up, login and password-reset screens
- Flutter settings screen (language FR / AR / EN, theme, account deletion)
- Account deletion API
- Exercise search API (accent-insensitive, typo-tolerant, filters)
- Initial exercise dataset (80 exercises translated into French)
- Local Docker Compose environment
Key features
Workout sessions, sets and personal records
Training programmes and routines
Exercise library with search and filters
AI coach recommendations
French, English and Arabic, dark and light themes
Account and privacy settings (consent, account deletion)
Challenges
Health data
Solution
An explicit consent step at sign-up, and a full account deletion that removes the user's data from every table, checked by a cascade test.
Exercise search
Exercise search that works without accents and tolerates typos.
What I learned
- Contract-first API design with OpenAPI: lint and mock server before coding
- A modular monolith with Spring Modulith and Flyway migrations
- Building Flutter screens against a real API
- A team workflow with Jira tickets, pull requests and code reviews




