← All Projects

MindDeck

An interactive flashcard study application built to make active recall more engaging.

PythonFlaskSQLiteJavaScriptHTML/CSS

Learning through active interaction.

MindDeck is an interactive flashcard study application developed as my CS50x final project. It combines traditional flashcard study with a game-oriented experience designed to make reviewing material more active and engaging.

Users can create and study flashcards, reveal answer choices, receive immediate feedback, and work through study material using a structured interface backed by persistent data.

01

Make studying feel less passive.

Traditional flashcards are useful for active recall, but the experience can become repetitive. MindDeck was designed around the idea that studying should require interaction and give learners immediate feedback as they work through material.

02

Turn each card into an interaction.

Instead of simply revealing an answer, MindDeck guides the learner through a question-and-answer flow. Users reveal choices, make a selection, and immediately see whether their response was correct, creating a more active study experience.

From interface to database.

MindDeck was built as a full-stack application, with the study experience connected to backend logic and persistent data rather than functioning as a static prototype.

01

Study Experience

Interactive flashcard flows with answer reveals, choices, and immediate correct or incorrect feedback.

02

Flask Backend

Python and Flask handle application routes, user actions, and the server-side logic behind the study experience.

03

Persistent Data

SQLite provides persistent storage for application data and connects the interface to a database-backed workflow.

04

Responsive Interface

HTML, CSS, and JavaScript create the interactive frontend and visual feedback throughout the application.

See MindDeck at work.

A short walkthrough of the study flow, interactive answer states, and feedback experience.

DEMO COMING SOON

MindDeck product walkthrough

Building the pieces into one application.

MindDeck brought together the concepts I learned throughout CS50x into one complete application. Building it required me to connect frontend interactions with server-side logic, database persistence, and the overall user experience.

More importantly, the project gave me experience taking an idea from concept to working software — making design decisions, debugging problems across different parts of the application, and iterating on the experience as the project developed.