Scan and explain
The photo goes through FastAPI to a Redis queue and Celery workers running a YOLOv8 detector; the app draws the detections and a short explanation, and a chat assistant answers follow-up questions.

The Expo app built for the web with sample data, in English with a Vietnamese switch; the scan runs on my own selfie.
Skincare progress is slow and easy to misread, and routines are easy to drop. GlowTrack detects and counts the kinds of acne in a photo, explains them in plain Vietnamese, and keeps you on a routine with a partner.
My part. The Expo app and the FastAPI backend with its Celery workers and detection pipeline; my graduation thesis, defended in September 2025.
YOLOv8
acne detection on queued Celery workers
Source: backend repo
2
people per routine in partner mode
Source: app
Daily
reminders, streaks and session resets on a schedule
Source: backend
The photo goes through FastAPI to a Redis queue and Celery workers running a YOLOv8 detector; the app draws the detections and a short explanation, and a chat assistant answers follow-up questions.

Sessions and steps per day, scheduled reminders, streak records and daily resets run by Celery, plus a partner mode where two people keep the same routine and nudge each other.

A calendar of past scans and check-ins, grouped by month, so progress is visible over weeks rather than guessed from a mirror.

YOLOv8 counts the lesions first; Gemini only explains those counts, under fixed safety rules and a required JSON shape.
APScheduler only enqueues; Celery workers send the reminders and reset streaks at midnight, outside the API's request path.
Credit. Graduation thesis. The screens come from a polish branch of the app (type ramp, contrast, harmonized colours, complete English, layout fixes) run on the web target.