Skip to content
← All work

Questionnaire builder refactor

I made the case for and led a refactor of the questionnaire builder, the tool every study on the platform depends on, after bug tickets, admin interviews and a slow, clunky experience all pointed at it. Builder support tickets fell 100% in the six months after launch.

Rebuilding the tool admins had quietly stopped trusting, starting from the tickets and the dev hours going into patches.

100%
drop in builder support tickets, six months after launch

At a glance

Role
Product Manager, owned the case for the refactor, the discovery with admins, scope and delivery
Team
Me, as product manager, designer and engineer, with the three admins I interviewed as the first users
Timeline
Over four months making the case, then built and launched in Q1 2026
Users
Platform admins and study coordinators, on our own team and at client research groups, who build and maintain the questionnaires patients answer
Metrics
Builder support tickets down 100% six months after launch, time to build a questionnaire from two days to half a day

Problem and stakes

The questionnaire builder is how admins create and edit the surveys patients fill in. Every study depends on it: if a questionnaire is wrong or late, the data behind it is wrong or late too. It was built in the platform's first year and had grown by patches ever since.

Three signals pointed at it, and none was loud on its own. Bug reports and support tickets kept coming back to the same tool: 48 tickets over six months, about a third of all admin tickets. It was slow and clunky: large questionnaires took a long time to load, and common tasks took several clicks to reach one outcome. And when I sat with admins, they told me it did not serve the job they had. They had built around it, hand-making a print preview of each questionnaire to submit to ethics boards because the builder could not produce one.

No single ticket justified a rebuild, which is why one had not happened. Each bug got patched, each hand-made print preview stayed invisible, and the tool kept getting worse. I owned the case for refactoring it, the discovery with admins, the scope and the delivery. The risk was spending a quarter on work that shipped no visible new feature.

Three signals, one tool
  1. 01

    Bugs and support tickets

    The same tool kept coming back in the queue: 48 tickets over six months, about a third of all admin tickets.

  2. 02

    Admin interviews

    Three admins, one story: the builder did not fit the job. They hand-made a print preview for ethics submissions and wanted the clunky parts simplified.

  3. 03

    Slow and clunky

    Large questionnaires were slow to load, and common tasks took several clicks to reach one outcome.

What I did

  1. 01

    Built the case on dev hours, not on complaints

    Tickets alone looked like noise, and admin complaints alone looked like preference. The case landed when I led with how much dev team time was going into patching the builder, then put the admins' experience next to it in the same short document.

    Tradeoff. Building the case took months before any engineering started. In return, senior leadership approved a refactor rather than another round of patches, and nobody questioned the scope later.

  2. 02

    Shipped the builder first, and the rest of the building experience after it

    Every admin had a list. I put the builder itself, where the tickets and the slowness were, in the first release, and sequenced the other parts of the building experience into the releases that followed.

    Tradeoff. Admins waited longer for the lower-priority improvements. In return, their highest-priority items shipped as soon as possible instead of everything arriving late together.

  3. 03

    Made speed and clicks requirements with a number, not a hope

    Slowness and the number of clicks to reach one outcome were why admins did not trust the tool. I set a load-time target on the largest real questionnaire and a click budget for the most common tasks, and tested every release against that questionnaire, not a sample one.

    Tradeoff. A large share of the time went into loading and saving, which nobody sees. It was the right call: a prettier builder that was still slow would have changed nothing.

  4. 04

    Shipped to a few admins first and watched the tickets

    We released the new builder to the three admins I had interviewed before everyone, and I checked two things each week: ticket volume about the builder, and whether those admins were still hand-making their print previews.

    Tradeoff. Being sure of the result took weeks of watching rather than one launch announcement. It also meant Support saw the drop before I reported it, which made the number easy to believe.

What admins did around the builder
  1. The task Submitting a questionnaire to an ethics board
    What admins did instead Hand-make a print preview outside the platform
    What the rebuilt builder does A print-ready preview from inside the builder
  2. The task Reaching a common outcome in the builder
    What admins did instead Click through several screens every time
    What the rebuilt builder does Simplified flows, with the most common tasks a click or two away

What went wrong

The case took over four months to get approved, and the first version of it was the problem. I led with the tickets and the admins' frustration, which leadership heard as noise and preference, and the answer was another round of patches. When I reframed it around how many dev team hours were going into patching the builder, with the admins' experience alongside, it was a very different conversation and the refactor was approved. The lesson I keep is to lead with the cost leadership is already paying, not the pain they cannot see.

Results

  • Builder support tickets fell 100% in the six months after launch.
  • Time to build a new questionnaire fell from about two days to half a day.
  • Ethics submissions use a print preview from inside the builder instead of a hand-made one.

What I learned

Tickets tell you where it hurts. The dev hours going into patches tell leadership why it matters.

What I'd do next

  • Instrument the builder (time to publish, saves per questionnaire, errors) so the next regression shows up on a dashboard before it shows up in tickets.
  • Run the same tickets-plus-dev-hours review on the patient enrolment flow, now that the method has paid for itself once.

Why this matters

Most PM roles involve more inherited features than new ones. This is the work of noticing that a core tool is quietly failing, proving it with evidence a leadership team will fund, and refactoring it without breaking the people who depend on it every day. It also shows the Support and CX partnership PM roles ask for: the ticket queue was my first source, and Support saw the drop first.

Next case study

Daily Diary adoption

I took Daily Diary from 0.5% to 12% of weekly active users, and adoption held between 10% and 15% for six months.

  • Activation
  • Retention
  • Discovery
  • Lifecycle messaging
Read the case study →
12%
weekly adoption, up from 0.5%