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.

Built With

  • api
  • css
  • edtech
  • education
  • flashcards
  • flask
  • generative-ai
  • google-gemini-api
  • html
  • javascript
  • microlearning
  • mobile-first-design
  • pypdf
  • pytest
  • python
  • python-docx
  • python-dotenv
  • rest
  • sqlite
  • web-app
Share this project:

Updates

Submission history