MindRecall is an intelligent, production-grade, AI-driven Spaced Repetition System (SRS) designed to automate the conversion of dense educational material—such as university lectures, YouTube courses, and messy study notes—into deep conceptual flashcards.
By applying the mathematical SM-2 Spaced Repetition Algorithm alongside semantic extraction via modern Large Language Models, MindRecall targets the Ebbinghaus Forgetting Curve to systematically lock complex machine learning and computer engineering theory into long-term memory.
The backend is built using a fully asynchronous, decoupled layered architecture optimized for high concurrency, low I/O latency, and cross-platform mobile access.
- Core Framework: FastAPI — High-performance ASGI web framework utilizing native Python asynchronous event loops.
- Database Engine: SQLAlchemy 2.0 (Async Engine) — Modern Object-Relational Mapper executing type-hinted declarative models.
- Database Infrastructure: PostgreSQL via
asyncpg— Relational cloud storage ensuring persistence across ephemeral free-tier environments. - Data Validation Layer: Pydantic V2 (
pydantic-settings) — Strict runtime typing and fail-fast environment validation. - Intelligence Automation: Google Gemini API (
gemini-2.5-flash) — Structured JSON schema extraction for advanced technical concept mapping. - Ingestion Pipeline:
youtube-transcript-api— Automated scraper for processing raw video lecture transcripts.
MindRecall/
├── app/
│ ├── api/ # HTTP web routes, endpoints, and request gates
│ ├── core/ # Global application configuration and validation settings
│ │ └── config.py
│ ├── db/ # Database engine infrastructure and connection pools
│ │ └── session.py
│ ├── models/ # Declarative SQLAlchemy relational tables
│ │ └── flashcard.py
│ └── __init__.py
├── .env.example # Structural layout for configuration credentials
├── .gitignore # Comprehensive source exclusion rules
├── requirements.txt # Explicit production dependencies
└── README.md # Documentation