Inspiration

Plans do not fail inside planning apps. They fail in the real world: an activity runs late, the group gets tired, weather changes, or a fixed commitment constrains everything else. An agent can research alternatives, but its answer normally becomes another block of chat text that someone must manually copy into notes, maps, and a schedule.

We wanted to close that loop. The human should report reality. The agent should handle the research and replanning. Both should work on the same live artifact.

What it does

daymaker.fun is a shared DayOps board for humans and agents. A person describes or edits the real needs of the day. The agent reads the same live state, researches appropriate places, and uses five focused WebMCP tools to structure the brief, add source-backed stops, update statuses, and reorder the proposed schedule.

Each accepted change appears immediately in the interface. Fixed requirements stay visible, stale writes are rejected, and each revision can be shared with another device through a self-contained portable link.

Unlike a traditional itinerary generator, daymaker.fun is designed for recovering a plan after reality changes. The person keeps direct control of requirements; the agent handles the tedious restructuring and research.

Why WebMCP

Without WebMCP, an agent can describe a revised day but cannot reliably read the current board or apply structured changes to the exact artifact the person is viewing. DOM clicking would be brittle, and the chat answer would drift away from the plan.

daymaker.fun exposes five focused tools:

get_mission_state reads the live brief, Needs, schedule, locks, sources, revision, and portable URL. update_day_context structures or updates the planning context. update_mission_stop changes an existing stop by stable ID. add_mission_stop adds one researched, source-backed stop. reorder_mission_stops reorders future stops while preserving locked commitments.

These tools call the same typed domain transitions as the human UI. WebMCP is therefore the shared state and action layer that makes the product possible, not an add-on.

How we built it

daymaker.fun is a local-first React 19 and TypeScript application built with Vite. Mission is the single domain source of truth. Human controls and the WebMCP adapter dispatch actions through the same pure transition layer and store. Strict Zod schemas validate every tool input, and optimistic revision checks prevent stale agents from overwriting newer human changes.

The top-level page registers five imperative tools through document.modelContext.registerTool(), feature-detects support, and owns their lifecycle with one abort signal. In browsers without WebMCP, the normal human interface remains usable.

Each tab holds one mission in memory. Portable links serialize the validated mission as UTF-8 JSON, gzip it, encode it as unpadded base64url, and place it in the URL fragment. The recipient gets the exact point-in-time plan without an account or backend, and the fragment is not sent to the host.

Codex helped build, debug, test, deploy, and document the application, including the cross-device portable-link hotfix.

Challenges we ran into

The hardest problem was choosing a small tool surface that gives the agent enough control without overlapping actions or hiding consequential changes. We also had to preserve fixed requirements, make agent changes immediately legible, reject stale revisions, and make long portable links reliable across devices and Safari.

Accomplishments that we're proud of

A complete human–agent loop from editable real-world Needs to a visible, source-backed schedule. Five narrow WebMCP tools backed by one shared domain model. Runtime validation, invariant checks, and revision-safe mutations. Cross-device plan snapshots without a backend. A responsive interface that remains useful without WebMCP. 102 unit/component tests and 8 Playwright end-to-end tests passing in the final preflight.

What we learned

Agent-native UX is not chat placed next to an app. It is a well-designed shared state model, a small set of precise actions, and immediate visual verification. The most useful WebMCP tools were the ones that cleanly connected reasoning to existing product behavior.

What's next for daymaker.fun

Consent-based live location, collaborative missions, weather and transit adapters, richer route evaluation, and reusable DayOps templates for families, events, road trips, and field teams.

Built With

Share this project:

Updates

Submission history