Rebuilt an AR medical simulation platform for 1500+ students and instructors, turning years of unused session data into analytics instructors could actually act on.
Over the summer of 2026 I interned at Lumis, an AR medical simulation startup in Pittsburgh, as their sole designer. Working alongside a data science intern and the engineering and business teams, I led a design overhaul of the platform and introduced a new analytics layer for its users.
From the initial audit, to building a design system from scratch, to delivering production ready prototypes, I owned the design direction while balancing it against business needs.
what's the context?
Training on a physical patient
A Pittsburgh based startup building AR simulation training that lets nursing and medical students practice clinical skills on a physical manikin. The InSight Platform runs scenarios, scores technique, and stores every session.
the AR training unitwhat did the audit find?
27 issues across eight heuristics, collapsing into three patterns.
There was no inherited research and no design process they had followed before. There was no design brief either, so the first natural step was to run a heuristic analysis across the whole platform.
I mapped both journeys end to end. Student: login, modules, practice, assessment. Instructor and admin: content authoring, reports, user management.
Then I ran a Nielsen heuristic evaluation across every screen in both.
instructor journey map
before: old dashboard course list- 01No role appropriate insight.
Every simulation generated rich data. None of it reached the person who needed it: the student deciding what to practice, the instructor deciding who to help, the admin deciding whether to renew.
- 02No system.
Icons, CTAs, modals, and states were decided screen by screen, because there had never been a designer to decide them once.
- 03Too many clicks.
Creating a lesson took three fragmented steps. Viewing a lesson summary loaded the whole lesson, showed a modal, then sent you to a page to click again.
I presented the audit to leadership, along with the questions it raised that I couldn't answer alone.
- 01
Design system. Component library and icon set
- 02
Dashboards Where the platform's own data was going unused.
- 03
Modules. Apply the system back across student practice flows.
why build a system first?
Building the foundation first
The audit found inconsistency everywhere. Icons were PNGs dropped in at different sizes with no shared source. Grey was doing almost all the work across the interface, so nothing had visual priority.
Lumis has no designer on staff. A system was the only way the work would survive past my internship, giving developers a defined set of components to build future releases from instead of deciding each screen on their own.
Students use this standing at the AR unit, often gloved.
Touch targets sized for a mouse fail here, so components needed generous hit areas and spacing that tolerates imprecise input. Instructors and admins do their work at a desk, where analytics and reports live, and density matters more than reach.
The platform also runs in a Unity environment. I worked with the dev team throughout to confirm what was feasible to build there, so the system specified components they could actually implement rather than ones they would have to approximate.
component library and variable systemVariables. Two layers. Primitives hold raw values: color ramps, spacing, radii, font sizes. A semantic layer above them defines surface and text, so components reference meaning instead of hex codes.
Core components. Buttons, selections, inputs, tables, cards, modals. 53 components and a 77 icon set curated from Lucide, replacing the PNGs.
Variables
the variable systemComponents
components, in detailSmart peripheral pills. The most context specific component in the system. Every lesson requires particular physical instruments, and students previously found out which ones only after committing to a practice. The pills communicate what a lesson needs and what is currently connected, before it starts.
before
pill component statesafter
course card with pills in useModal window. Standardized so the patient monitor and every other overlay behave the same way. The audit had found modals with inconsistent CTAs and no clear exit.
before
patient monitor modal, beforeafter
patient monitor modal, afterUpload interaction. Bulk CSV import was the one admin action with no visible feedback between upload and confirmation, which is exactly when someone clicks twice and creates duplicate accounts. A static frame could not specify that, so I prototyped the full sequence in Figma Motion.
who is this page for?
One under-built landing for everyone
The audit found the landing page surfaced nothing at all. Each role needed a different answer to the same question: what should I do next.
General
landing, beforeStudent
student landing, beforeStudent. Personal performance, a skills overview split into hands-on and knowledge skills with a total skill score, and recent courses showing progress, required peripherals, and status.
student landing, redesignedInstructor. Cohort performance across assigned coursework, a learning content summary, an entry point into the Content Authoring Toolkit with counts of custom and work in progress courses, students flagged as needing attention, an alerts feed, and current package status.
instructor landing, redesignedAdmin. User statistics including unique users and average time per user, platform-wide student performance, the Content Authoring Toolkit, recent course completion rates, and plan status showing tier, renewal, license count, and warranty.
admin landing, redesignedwhat was the data saying?
Every session generated data. None of it reached anyone.
A data science intern joined the same summer to make sense of what Lumis had stored. My job was deciding what was worth surfacing, and to whom.
The skills model. Every AR lesson was tagged to clinical competencies like CPR and patient assessment. Those 13 competencies were grouped into primary skill buckets, and split into hands-on skills and knowledge skills so the two kinds of learning could be read separately.
The student dashboard
Version 1 Surfaced performance metrics, active skills across the cohort, a peer comparison band, parent skill trends plotted over six months, recent courses, top three lesson struggles, and a recommended next practice.
Then the data pushed back. Students do not use the platform on a uniform schedule, so a monthly trend line was measuring when someone happened to practice rather than whether they were improving.
Final version Replaced trends over time with skills trends per recent course, comparing hands-on against knowledge performance for each. Everything else stayed: the peer band, recent courses, the top three struggles ranked by low score and high attempts, and the recommended next practice based on lowest score and time since last attempt.
Version 1
Final versionThe instructor dashboard
Version 1 Listed every course on the platform with completion and average score, so instructors could scan the whole catalogue at once.
Utilization data killed it. Instructors typically teach four or five lessons in a semester, so most of that table would have shown zero, and the most valuable real estate on the page would have gone to courses nobody was running.
Final version Led with data visualization instead. Recent courses with completion rates, skills trends across those courses, students flagged as needing attention, and the top three lesson struggles ranked by low scores and failed attempts so instructors could triage. Flagging students is what turned the dashboard from a report into something actionable.
Version 1
Final versionCourse level reports
One course at a time, in more depth: how many students started versus completed, average score, average attempts per module, and the lessons students struggle with most.
Frequently missed questions open in a modal showing the correct answer against what students actually chose, so an instructor can see the misconception rather than just the score.
The report splits into a student level view and a lesson level view, with data export throughout.
course-level report
frequently missed questions modalhow many clicks to start practicing?
Getting to the practice faster
Course cards Now show every smart peripheral a course requires, so students arrive with the right equipment rather than discovering the gap partway through. A business decision to let instructors assign courses to students, Canvas style, added start and end dates to the same cards.
Lesson pages Gained performance metrics, the peripherals needed, and the skills covered. Lesson cards carry status pills and completion bars. Instructors and admins get a direct route into the Content Authoring Toolkit to edit that specific course.
Practice pages Now surface the at-a-glance content in place, alongside each practice with its estimated time and required peripherals, and the assessment with its minimum passing score. The modal, the navigation, and the second click are gone.
who runs the account?
Making admin work easier
Utilization Gained filters for modality, department, and timeframe, and split into users, sessions, and tier statistics. The table was cleaned up and given an entry point to add users.
User management Was promoted to its own page with summary statistics broken down by role, bulk import and export, and a table carrying department, status, and row level actions.
before
user management, beforeafter
user management, afterDeactivating a user Had been a single click with no confirmation. I added a review modal listing exactly who is about to lose access, because a misclick here locks a student out of their coursework.
deactivation review modalBulk import Now offers a CSV template to download and fill, with the upload sequence prototyped so the state between submitting and account creation is visible.
The package page did not exist. Users had no way to see what their plan included or when it renewed. The new page shows current features, plan status, license counts, and warranty, with support and feedback entry points. A second tab surfaces available add-ons, from extra licenses and peripherals to advanced reporting and extended warranty, which gave the business an upsell surface it had not had.
package page, plan
package page, add-onswhat came out of it?
A dashboard brief that became a design system
She was tasked with designing the interface of a new dashboard, and instead pushed for a complete reworking of our entire design system, which she then spearheaded. Her design work was thoughtful towards both the user experience and towards engineering constraints.
- 01Designing from data constraints, not around them.
Both dashboards went through a version that had to be thrown out, and in both cases the data told me what was actually possible. The second versions are better because the first ones failed honestly.
- 02Sole designer means deciding what not to build.
With one summer and no design partner, scoping was the job as much as designing was. The design system came first specifically so the work would outlast me.
- 03The physical context changed the interface.
Gloved hands at an AR unit and a desk-bound admin are different users with different tolerances, and designing for both meant the same system had to flex.
