← Back to work #AI-first workflow #prototyping 2026

Designing MANA Agent Mode through working prototypes

Used an AI-first workflow across Figma and Claude Code to turn complex agent behavior into working prototypes, align product and engineering earlier, and translate validated interactions into reusable patterns.

Timeline March–[Month] 2026
My Role Lead Product Designer
Platform Web App
Industry B2B / AI Productivity
Team Product Owner · Product Designers · Frontend Engineers · Backend Engineers
MANA Agent Mode reasoning through a request, calling connected tools, and returning a result

MANA Agent Mode reasoning through a request, calling connected tools, and returning a result.

Impact at a glance

Made an unfinished system tangible

Built a realistic Agent Mode demo that helped the business team understand the concept through working behavior before the full product existed.

Moved technical decisions earlier

Used the prototype to surface backend dependencies, edge cases, transitions, and unresolved product decisions while the direction was still flexible.

Created a reusable way of working

Turned a one-off demo into a repeatable workflow across Figma, Claude Code, team review, and implementation documentation.

“Wait… how many states and dependencies are hiding inside this feature?”

Animated reaction GIF conveying the realization of unexpected complexity

That was my first reaction when I started working on Agent Mode.

The agent could pull from different sources, wait for backend responses, call tools sequentially or in parallel, fail, retry, or require user action. Its behavior also changed depending on permissions, connections, and technical constraints.

At the same time, I needed to demonstrate the concept to the business team during a hack presentation.

Static screens could show individual states, but not how the experience actually unfolded. So I decided to build a working prototype that could make the system feel understandable and real within a few minutes.

Designing between Figma and code

I did not treat Figma and Claude Code as separate phases.

I used Figma to organize the system, explore structure, compare visual directions, and maintain the shared design source. Whenever timing, transitions, or technical behavior became important, I moved the selected direction into Claude Code and experienced it as working software.

The prototype often revealed issues that were difficult to see in static frames. I would then return to Figma, revise the structure or interaction, and test the updated behavior again in code.

Diagram placeholder: Figma exploration flows into a Claude Code prototype, then team review, then back into Figma and Jira
Figma exploration → Claude Code prototype → team review → Figma and Jira.
Making the system tangible

Starting with the questions behind the interface

I began in Figma by mapping the relationships between tools, connections, permissions, execution states, and administrative controls.

The early work helped make the scope visible, but it also exposed questions that layout alone could not answer.

Early Figma map of Agent Mode's tools, connections, permissions, and execution states

What happens while the backend is still waiting? Can several tools run at the same time? What should users see when only one step fails? Which controls belong to users, organization administrators, or system administrators?

I brought those questions into discussions with product and engineering before moving further into detailed interactions. The work started with reviewing the existing information architecture, clarifying unresolved issues, and iterating on the concept with the product owner and engineers.

As the dependencies became clearer, the concept expanded from the user-side experience into organization- and system-admin controls. Once a direction was clear enough, I moved it into Claude Code and built an end-to-end scenario.

Turning the scenario into working behavior

For the hack presentation, I wanted the business team to experience Agent Mode as a working product, not as a clickable sequence of disconnected screens.

I used real open-source components instead of manually faking each interaction. Streamdown helped me simulate responses appearing progressively, while Vercel AI Elements provided patterns for reasoning displays and AI-specific states. This allowed me to reproduce streaming, waiting, and tool execution with relatively little setup, making the demo feel much closer to the intended product experience.

Working Agent Mode demo built for the hack presentation
The working Agent Mode demo built for the hack presentation.

The business team could understand the concept without a long explanation of every state, while product and engineering could evaluate the proposed behavior instead of imagining what happened between screens.

The prototype also revealed issues I had not noticed in Figma. I brought those findings back into the design, refined the structure, and tested the updated behavior again in code.

Making it feel like MANA

“It works, but it doesn't feel like MANA.”

Getting the first version running was surprisingly quick.

Getting it to feel like the real product was not.

The generated interface looked plausible at a glance, but the differences became obvious when I compared it with MANA. The spacing was slightly off. Components behaved differently. The hierarchy felt familiar, but not quite right.

I returned to Figma to identify the gaps, then experimented with more detailed instructions and a small component kit.

The output improved, but I still found myself correcting the same types of details repeatedly.

“Am I going to rebuild MANA every time I need a prototype?”

The turning point was connecting Claude Code to Figma through MCP and referencing the actual product frames.

Even then, the first result was not automatically polished. As I later shared with the design team, the initial output could still look “pretty disastrous.”

But it gave Claude a far more reliable starting point. Instead of repeatedly describing the product, I could ground the prototype in MANA's real layout, components, and visual hierarchy.

Comparison: an initial generated interface next to the version referencing MANA's real Figma frames
Referencing the real product frames helped close the gap between a plausible demo and a recognizable MANA experience.

Building a base the next prototype could inherit

The initial setup took time, but that investment changed every prototype that followed.

Once the application shell and shared components were established in code, I no longer needed to recreate the product environment for each experiment. I could continue refining the shared design in Figma while using the prototype base to test new behaviors.

Figma and Claude Code were not competing versions of the same work. Each carried a different part of the process.

What began as a one-off demo became a foundation the next experiment could inherit.

For example, a later onboarding-feature demo took only two days to reach a near-real prototype — built directly on top of the same shared base.

Designing with engineering

The demo became a shared workspace

The prototype had originally been created for the hack presentation.

Once it existed, however, it became useful for much more detailed product and engineering discussions.

Instead of sending several frames with annotations, I could demonstrate the behavior and clarify the questions directly.

Some answers changed the structure of the experience. Others changed the timing, transitions, or amount of system activity we exposed to users. I refined the work through discussions around tool-calling status, user controls, and administrative settings.

Before and after: one Agent Mode behavior changed after engineering review
The working prototype made an unresolved technical question visible early enough to change the interaction.

The prototype did not provide the answers automatically. It made the unanswered questions difficult to ignore.

Bringing validated behavior back into delivery

Once a behavior was validated, I returned it to Figma and documented the details in Jira.

The user-side Agent Mode release included detailed design specifications and change logs, followed by further work on tool-calling status and onboarding.

For the onboarding experience, I also used Claude Code to generate acceptance criteria covering transitions and trigger events, then attached the prototype source code to Jira as additional implementation context.

The handoff was no longer limited to static screens. Engineering could review the intended behavior, its triggers, and a working reference.

The prototype did not replace engineering collaboration. It gave that collaboration something concrete to work on.

From workaround to workflow

By the end of the project, I was moving continuously between Figma, Claude Code, team review, and Jira.

I used Figma to explore structure and preserve the shared design source. I used code to test behavior and technical assumptions. Then I brought the validated decisions back into the design and implementation documentation.

Later, I also found a way to return the coded interface to editable Figma layers, completing the round trip.

This changed how I thought about high-fidelity prototyping.

Before Agent Mode, I mainly treated a prototype as something created near the end of the design process to communicate an interaction.

In this project, the prototype became part of how I discovered the interaction. It helped me uncover missing states, question technical assumptions, communicate the concept to the business team, and make decisions with engineers while the direction was still flexible.

The working demo helped different teams understand the same product before it fully existed.

Sharing the process

The workflow developed through trial and error, so I documented the mistakes, shortcuts, and lessons I had collected along the way.

I shared the process with both the MANA design team and the wider Givery design community. That experience later became my Medium article:

How I built a round-trip workflow between Figma and Claude Code A practical workflow for moving between design files and working prototypes, then returning validated behavior to implementation-ready documentation. Read on Medium ↗

What began as a workaround for one presentation became a reusable way of designing closer to implementation.

The value was not choosing between Figma and code. It was knowing which question each one could answer.

Next project Building MANA from 0 → 1