Many communities have these local events to support different causes to raise funds or just do stuff in the community like repairing community parks to clean up from emergencies and more. These community events require different skills for example a repair event, a clean up event etc. These different community events require different skills from different people. However it's really hard to plan these events particularly if one person doesn't show up. Rebuilding the schedule means deciding which promises can still be kept.
I built "Benchkeeper" to help these community organizers work through their decisions with a browser agent. WebMCP lets the agent work with explicit scheduling constraints and shares a proposal directly for the organizer.
What
Benchkeeper is a sort of planning desk for small community events. Organizers can add repair requests, manage volunteer availability, reserve break or walk-in time, and protect promised appointments.
Through ten browser-native WebMCP tools, an agent can inspect the event, explore cancellations, propose a revised schedule, and explain why an item cannot fit. The organizer can compare the current and proposed plans, see who moves or loses a slot, and review the tradeoffs before applying anything.
The tools cannot apply a plan or release a protected appointment. Those actions remain in the organizer’s interface. Benchkeeper also supports spreadsheet intake, undo and redo, JSON backups, and printable schedules. It sends no messages to visitors, and manual planning works without WebMCP.
How I built this.
We built the interface with React, TypeScript, and Vite, using Zod to validate tool inputs and imported data. A deterministic, bounded scheduling search considers repairer skills, availability, visitor time windows, parts readiness, and protected appointments.
The WebMCP tools and human interface use the same application state. Revision checks reject stale edits, and approval is tied to the exact proposal being reviewed. Event data is stored in the browser tab’s sessionStorage, with downloadable backups. Cloudflare Workers serves the app; there is no event-data backend or embedded chatbot.
We used Vitest, Playwright, and axe-core for automated checks, alongside real native WebMCP execution tests.
Challenges
Browser implementation differences made WebMCP integration more involved than registering a tool catalog. We had to test actual execution and handle differences in argument formats.
Scheduling also exposed a subtle distinction: keeping someone’s appointment at exactly the same time is different from keeping that person booked at all. We refined the planning preferences and comparison reports to make that tradeoff explicit.
Keeping human edits, agent proposals, and saved state consistent required careful handling of stale reviews and browser Back navigation.
Accomplishments that we're proud of
I built a complete cancellation-and-recovery workflow where an agent’s proposal appears in the same desk the organizer uses. Protected appointments stay fixed during replanning, excluded requests have concrete explanations, and organizers can preview the cost of making room for another item.
I also tested the scheduler against thousands of small, exhaustively checked cases and kept discovered failures as regression tests. Native WebMCP execution was tested separately from the clearly labeled scripted rehearsal.
What we learned
Useful agent tools need clear consequences as well as clear inputs. Organizers need to know whose appointment changed, why a request was excluded, and whether a proposal still reflects the latest event.
I also learned that a passing build does not establish a working product. Native browser execution, keyboard navigation, printed schedules, and saved-state recovery each exposed issues that needed their own checks.
What's next
My next priority is testing Benchkeeper is to run it on a small clean up operation for a school in my area. the current examples is synthetic so doing something good in the community and using this seems like a good next step. Then the feedback should guide if this was useful to them.
For now, the tool works for pre-event planning tool, and its bounded search does not guarantee the best possible schedule. There is also a bigger opportunity with other industries to help with planning and coordination particularly with health-care, education, plumbing and more.
Built With
- cloudflare
- typescript
- webmcp
- zod
Log in or sign up for Devpost to join the conversation.