Skip to main content
Case Studies / Lernoa

Lernoa: a free spaced-repetition engine with AI generation as the one paid step

A multi-user spaced-repetition flashcard platform where studying is free and unlimited, and only AI deck generation costs credits, built on a real Anki-grade SM-2 scheduling engine.

Visit Lernoa

Problem

Flashcard apps typically either lock studying itself behind a subscription, or give away a shallow free tier while paywalling the AI generation that actually saves time. Lernoa needed a genuinely free, unlimited study experience, funded only by the one feature people are willing to pay for: AI deck generation.

Architecture

Frontend

A React progressive web app, forked from the SnapKai codebase and re-skinned for a learning product.

API

A .NET 10 API backed by Postgres.

Database

PostgreSQL, with server-authoritative sync so a card's study progress stays consistent across every device a student uses.

Infrastructure

AWS, Docker and GitHub Actions CI/CD, following the same deployment pattern as the rest of the Corvidae fleet.

AI components

AI deck generation from a topic, level and language using AWS Bedrock, and a public MCP server exposing content tools under OAuth 2.1.

Engineering decisions

  • Lernoa was forked from the existing SnapKai codebase rather than started from scratch, reusing a proven credits-billing, authentication and PWA foundation and re-skinning it for a learning product.
  • A full SM-2 spaced-repetition engine runs server-side, so scheduling state cannot drift between a student's phone and laptop.
  • Adaptive card "retirement" was added so mastered cards leave the review rotation, keeping daily reviews short instead of repeating everything indefinitely like a naive flashcard app.

Challenges

  • Keeping every manual feature (unlimited decks, the public deck library, CSV and Anki .apkg import, study statistics) genuinely free and unlimited while metering only the AI generation step.
  • Building a markup-paste parser for the chapter editor that correctly handles formatted content pasted in from other sources.
  • Exposing the platform through a public MCP server with the same OAuth 2.1 and tool-permission model already proven on RoleRamp.

Outcome

  • Deployed and live at lernoa.com, with free study features and OAuth login working in production.
  • A public MCP server at api.lernoa.com/mcp exposes dozens of content tools under OAuth 2.1.
  • A Learning Center built on the same base adds document upload, an in-app reader, annotations, grounded AI chat and material-to-flashcard generation.

Want something built this way?

Tell us what you want to build. We reply within one business day with an honest read on scope, cost and timeline.

Start the conversation