Inspiration
Most productivity tools help people create plans, but real life rarely follows the plan. Work gets delayed, urgent tasks appear, energy drops, and people accept new commitments without checking whether the day can still handle them.
PlanRescue AI was inspired by this common problem: people do not only need a planner — they need a recovery assistant when their plan breaks.
What it does
PlanRescue AI is an adaptive productivity recovery agent that helps users recover their day when the original schedule no longer fits reality.
The current prototype can:
- Create a structured demo plan
- Store plans and tasks in MongoDB Atlas
- Run a reality check against remaining available time
- Detect whether the plan is overloaded
- Recommend recovery actions such as keep, shorten, defer, or convert
- Apply recovery changes only after user approval
- Store recovery events in MongoDB
- Simulate whether a new commitment will overload the recovered plan
The core idea is simple:
Plan → Reality Check → Recovery Recommendation → User Approval → Apply Changes → Prevent Overcommitment
How we built it
The project is built as a full-stack web application.
The frontend is a React dashboard built with Vite. It provides a user-friendly interface to create a plan, run a reality check, view recovery recommendations, approve recovery actions, and simulate new commitments.
The backend is built with Node.js and Express. It exposes APIs for plan creation, current plan retrieval, reality checks, recovery recommendation, approved recovery application, and overcommitment simulation.
MongoDB Atlas is used as the persistent memory and action layer. It stores plans, tasks, recovery events, and commitment simulations. This makes MongoDB central to the workflow rather than just passive storage.
MongoDB usage
MongoDB stores the working state of the agent:
plansstores daily planstasksstores task-level details and rescue actionsrecovery_eventsstores approved recovery decisionscommitment_simulationsstores new commitment impact checks
This lets PlanRescue AI remember what the original plan was, what changed, which tasks were deferred or shortened, and why a recovery decision was applied.
Challenges we ran into
One major challenge was setting up Google Cloud services for Gemini and Agent Builder. The project was designed with a planned Gemini + Google Cloud Agent Builder orchestration layer and MongoDB MCP integration. However, the Google Cloud credit activation flow required an upfront personal deposit/prepay step, so I decided not to proceed with that payment path.
To avoid unintended personal charges, I focused on building a fully working zero-payment prototype that demonstrates the core agentic workflow, MongoDB-backed memory, and approval-based action flow.
Accomplishments that I am proud of
I am proud that the project is not just a static UI or chatbot mockup. It performs real actions:
- It writes plans and tasks to MongoDB
- It analyzes whether the current plan still fits
- It recommends recovery actions
- It waits for approval before making changes
- It updates task records after approval
- It stores recovery history
- It detects overcommitment before accepting new work
The full recovery loop works end to end.
What I learned
I learned how to design an agentic workflow beyond simple chat. The project helped me understand how to separate reasoning, tool actions, persistent memory, approval gates, and user-facing explanations.
I also learned practical full-stack development using React, Node.js, Express, MongoDB Atlas, API design, and GitHub-based project submission.
What's next for PlanRescue AI
The next step is to add the planned Gemini and Google Cloud Agent Builder layer so users can interact with PlanRescue AI using natural language.
Future improvements include:
- Gemini-powered natural language planning
- Google Cloud Agent Builder orchestration
- MongoDB MCP Server integration
- Calendar integration
- User authentication
- Personalized estimation learning
- Procrastination pattern detection
- Hosted deployment

Log in or sign up for Devpost to join the conversation.