Inspiration
I spend about 4 hours a day commuting to my internship and back. That's time I can't use for deep work, but I kept thinking it could be enough for something small: a few flashcards, a quick review. I built Mileo to turn dead commute time into short, focused study sessions.
What I learned
- Integrating the Gemini API to generate flashcard decks from any topic or uploaded notes (PDF/DOCX/TXT)
- Persisting sessions with SQLite so progress survives refreshes
- Handling weekly stats correctly across timezones (Mon-Sun, Asia/Kolkata)
- Writing server-side validation and a real test suite with pytest
How I built it
The backend is Python + Flask, the frontend is server-rendered HTML with plain JavaScript and CSS, and sessions are stored in SQLite. Decks are generated live with the Gemini API (gemini-2.5-flash) from a topic and difficulty, or from uploaded study material. The dashboard tracks weekly minutes, hours reclaimed, and recent sessions.
Challenges
- Preventing duplicate session saves from double taps
- Getting week boundaries right across timezones
- Making AI-generated decks reliable enough to study from
- Building this alongside a full-time internship and a 4-hour commute - which is exactly the problem Mileo tries to solve.

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