Inspiration

I have a habit of trying to learn something new all the time:

  • Some weeks it's building a game
  • Other weeks it's Rust
  • Other days it's an AI paper I actually want to sit down and understand

The problem is always the same: the moment I finish reading, I start forgetting. I'd highlight a passage or take a screenshot meaning to come back to it, and then almost never would. Writing flashcards by hand felt like homework on top of homework, so that habit never stuck either.

I built Myto to fix that for myself first: capture the highlights and screenshots I was already taking from whatever I was reading or studying - web pages, PDFs, and beyond - and turn them into gamified daily quizzes automatically, with no manual flashcard-writing and no human intervention needed to generate them. Questions I get wrong resurface more often, spaced out until the concept actually sticks. It started as a personal itch, but the more I built it the more obvious it became that this isn't just my problem - anyone who's serious about continuously learning new things runs into the same gap between capturing information and actually retaining it.

What it does

Myto turns anything you read into something you remember:

  • Capture - highlight a passage on a webpage or PDF, or screenshot a moment in a YouTube lecture. Myto saves it along with its surrounding context.
  • Generate - every night, a scheduled job gathers everything captured since the last run and hands it to Gemini 2.5 Flash, which analyzes the content and writes quiz questions (multiple choice or fill-in-the-blank) testing real understanding, not just recognition. No human reviews or edits a question before it reaches you.
  • Review - an FSRS-based spaced-repetition schedule and a Duolingo-style quiz path turn "review" into a five-minute daily habit.
  • Retain - questions you get wrong resurface sooner, questions you know well drift further out, until the concept actually sticks.

How we built it

  • Capture: a Chrome extension that highlights and screenshots content from any webpage or PDF.
  • Backend: a FastAPI service on Google Cloud Run, with a PostgreSQL database on Neon
  • Quiz generation: a nightly Cloud Run Job walks every user's newly captured content and calls Gemini 2.5 Flash to generate that batch's quizzes.
  • Scheduling: performance on each question reschedules it via the FSRS algorithm, so wrong answers resurface sooner and mastered ones fade into the background.
  • Auth & billing: Firebase for accounts, Paddle for subscriptions - live today with a free tier and a 14-day no-card Pro trial.
  • Storage & PDFs: assets live in Cloudflare R2; PDF highlights are written as real /Highlight annotations via pdf-lib, so an exported PDF is genuinely annotated, not just overlaid in our own viewer.

Challenges we ran into

  • Live grading would have been too slow and expensive. Calling an LLM to check every answer in real time spikes both cost and latency. Instead, we generate the canonical answer and accepted alternates at the same time we generate the question, store them, and grade instantly from the database.
  • Fill-in-the-blank answers have more than one right form. Gemini's generated accepted-answer list won't always catch every valid phrasing, which used to mark genuinely correct answers wrong and cost us trust. We added a "challenge this question" flow: users flag a disputed answer with a comment, and the next nightly run has Gemini re-evaluate the question against that feedback and accept or reject the challenge - the product gets more accurate over time with no human moderation on our side.
  • Cross-cloud egress cost. Screenshots originally lived in Google Cloud Storage while the frontend served from Cloudflare - every dashboard load pulled images from GCS to the browser and racked up GCS's standard per-GB egress fees. Moving the bucket to Cloudflare R2, which charges zero egress, eliminated that cost as usage scales.
  • PDF highlight fidelity. Getting captured highlight coordinates to line up with real, embedded /Highlight annotations in the PDF itself - not just a visual overlay - surfaced a subtle coordinate-offset bug we only caught through direct end-to-end testing.

Accomplishments that we're proud of

  • A self-improving quiz loop: disputed questions get re-evaluated and corrected by Gemini automatically, so quality compounds with usage instead of decaying.
  • A real content library with full-text search across everything you've ever captured.
  • A PDF highlighter that round-trips real, standards-compliant annotations rather than a fake overlay.

What we learned

  • Building reliable, production-grade software with AI coding assistants (Claude Code, Cursor) turned out to be its own skill worth developing deliberately, not an incidental speedup. Not a single line of code was typed manually.
  • Batching AI calls into one nightly pass instead of calling Gemini live per capture was the single biggest lever for keeping inference cost low enough that a generous free tier stays sustainable - the architecture choice was also the business-viability choice.

What's next for Myto

  • Specialized capture for YouTube, Udemy, and X, since a lot of learning happens in videos and threads, not just articles and PDFs.
  • AI-generated, exportable note cards built from what you've captured.
  • A mobile app with a richer gamified experience - streaks, streak freezes, and beyond.
  • A personalized feed recommending articles and videos based on what you've captured and cared about.
  • Firefox and Edge extension support.
  • Notes and annotations as first-class sources for quizzes, not just highlights.
  • An agent that takes the GitHub issues our feedback flow already auto-files and drives them to resolution with minimal human involvement.
  • Doubling down on the social and product-led growth channels that get Myto in front of more people who share this exact problem.

Built With

Share this project:

Updates

Submission history