← Back to All Case Studies
Research tooling2026

A fun project became DOOR's default first UX test.

Built with a colleague to get UX signal before waiting on real customers — now the standard early-stage check across every DOOR product team.

Before
2 weeks
Recruit, schedule, wait for real users
After
Instant
AI-simulated personas, same session
Role
Design Lead — persona and heuristics author, builder, adoption owner
Built with
A colleague, during an internal hackathon
Reach
Used by design and product teams on almost every new product
Timeline
3 working days to working v1 → ongoing default tool

Our test participants aren't a panel. They're running buildings.

DOOR OS runs real locks, on real doors, for real property managers and residents. That's exactly why user testing is hard to schedule: our test participants aren't a recruited panel, they're actual customers running actual buildings. You don't swap them for a random usability pool when the flow controls who can get into someone's home.

Which means every round of real testing costs real time — up to two weeks to organize and run, before a single finding comes back. By the time it does, the design has usually already moved.

We needed a way to catch obvious friction before asking a real customer to give us two weeks.

The bet: a filter in front of real testing, not a replacement for it.

If we could encode what we already knew about our real personas, our real usability standards, and our real platform's quirks, we could get a same-day first-pass read on any flow — and save the two-week real-user cycle for what actually needed it: ambiguous behavior, high-stakes decisions, anything irreversible.

That's the shape it still has today: Testing for the simulation itself, Documentation to publish findings where the team already looks, Consulting to tell you when simulation isn't enough and you need the real two weeks after all.

Testing
Run the flow against simulated personas, same day.
Documentation
A standalone report per persona and specific CJM — shareable as-is, no translation needed.
Consulting
If findings are ambiguous, we flag it and route the flow to a real two-week test.
Chapter 1

Encode real users, not stereotypes

The tool runs on real persona archetypes — not invented user types, but abstractions of people who'd actually sat in our real testing sessions: the enterprise portfolio manager managing thousands units through deep PMS integrations, the on-site manager who autosaves a destructive edit without meaning to.

Each one carries real frustration triggers, real vocabulary (some clients say "Neighbor," never "Resident"), and real edge cases — calibrated against journey maps where we already have actual human findings as ground truth.

#enterprise-pm.md
#onsite-manager.md
#boutique-landlord.md
#leasing-agent.md
#maintenance-tech.md
#resident-neighbor.md
#vendor.md
#tour-manager.md
Chapter 2

How the plugin actually works

You upload a customer journey map — or hand it a doc and let it build one — pick the personas you want in the room, and point it at a prototype or Figma file. That's the whole setup.

From there it runs the flow against everything we know: the persona .md files, the journey map, platform quirks, and the accumulated record of past findings, app-store reviews and customer-support themes — all kept as markdown.

Out comes a report. And the knowledge files get updated with what it learned, so the next run starts smarter than the last.

You provide
Journey map — uploaded or generated from a doc
Personas for this run
Link to prototype or Figma
It tests against
#personas.md
#journey-map.md
#platform-quirks.md
#past-findings.md
#app-reviews.md
#support-themes.md
You get
Friction report, scored and tied to heuristics
Updated .md knowledge for the next run
Every run writes back into the knowledge files — the tool gets sharper with each test.
Chapter 3

From hackathon demo to default workflow

What shipped from the hackathon was a six-question wizard: paste or describe the flow, point it at a Figma file or live build, pick personas, confirm — out comes one standardized HTML report per persona, scored for friction severity, each finding tied to a named heuristic and a concrete fix. No vague feedback, no pass/fail verdict.

That output format is what made adoption easy: any team could read it without translation. It's now the first thing we reach for whenever a team can't wait on a real-user round, or just needs a fast early gut-check before committing design time.

It documents itself — and knows its limits

Beyond running tests, the tool documents itself — every report comes out as a standalone, self-explanatory document, organized by feature and test date, so findings don't live only in one designer's head. And it knows its own limits: a built-in consulting mode tells a team when automated testing is the right call versus when they genuinely need the real two weeks with real customers.

How I led it

Co-built v1 with a colleague over a single hackathon weekend.
Authored the design knowledge layer — the persona registry, the usability heuristics, the five ground-truth journey maps.
Set the non-negotiables — never invent behavior, no invented verdicts, every finding gets a named fix.
Drove adoption from a hackathon demo to the default first UX pass across every DOOR product team.
Outcome
3 days
from hackathon idea to working v1
8 personas
archetypes grounded in real past testing participants
5 CJMs
journey maps with real human findings as calibration ground truth
2 weeks
saved per cycle whenever a same-day simulation replaces waiting on scheduling

What I'd change

The tool is only as honest as the restraint we built into it — it was designed to front-load testing, never replace it, and that line matters most exactly when a report comes back clean and it's tempting to skip the real round. Making sure that discipline holds as more teams adopt it — not just as a rule in the skill, but as a habit in how people use it — is the harder, ongoing part.

Next Project
Ring — 10 to 70+ device setups, same team

Let's connect and create together.

Download CV LinkedIn
© 2026 Voropai. All rights reserved.