priyamwada pandeypriyamwada pandey
Home/Tars
TARS

Designing an internal debugger that cut troubleshooting time by ~70%

Shipped

Oct 2022

Industry

B2B SaaS

Role

Product Designer

Team

CS Team, CTO, CEO, Developers

  • TL;DR
  • Core Features
  • Impact
  • Context
  • Design Evolutions
  • Scope Decisions
  • In Hindsight

TL;DR

Tars lets enterprise teams build AI agents as visual flowcharts, but debugging large agent canvases meant manually tracing hundreds of nodes to find where conversations broke.

I designed and shipped Debug Mode, an automated testing experience with adaptive workflows for technical and non-technical users. The feature reduced troubleshooting time by ~70%, shipped within a month.

Core Features

One glance tells if the flow is healthy

Single-signal canvas

Shows exactly where the debugger is at every node, so the CS team doesn't lose their place and doesn't have to scroll back to the start.

Failing node, highlighted automatically

When the system identifies a connection break between two nodes, the first node turns red and the canvas zooms straight to it, so the CS team can go in and see exactly what needs fixing.

Chatbot Preview
Debug Mode
ChatbotTARS
TarsTars Technologies
Hi! I can help you with your credit card requests. What would you like to do today?
Increase my credit limit
Sure, I can help with that. Please select your card:
Platinum Card
Rewards Card
Business Card
Rewards Card
Got it. Let me check your eligibility.
Type your message

Simple and clear controls

Play/pause, stop, restart. These same three controls work for the CS team and for a client with no dev background.

Impact

Faster troubleshooting, strong adoption and lasting trust

Faster Troubleshooting

~70%

Troubleshooting time dropped by roughly 70% post-release, time that used to go entirely into manually tracing broken flows.

Became the team's default workflow

The CS team started running Debug Mode every time a chatbot changed, often multiple passes in a single update.

Earned enough trust to fade into the background

On the release call, Tars' CEO described watching a CS team member start a test run, switch to other work, and check back only occasionally.

Context

500 nodes in a flow, one broken link and two different users

Problem: Finding failures in large flows was painfully manual

The CS team was losing hours debugging chatbots with 500+ nodes. Identifying where a flow broke meant manually searching through the huge canvas for the error, losing their place, restarting from the beginning, and repeating this process.

Navigating this visually complex canvas was the bottleneck that was costing turnaround time for enterprise clients.

Tars gambit canvas with 500+ nodes before Debug Mode

Constraint: The same tool had to serve two very different users

The CS team needed detailed debugging signals like API errors and JSON, while clients would eventually need a much simpler experience. Rather than compromise both, we scoped Debug Mode's first release for the CS team, using their feedback to inform a future client-facing version.

Design Evolutions

Iteration 1: One signal instead of three

Why didn't this work?

Three status colors (active, passed, error) layered onto 500+ blue nodes created more visual noise than clarity.

Design IterationColor-coded gambit states prototype with yellow, green, and red status colors

The shipped solution

Instead of relying on multiple colors, I designed the active step to be the single visual focus: full opacity with a subtle glow while the rest of the canvas faded to 40%. Animated connector lines previewed the execution path.

When something broke, the run paused automatically at that unresolved node. The failing node would turn red and the canvas zoomed directly to it.

Shipped

Iteration 2: Six debugger controls down to three

Design Iteration

Multiple controls that would have complicated the workflow.

Complex six-control debugger interface prototype

Why didn't this work?

The first version featured traditional IDE conventions: play/pause, stop, step into, step out, step over, logs.

The CS team could read it, but these advanced controls were where non-technical clients would stall. This wasn't a scalable design.

Shipped

Three simple, clear controls that got the job done.

Chatbot Preview
Debug Mode
ChatbotTARS
TarsTars Technologies
Hi! I can help you with your credit card requests. What would you like to do today?
Increase my credit limit
Sure, I can help with that. Please select your card:
Platinum Card
Rewards Card
Business Card
Rewards Card
Got it. Let me check your eligibility.
Type your message

The shipped solution

I shipped three controls with clearly stated status messages, so nothing about what the tool was doing had to be inferred.

That cut held up against real usage. Within a couple of months, 90% of errors traced back to minor control changes or API and custom code issues, the exact cases the three-control version already covered.

Scope Decisions

Shipping in phases and shelving the debug console

The first release focused on the CS team. As enterprise onboarding accelerated, reducing their debugging time mattered more than waiting for a version that served everyone. Shipping in phases let us solve the immediate problem first.

The debugging console never shipped. I had designed it as a way to surface deeper error reports, but once V1 launched, the CS team found the simpler interface handled nearly every issue. Since engineering support was rarely needed, the console was shelved.

Shelved debug console prototype showing detailed error logs and API responses

The debug console design that was shelved

In Hindsight

What I'd add today

Passive notifications

Watching the CS team trust the tool enough to multitask revealed one missing piece: they still had to look back at the canvas to know when a run paused. I'd add sound and desktop notifications so the debugger could actively alert them.

Surface run health at a glance

While the canvas showed where failures occurred, understanding the overall health of a test still required scanning the flow. I'd add status pills summarizing nodes tested, errors found, and run progress, giving the team an at-a-glance view of each run.