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

  1. User input (text / voice / image) is sent as a single free-form dump
  2. Gemini parses the input and calls structured functions:
    • create task
    • create event
    • create habit
    • create expense
    • create long-term record
  3. Structured data is stored in Postgres
  4. Context signals (time, calendar, recent activity) are evaluated
  5. 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

Share this project:

Updates

posted an update

Project Name Update: WriteFlow → OTTD → CAMP

As with most software projects, the name evolved as the idea became clearer.

We started with WriteFlow — the idea that you could write anything, and the system would naturally turn it into a flow.

Over time, the core purpose became more focused:
helping you identify the one thing to work on right now.
That led us briefly to OTTD (One Thing To Do).

In the end, we realized the project was less about pushing productivity
and more about how productivity should feel.

That’s when we landed on CAMP — Calm Productivity.

CAMP is about slowing down just enough to see what matters next,
and focusing on one clear step at a time.

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