Back to all work

DecisionEase

Six agents — an orchestrator plus five specialists — a four-layer memory, and 1,600+ backend tests: a decision coach that remembers who you are.

Most productivity tools store tasks; very few help you decide. DecisionEase helps you move from a messy input to a plan you would actually commit to, backed by a memory that reflects who you are.

It is a web app you can install like a native app on your phone or desktop. The repository is private; code is available on request.

decisionease.vercel.app
DecisionEase app — Today view
The live app: capture, plan, decide, reflect Live → open
6 agents — an orchestrator plus five specialists: Coach, Planner, Analyst, Curator, Companion
4 memory layers, from working memory to semantic recall
1,600+ backend tests plus 4 Playwright configurations
7 internal MCP tools behind one registry, plus connectors for Google Calendar, Notion, and YouTube
Simulation Receipts

A full day in the product, simulated

These captures come from a scripted end-to-end simulation of one full day of use — 70 logged steps — run against the live build on 2026-05-26. The script drives the real interface: it adds tasks, runs a focus timer, plans timeboxes, opens a decision, sets commitments, and reflects on the day.

Open the live product
Context

Why I built this

DecisionEase is a web app you can install like a native app on your phone or desktop. When you capture a thought, it runs through six agents coordinated around a single workflow — an orchestrator plus five specialists.

Problem

Most productivity tools store tasks; very few help you decide. I kept capturing thoughts, goals, and half-decisions across apps, and none of them helped me move from a messy input to a plan I would actually commit to.

The problem underneath

A single chatbot with one giant prompt forgets your context, drifts in tone, and gets expensive fast. I wanted to find out whether a team of smaller, disciplined AI components with real memory could do better.

What I built

The Orchestrator routes each captured thought to one of the five specialists — a Coach, a Planner, an Analyst, a Curator, and a Companion — each with a fixed token budget so every turn has a known cost. Agents talk to each other under a hard five-second timeout with a cached-data fallback, so one slow specialist never stalls your conversation. Agents reach data through a safe tool-use layer (MCP): seven internal tools plus connectors for Google Calendar, Notion, and YouTube. The frontend is a Next.js 14 progressive web app; the backend is FastAPI covered by 1,600+ automated tests.

A four-layer memory

What makes the advice personal is a four-layer memory:

  • Working memory (Redis) for the current conversation
  • A user profile (Postgres) for stable facts about you
  • An episodic log of what happened day to day
  • Semantic search (pgvector) that recalls relevant past thoughts by meaning
Architecture

How a thought becomes a plan

One capture moves through the whole system: the Orchestrator routes it, a specialist answers it, tools ground it in your real data, and the four-layer memory keeps the advice personal.

Architecture flow: a captured thought reaches the Orchestrator, which routes it under a hard five-second timeout with a cached fallback to one of five specialists — Coach, Planner, Analyst, Curator, and Companion. Specialists call the MCP registry of seven internal tools plus Calendar, Notion, and YouTube connectors, and return a grounded reply that becomes a plan you commit to. The Orchestrator and specialists remember and recall through a four-layer memory rail: Redis working memory, a Postgres profile, an episodic log, and pgvector recall. capture route · 5s timeout, cached fallback tool call grounded reply remember recall Your thought Orchestrator per-agent budgets Five specialists Coach · Planner · Analyst Curator · Companion MCP registry 7 tools · Calendar Notion · YouTube A plan you commit to 1 2 3 4 5 Four-layer memory — Redis working · Postgres profile · episodic log · pgvector recall
Constraints are the architecture: budgets, timeouts, fallbacks, and memory with a lifecycle.
Key Findings

Constraints made the AI better, not worse

The lessons from this build are about discipline, not model choice: budgets, lifecycles, fallbacks, and written rules did more for the product than any prompt.

Narrow roles, strict budgets

Giving each agent a strict budget and a narrow role produced more consistent behavior than one powerful generalist prompt.

Memory needs a lifecycle

I had to build explicit promotion and decay rules, or old entries polluted retrieval.

Reliability is designed, not hoped for

The timeout-plus-fallback path mattered more to the user experience than any prompt improvement.

Hard invariants for solo building

As a solo builder, writing my architectural rules down as hard invariants — one feature in progress at a time, one embedding standard, fixed agent budgets — kept the project coherent across many working sessions.

Testing

Verified end to end

The product is verified end to end by the backend test suite and four Playwright browser-test configurations.

1,600+ backend tests The FastAPI backend is covered by 1,600+ automated tests.
4 Playwright configurations Four browser-test configurations, each tuned for a different verification mode.
A scripted full day The one-day simulation above exercises capture, plan, decide, balance, reflect, and chat in one repeatable run.
Status

Live and installable

DecisionEase is live and installable at decisionease.vercel.app, verified end to end by the backend test suite and four Playwright browser-test configurations. The repository is private; code is available on request.