Inspiration
I didn’t start this project because task management tools are bad.
I started it because people are exhausted.
Not because work is complex —
but because there is simply too much of it, and every small decision costs energy.
When our energy level is high, complexity doesn’t matter. We can prioritize, adapt, and move forward.
But energy is fragile.
Every decision — “What should I do now?” “Is this important?” “Should I finish this or that first?”
— quietly drains it.
Once that energy is gone, even the best-organized to-do list becomes meaningless. Everything feels heavy. You stop caring. You don’t want to do anything.
At that moment, the problem is no longer productivity. It’s decision fatigue.
I wanted to build something that helps people at that moment.
What it does
CAMP is a calm productivity system that reduces decision-making.
The user does not manage tasks. They simply dump their mind — tasks, schedules, thoughts, habits, expenses, or random notes — in free form.
From that single input, CAMP automatically:
- classifies information into tasks, events, habits, expenses, or records
- stores recent records as raw text for easy access
- archives older records using semantic search (RAG) so nothing is lost
- recommends OTTD (One Thing To Do) based on context
Instead of showing a long list, CAMP suggests just one gentle next step — and sometimes, that step is rest.
If the user asks, “What should I do now?”
CAMP can answer — even if the answer is “Nothing. You’ve done enough.”
How we built it
CAMP is built as an AI-first, context-aware system.
Core Architecture
- Frontend: Next.js (App Router) for fast iteration and clean UX
- Backend & DB: Supabase (PostgreSQL, Auth, Row Level Security)
- AI Engine: Gemini 3.0 Flash with function calling
- Background Jobs: Inngest for cron jobs, delayed actions, and heartbeat signals
AI Workflow
- User input (text / voice / image) is sent as a single free-form dump
- Gemini parses the input and calls structured functions:
- create task
- create event
- create habit
- create expense
- create long-term record
- Structured data is stored in Postgres
- Context signals (time, calendar, recent activity) are evaluated
- The OTTD engine scores candidates and returns one calm suggestion
Long-term Memory
- Recent records remain as raw text
- Older records are embedded and retrieved via semantic search (RAG)
- This keeps the present uncluttered while preserving memory
Proactive Behavior
- Server-side heartbeat jobs detect inactivity or overload
- The system nudges only when helpful
- Silence is treated as a valid system response
Challenges we ran into
The hardest challenge was not technical — it was philosophical.
Most productivity systems assume:
“More structure and more reminders lead to better results.”
CAMP challenges that assumption.
We had to design a system that knows:
- when not to notify
- when not to suggest
- when silence is better than action
Making restraint a feature — not a bug — required careful prompt design, scoring logic, and guardrails.
Accomplishments that we're proud of
- Built a fully working AI pipeline from free-form input to structured actions
- Implemented a one-suggestion-only recommendation system (OTTD)
- Designed a system that can intentionally recommend rest
- Integrated long-term memory without overwhelming the present
- Created a productivity tool that feels supportive, not demanding
What we learned
We learned that:
- Decision reduction matters more than task optimization
- Less information can be a feature
- Silence can be more helpful than reminders
- Productivity systems should respect human energy, not fight it
Designing for calm is harder than designing for efficiency — but it creates a better experience.
What's next for CAMP — Calm Productivity, One Thing To Do
Next, we plan to deepen context awareness:
- mobile apps to gather wearable signals (heart rate, sleep, activity)
- more personalized energy modeling
- adaptive nudging based on long-term behavior
Our goal is to turn CAMP into a personal base camp — a calm place you return to before deciding the next step.
One thing at a time.
Built With
- firebase-cloud-messaging
- gemini
- inngest
- next.js
- postgresql
- supabase
- typescript
- vercel
Log in or sign up for Devpost to join the conversation.