Project Overview
As students, we often make plans to finish assignments on time, only to discover our estimates were way off. We think a task will take 30 minutes, and before we know it, it has taken the whole evening, and we wish that time would freeze at 11:58. Study Bubble helps students plan more realistically by estimating assignment work time and using that estimate to guide study recommendations.
How It Works
Study Bubble is a study-planning web app for organizing assignments, tracking study sessions, and deciding what to work on next.
- Add and track assignments. Students record details such as estimated duration, difficulty, subject, assignment type, and collaboration format. They can update an assignment’s progress as they work.
- Estimate assignment time. A Gradient Boosted Decision Tree model predicts total work time from those assignment details. It starts with the average completion time in a bundled synthetic dataset, then builds 10 small decision trees, each up to three levels deep. Each tree learns to correct errors left by the previous trees, and its correction is applied gradually. Subject, assignment type, and collaboration format are converted into numeric features so the trees can use them alongside estimated duration and difficulty.
- Calculate remaining work. Study Bubble adjusts the predicted total time according to the assignment’s recorded progress.
- Recommend what to study. A deterministic decision model scores unfinished assignments using deadline urgency (40%), difficulty (20%), fit with available study time (20%), and historical productivity by subject (20%). It ranks the assignments and recommends what to work on next. Historical productivity informs this recommendation score; it does not train the duration model.
- Explain study patterns. The app analyzes study sessions for patterns such as duration-estimation bias and productivity by subject or location. Gemini can explain those statistical findings in plain language; it does not calculate the findings or train the duration model.
What We Learned
Teamwork
We learned to brainstorm openly as a team: sharing ideas, considering unexpected suggestions, and building on one another’s contributions.
Technical Skills
We learned to scope features for a limited development timeline and to evaluate AI-generated code and suggestions critically, changing them when they did not fit the project.
Resilience
One of our features was nearly erased during development. We stayed calm, adapted, and recovered from the setback.
Built With
- css
- express.js
- gemini
- node.js
- react
- recharts
- sqlite
- tailwind
- typescript
- vite
- zod
Log in or sign up for Devpost to join the conversation.