Inspiration

I built StudyRescue because, honestly, I needed it myself.

As a student, I know what it feels like to have an exam coming up, assignments piling up, study materials scattered everywhere, and absolutely no idea where to start. I struggle with deadlines and procrastination, and sometimes I can sit down intending to study and still spend an hour figuring out what I should actually be doing.

Most study tools help you track tasks or create a static timetable. But when something changes — a new exam appears, I miss a study session, or I discover that I am weak at a topic — the student is still responsible for figuring out what to do next.

I wanted to build something different.

That became StudyRescue — an autonomous "I'm Cooked" Study Agent.

Instead of waiting for me to tell it what to do, StudyRescue reacts to academic events, gathers the information it needs, makes decisions, takes actions, checks the results, and adapts the study plan.

Basically: when I'm cooked, the agent locks in for me.

What it does

StudyRescue is a Taskmaster-style autonomous AI agent designed to continuously manage a student's study plan.

When an academic event happens, the agent can:

  • Detect a new exam
  • Find relevant study materials
  • Read and analyze PDF materials
  • Identify important topics
  • Prioritize topics based on importance and current mastery
  • Check available study time
  • Create and schedule study sessions
  • Generate and evaluate quizzes
  • Update topic mastery based on performance
  • Detect weak areas and reprioritize the plan
  • Detect missed study sessions
  • Free missed calendar slots
  • Rebuild the study plan when circumstances change
  • Record its actions through an activity/event log

The core idea is a continuous loop:

Event → Understand → Decide → Act → Observe → Replan

For example:

New exam → Find materials → Analyze topics → Check schedule → Prioritize → Book sessions

Then, if I perform badly on a quiz:

Poor quiz result → Detect weak topic → Recalculate priorities → Replace study plan → Schedule additional practice

And if I miss a session:

Missed session → Recalculate urgency → Rebuild plan → Schedule replacement

The project also includes a dashboard where the student's current study state, priorities, sessions, and autonomous agent activity can be viewed.

How we built it

StudyRescue was built around Google ADK and Gemini, with a FastAPI backend and a custom dashboard frontend.

Agent & AI

  • Google ADK for the autonomous agent architecture
  • Gemini 3.5 Flash for reasoning and topic analysis
  • A root agent that coordinates tools and workflows
  • Deterministic fallback logic for reliable demonstration

Backend

  • Python
  • FastAPI
  • Event-driven workflows
  • Event bus with idempotency
  • State management and persistence
  • PDF material ingestion
  • Quiz generation and evaluation
  • Adaptive study prioritization

Integrations

The project includes adapters for:

  • Gmail — detecting exam-related events
  • Google Drive — retrieving study materials
  • Google Calendar — planning study sessions
  • Firestore / local JSON — persistence

Frontend

I built a custom dashboard using:

  • HTML
  • CSS
  • JavaScript

The dashboard makes the agent's decisions visible instead of treating the AI as a black box. It shows study readiness, priorities, scheduled sessions, and autonomous activity.

Demo reliability

One of the important design decisions was adding a deterministic demo mode.

This allows the complete Taskmaster workflow to be demonstrated without depending entirely on live Gmail, Drive, Calendar, or continuously available model requests.

That was especially important during development because I wanted the project to demonstrate the agent architecture and autonomous workflow, rather than fail simply because an external service was unavailable.

Challenges we ran into

The biggest challenge was making the project behave like an agent, rather than just a chatbot with a nice interface.

I had to think about what should happen after every event:

What does the agent know?

What does it need to find out?

Which tool should it use?

What action should it take?

What happens when the situation changes?

Another challenge was connecting multiple parts of the system without making the project fragile. The agent, event system, workflows, persistence layer, integrations, API, and frontend all needed to work together.

I also ran into limitations with Gemini API availability and quota during development. Instead of letting that stop the project, I designed deterministic fallback behavior so the workflow could still be tested and demonstrated.

This ended up reinforcing one of the things I wanted StudyRescue to be: a system that can keep functioning when individual parts of the environment change.

Accomplishments that we're proud of

I'm most proud that StudyRescue became more than a study planner.

It can react to changes in a student's situation and replan instead of simply displaying information.

Some of the things I'm particularly proud of are:

  • Building an autonomous Taskmaster workflow with Google ADK
  • Connecting event detection to concrete agent actions
  • Creating multiple event-driven workflows
  • Implementing adaptive prioritization based on mastery
  • Building quiz → mastery → replanning feedback loops
  • Implementing missed-session recovery
  • Making the agent's activity visible through a custom dashboard
  • Adding deterministic demo behavior for reliable testing
  • Successfully integrating the backend, workflows, state, tools, and frontend into one project

Most importantly, I built something around a problem I personally experience.

Instead of building another productivity app that tells students to "just study," I wanted to build something that actually helps when the student is overwhelmed and doesn't know what to do next.

What we learned

Building StudyRescue taught me that building an AI agent is very different from simply calling an LLM.

The difficult part isn't only getting a model to generate an answer.

It's designing the system around the model:

  • defining events
  • maintaining state
  • giving the agent useful tools
  • deciding when actions should happen
  • handling failures
  • making actions idempotent
  • observing outcomes
  • and allowing the system to replan

I also learned how important it is to make an agent's decisions observable. Showing the activity and state changes through the dashboard makes it much easier to understand what the system is actually doing.

Most of all, I learned that a good AI project doesn't necessarily need to solve a huge abstract problem.

Sometimes the best project is solving a problem that you personally understand extremely well.

For me, that problem was:

"I have an exam. I'm behind. I have no idea where to start. I'm cooked."

What's next for StudyRescue — Autonomous AI Study Agent

StudyRescue is currently focused on the core autonomous workflow, but there is a lot more I would like to build.

Next, I would like to:

  • Connect the system to real Google Workspace accounts
  • Improve Gmail exam detection
  • Add richer Google Drive material understanding
  • Support more file types beyond PDFs
  • Improve long-term student memory and personalization
  • Add stronger progress analytics
  • Make the prioritization model more sophisticated
  • Add notifications when the student falls behind
  • Support multiple courses and exams simultaneously
  • Add stronger accessibility features
  • Deploy the agent so it can run continuously instead of only during development

The long-term vision is for StudyRescue to become a personal academic operations agent — something that quietly monitors the student's academic situation and helps keep their plan alive when real life inevitably gets messy.

Because sometimes the problem isn't that you don't want to study.

You just don't know what to do next.

And that's exactly where StudyRescue comes in.

Built With

Share this project:

Updates

Submission history