Inspiration

Re-reading notes is one of the least effective study methods, and manually creating flashcards takes too much time. We wanted a tool that automatically finds knowledge gaps and makes students actually want to fix them. By adding RPG game mechanics (like HP and stakes) to the learning process, we turned passive review into active, engaging recall.

What it does

StudyPal is an AI study assistant that turns uploaded notes into a complete, personalized study experience in seconds.

Zero-Setup Uploads: Drop in a PDF, Word, or PPT file. AI automatically extracts the text and identifies 10–30 key topics.

Knowledge Map: Visualizes your mastery (Strong, Medium, Weak, Unknown) and updates in real time.

Diagnostic Quiz: Generates adaptive, fresh multiple-choice questions to pinpoint exactly where you need to focus.

Study Modes: Choose between AI-generated Flashcards or the Knowledge Dungeon—an RPG where you battle monsters, find treasure, and defeat a boss by answering questions generated from your actual course material.

How we built it

We used a classic three-tier architecture:

Backend: Flask with PostgreSQL (SQLAlchemy) and JWT authentication. We used PyMuPDF, python-docx, and python-pptx to parse uploaded files into a single text string. All AI generation uses Gemini 2.5 Flash, strictly forcing JSON outputs for factual, structured data.

Frontend: React 18, TypeScript, Vite, and Mantine UI. The Knowledge Dungeon is completely custom CSS and SVG, driven by React state and timeouts—no external game engine required!

Theming: Every color uses the official Southeastern Louisiana University (SLU) Pantone values.

Challenges we ran into

Infinite Render Loops: At first, the game fired 195 API calls in seconds before we properly managed our React useEffect dependency arrays.

Merge Conflicts: Having three developers touch the main Flask app.py factory meant constant conflicts that we had to learn to resolve carefully.

Accomplishments that we're proud of

Having an app that can Identify knowledge gap of a student and a game designed to aid cognitive retention.

What we learned

Prompt Engineering is Code: The quality of the app relies on how the AI prompt is structured. Specifying schemas and tweaking temperatures is just as vital as writing functions.

State Machines Scale: 14 useState variables cleanly handled our entire game loop without needing a heavy game framework.

Branch Strategy Saves Lives: Dedicated feature branches kept us from stepping on each other's toes and turning the main branch into chaos.

TypeScript Catches Everything: The compiler saved us from countless runtime errors before they ever reached the browser.

What's next for StudyPal

Deployment: Launching on Railway (Backend), Vercel (Frontend), and Neon (managed PostgreSQL).

Mobile & File Support: Building a responsive mobile UI and adding support for LaTeX and Jupyter notebooks.

Share this project:

Updates