FEATURED PROJECT
MindDeck
An interactive flashcard study application built to make active recall more engaging.
THE PROJECT
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.
DESIGN & DEVELOPMENT
THE CHALLENGE
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.
THE SOLUTION
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.
WHAT I BUILT
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.
Study Experience
Interactive flashcard flows with answer reveals, choices, and immediate correct or incorrect feedback.
Flask Backend
Python and Flask handle application routes, user actions, and the server-side logic behind the study experience.
Persistent Data
SQLite provides persistent storage for application data and connects the interface to a database-backed workflow.
Responsive Interface
HTML, CSS, and JavaScript create the interactive frontend and visual feedback throughout the application.
IN ACTION
See MindDeck at work.
A short walkthrough of the study flow, interactive answer states, and feedback experience.
MindDeck product walkthrough
WHAT I LEARNED
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.