DEV Community

Cover image for Observatory: The AI Paints Your Fantasy Map, and You Can Still Hit Undo
HIROKI II
HIROKI II

Posted on AI-assisted

Observatory: The AI Paints Your Fantasy Map, and You Can Still Hit Undo

Ask ChatGPT to draw a fantasy map for your novel and you get a nice picture. Say "move the tower closer to the lake, and add a road into town" and it regenerates the whole image — the hillside you liked is gone, the font changed, the trees rearranged. The frustration isn't the quality. Every request returns a flattened picture: fixing one spot means starting over, and every decision you already approved gets reset. You wanted something you can keep editing, like a paragraph in a document.

The root cause is the same: the AI delivered the look of a result, not the thing you can keep editing.

WebMCP is an experimental open standard that changes this at the source. A web page can expose its features as structured tools that a browser agent calls directly — the page's real tools, not a flattened copy. ChatGPT's in-app browser supports it out of the box, so there is nothing to install.## Try it: one sentence, one editable map

Open ChatGPT's in-app browser and go to observatory.thestoryshack.com. That is Observatory, a fantasy map editor that runs entirely in your browser; maps are stored locally and there is no account to create. In the page, say:

Build a map of a lone tower in a dense forest.

The forest spreads out and the tower goes up. The interesting part comes after: click around and the tower is selectable, draggable, rotatable; terrain is made of strokes you can erase and extend; text labels open for editing on a double-click. The agent hands you a living map, not a flattened image.

Second experiment: add a few trees yourself, then ask ChatGPT to "add a stable next to the tower." When it finishes, hit undo — what gets undone is exactly the agent's stable. Human edits and agent edits queue on the same undo history, and you can rewind as many steps as you like.

What you just learned: WebMCP turns a website's features into tools an AI can call directly — same tools, same map.## Why this app is worth your time

Observatory is one of the ten winners of the WebMCP Challenge, OpenAI's official ten-day hackathon run with Chrome, Cloudflare, Shopify, Vercel, Render, and Netlify (August 25 to September 4, 2026; winners announced September 23 — verified against the official pages in October 2026). The judging criteria called out two things this app happens to nail: thoughtful use of WebMCP, and the quality of the human-agent experience.

The design, if you want the second layer

One counter, one ledger. The common "AI plus tool" pattern gives the agent a side channel: it edits a copy of the data in the background, then syncs back to you — which is how you end up with "the AI says it's done, but the screen didn't change." Observatory does the opposite. Its WebMCP layer is an adapter over the same data stores the human editor uses, so agent and human share one state, one persistence path, and one undo history.

Three safeguards. Every mutation carries a unique operation ID. An exact retry returns the cached result instead of painting the forest twice, and reusing an ID with different input is rejected outright. Before mutating, the agent reads the map's current revision; a mismatch stops the change, so simultaneous human and agent edits don't clobber each other. Deletion is the only destructive tool: it triggers a confirmation dialog in the app, then issues a single-use token, valid for ten minutes and bound to the exact request. Whole-map deletion is never exposed to the agent.

One more detail worth stealing: read results carry a hard size limit, and oversized responses return an explicit paginate-this error instead of silent truncation.

Skip for now

  • You don't need to read the W3C spec draft.
  • You don't need a Chrome flag — ChatGPT's in-app browser already speaks WebMCP.
  • You don't need code or an account; maps stay in your browser's local storage.

If you build products, three patterns transfer directly: expose agent tools read-before-write, with an idempotency key and a version number on writes; keep human and AI on one data path instead of a side channel; reserve destructive actions for humans, behind one-time approvals.

Sources: WebMCP Challenge on Devpost, Observatory demo, Observatory on GitHub, WebMCP spec (W3C Web Machine Learning).

Top comments (0)