Bhuvan Sarupuri Ph.D.
Why I built it

TOPdesk Research Copilot

If you are a PM, a designer, or a support lead at TOPdesk, doing research usually means waiting for a researcher, or skipping it. I wanted to open that up. This is a copilot that lets any product role run real research on their own, so a good decision does not have to wait for a specialist.

You tell it what you are trying to figure out. It takes you to the right task and does the heavy lifting, in TOPdesk's own language.

Role
Research, design & build
For
TOPdesk (self-directed)
Year
2026
Stack
TypeScript, Node, Claude
Status
Built · awaiting adoption data
What it does

Say what you are doing. It runs the task.

Talk to it or type. It works out which research task you need, opens it, and grounds everything in TOPdesk's real product docs, so it does not sound like generic UX advice.

localhost:4000
TOPdesk Research Copilot
What do you want to do?
Tell me what you are working on and I will take you to the right task, or pick one below.
🎤Send
Frame & plan
Frame a studyChoose a methodBuild a screener
Collect
Interview guideBuild a surveyCard sort
Make sense
Synthesise notesWrite insights
Share & prove
Structure a reportResearch ROITrack impact
The home screen. Tasks grouped by research phase, so anyone can find where to start.
Inside a task

Framing a study, without knowing the theory.

Take the most common starting point. You describe the problem in plain words, and the task pressure-tests it: it flags biased or fuzzy questions, names the assumption worth testing first, and suggests a method. You end up with a real plan, not a blank page.

localhost:4000/intake
Stakeholder frame
Priya Nair, Service Desk Lead
Employees still email requests instead of using the self-service portal, so first-line load stays high.
People can find the right service in the portal without help.
TOPdesk context
Self-Service Portal
localhost:4000/intake · check
Question check, 3 reviewed
Q1 Why do not people use the portal? VAGUE
Q2 Is the clunky form slow and annoying? LEADING2-IN-1
Q3 Where do operators lose time on a call? CLEAR
Recommended method
mixed Moderated task test plus intercept survey n≈8 + 120
Portal adoption, self-service
run-3f2a · brief saved
Change-approval friction
run-9c1b · brief saved
CMDB data-quality gaps
run-7dd4 · brief saved
The framing task: a filled brief on the left, its checks and plan on the right. Bias flags, a method, and saved runs.
Under the hood

Agents, skills, and workflows.

The whole system is config, not code. Every task is a skill, skills belong to a method agent, and skills chain into workflows. That is what makes it easy to grow and keeps every task consistent.

Qualitative7 skills
Quantitative2 skills
Mixed methods11 skills

Every skill belongs to one of three method agents. The stakeholder, a PM or a lead, is a role in the work, not an agent, so the tool never pretends a person is automated.

- name: affinity-synthesis owner-agent: qual purpose: cluster notes into themes with evidence links inputs: raw notes, quotes, transcript excerpts outputs: theme clusters, supporting quotes, evidence ratings guardrails: do not present qualitative themes as population stats
One skill is one spec. A single engine reads it, asks Claude for structured output, grounds it in the TOPdesk docs, and holds the guardrails. Adding a task is a few lines of YAML, not a new screen.

Six workflows chain the skills

A workflow is an ordered run of skills with review gates, so bigger jobs stay on rails.

DiscoveryGenerative research, intake to activation7 skills · 2 gates
ReportFindings into a report and shareout5 skills · 1 gate
UsabilityA usability test, guide to recommendations5 skills · 1 gate
ImpactROI, impact tracking, business case3 skills · 1 gate
IACard sort to tree test3 skills · 1 gate
MixedQual depth plus quant scale5 skills · 1 gate

How a request flows

Three ways in
Talk to it
Voice or text. A router picks the task.
The task hub
Pick a task from the home screen.
A direct link
/task?skill=… opens one task.
↓
Node server
A small plain HTTP server routes each request. No framework.
↓
The skill-runner
Reads the skill's spec, asks Claude for structured JSON, grounds it in the TOPdesk docs, and enforces the guardrails. If the AI is off, a plain rule-based fallback runs instead.
↓
Claude
Structured JSON output.
TOPdesk docs
Keyword retrieval for grounding.
Config (YAML)
Skills, workflows, methods, docs.
localhost:4000/task?skill=insight-writer
Real output, from six mocked operator interviews
Fragmented canned replies and skipped categorisation hurt first-line priority
Insights
  • Operators keep private canned-reply files instead of shared Knowledge Items, so the same answers get rewritten and quality drifts between people.
  • Categorisation gets skipped because the form feels slow, so priority is set on incomplete data and tickets land in the wrong queue.
Next steps
  • Move the most-used canned replies into shared Knowledge Items.
  • Trim the intake form: fewer required fields, smart defaults.
Real output from the "Write insights" task. It uses TOPdesk's own terms and cites what it is based on.