Inspiration
As an architect, I spend a lot of my time working with pictures. We use architecture diagrams to explain how systems work, how they connect and how we think they will behave.
I wanted to bring those pictures to life and avoid my designs breaking things and getting people paged in the middle of the night :-)
I wanted to be able to model a change and get an idea of what it might do to the design. What happens if the load increases? What if I lose a component or a zone? If I change something to recover, what impact does that have somewhere else?
Having an agent working alongside me makes that much quicker to explore. The agent can stress the architecture, break things, inspect what happened and try to recover it. I can change the constraints or try a different idea and see how it responds.
What it does
Resilience Forge turns an architecture diagram into something I can experiment with.
I can configure a scenario, change the workload and run deterministic simulations to see how the architecture responds. I can introduce failures such as losing a component or a zone, watch the impact on the architecture and metrics, and test different ways of recovering.
An AI agent can work on the same scenario through WebMCP. It can inspect the architecture and metrics, run stress tests, introduce failures and make changes to try to recover the system.
The agent and I work against the same state. If I change a constraint or make a decision in the UI while the agent is working, it sees that change and has to respect it. This means I can work with the agent rather than handing the whole simulation over to it.
Resilience Forge also includes a flight recorder that shows the WebMCP calls as they happen, so I can see what the agent is doing and how those actions affect the simulation.
For this project I've used deterministic simulations, so I can run the same scenario repeatedly and get consistent results. The idea could go much further by bringing in real telemetry, service limits, costs and other infrastructure data to create more realistic simulations.
How we built it
I used Codex to help with the coding and my knowledge of creating pictures as an architect :-)
For hosting I am using the ChatGPT Sites capability
The simulation and WebMCP tools work against the same application state. Every WebMCP mutation works against a version of that shared state. If I change the architecture while the agent is working, its old write is rejected as STALE_STATE rather than silently overwriting my change. The agent then has to read the current state and decide what to do next. Constraints such as pinned decisions are enforced in the application itself, not left to the prompt, and the Flight Data Recorder shows human and WebMCP actions against the same timelines. The WebMCP tools are domain operations rather than UI controls. The agent can inspect the architecture, run stress tests, inject failures, change scaling or traffic behaviour and apply remediations without having to work out how to click around the page. The same domain logic is used whether the change comes from me or from WebMCP.
This was important because I didn't want the agent operating against a separate version of the architecture from the one I could see and change in the UI.
Challenges we ran into
The main one for me was keeping the state between the agent and the user aware of each other, as both parties can make changes and we need to make sure that the application is aware of those.
Both can make changes while a simulation is running, so the application needs to keep them in sync. If I make a decision or add a constraint in the UI, the agent needs to know about it and respect it when deciding what to do next.
Accomplishments that we're proud of
Created my first ever YouTube video, and it has spurred me on to do more, I may be terrible at it for now but I will improve :-)
What we learned
WebMCP will change how agents and users interact with websites.
When I'm designing user journeys, I now need to think about the agent journey as well as the human journey. WebMCP makes that much easier because the agent can interact with capabilities exposed by the application rather than having to pull information from the DOM and work out how to operate a UI designed for a human or have information locked away so that agents can't access it.
What's next for Meabs
I'm working on an agent that can read infrastructure source code such as Terraform and CDK and then model that infrastructure in Resilience Forge.
I'd also like to integrate with vendors' MCP servers to bring in real-time information such as service limits. From there, I want to explore bringing in real telemetry and cost data so the simulations can move closer to the architectures I'm actually working with. This also builds on some of my other work around PEAR (Public Engagement AI-Readiness) and the Agent Observatory, where I've been exploring how we design applications for agents and how we observe what those agents are doing. Resilience Forge gave me a chance to put some of those ideas into a working application rather than leaving them as architecture diagrams or slide decks :-)
Built With
- next.js/vinext
- react-19
- tailwind-css
- three.js
- typescript
- vite
Log in or sign up for Devpost to join the conversation.