StoryMD health dashboard

StoryMD health dashboard

Transforming decades of scattered medical records into a single, actionable health interface.

Transforming decades of scattered medical records into a single, actionable health interface.

My role

UX designer

Process

User research, ideation, prototyping, interaction, usability testing

Tools used

Figma, FigJam, Miro

Team member

Emily

Duration

10 weeks, April - June 2025

Overview

I led the UX design for a comprehensive health platform that transforms fragmented medical records into a unified, actionable history. My work spanned the end-to-end experience: from designing the logic to import and map data from multiple sources—including paper scans (OCR) and modern APIs—to architecting a high-density dashboard that synthesizes decades of information into a single "Source of Truth."

My role

UX designer

Process

User research, ideation, prototyping, interaction, usability testing

Tools used

Figma, FigJam, Miro

Team member

Emily

Duration

10 weeks, April - June 2025

Impact and Outcomes

32%

Reduced connection drop-off

40%

Reduced task completion time

Problem

Healthcare data is fragmented, trapped in paper files, scattered across portals, and often lost during life transitions. We spoke with one user who had moved frequently, resulting in their medical history becoming a “black box,” fragmented across seven different hospital systems.

Overview

I led the UX design for a comprehensive health platform that transforms fragmented medical records into a unified, actionable history. My work spanned the end-to-end experience: from building a secure way to pull in records from thousands of different hospitals around the world to creating a clear dashboard that makes years of health history easy to understand at a glance.

My role

UX designer

Process

User research, ideation, prototyping, interaction, usability testing

Tools used

Figma, FigJam, Miro

Team member

Emily

Duration

April - Dec 2022

Impact and Outcomes

32%

Reduced connection drop-off

40%

Reduced task completion time

Problem

Medical records are scattered across paper files and different hospital portals. When patients move between doctors or cities, they often lose track of their history. This makes it impossible to see long-term trends, leaving users with a lot of data but no clear way to see the big picture of their health.

The original dashboard surfaces everything.

Discovery

Operating within a startup environment with limited resources, I used convenience sampling to kickstart our discovery phase with 5 users. While I recognized the limitations, it allowed us to identify low-hanging fruit usability issues fast.

Key findings

A single data point lacks context. Users need to see longitudinal trends to understand the "why" behind the numbers.

People hate logging into multiple hospital websites to find one piece of information. Most give up because it’s too much effort.

Users worry that their medical history is "gone" when they move to different cities or change doctors.

Ideation

Ideation

We prioritized four foundational ideas to balance technical constraints with user needs. We focused on two primary challenges: Effortless syncing and Clarifying results.

Unified health sync

Securely connect multiple health portals for continuous syncing in a single place.

Comprehensive trends

Color-coded feedback and reference ranges that explain what the numbers actually mean.

Pinned favorites

Gives users instant access to their most critical metrics by allowing them to pin key data points to the top.

Initial design

Based on our initial ideation, I quickly mocked up the V1. Our goal was to streamline the data-linking process while giving helping users better understand their health data.

V1: Add health connections

V1: Add health connections

I initially assumed syncing would take under 15 seconds, so we kept users in app to not interrupt their session. I also provided granular control over their data.

V1: Dashboard favorites

V1: Dashboard favorites

To manage a high-density clinical library without cognitive overload, I designed a system that allows users to pin any metric to a 'Hero' carousel, enabling them to view critical health trends at a glance.

V1: Quick-View dashboard cards

V1: Quick-View dashboard cards

To keep it clean and breathable, I used a square grid for these cards. I prioritized legible typography and clear categorization, allowing users to view their latest results at a glance without digging through complex menus.

Numerical cards

Numerical cards

List cards

List cards

Challenges & Iteration

Design is rarely a straight line. After our initial V1 concepts, we received critical feedback from usability testing and engineering team. These insights forced us to move past "ideal" designs and solve for real-world constraints.

Finding 1: Designing for Asynchronous Syncing

Finding 1: Designing for Asynchronous Syncing

The Problem: We designed the app for a quick 15 seconds sync, but the hospital servers actually took 5 minutes to send the data. Asking a user to stare at a loading screen for five minutes was unrealistic and would have caused most people to give up.

The Fix: I moved to a "fire and forget" model. Now, users trigger the update and can immediately close the app. I implemented a push notification to alert them the moment their data is ready, turning a technical lag into a respectful, non-intrusive experience.

Message informing users this is gonna take 5 mins

When the sync is completed, they will get a notification.

Finding 2: Enhancing Visual Efficiency

Finding 2: Enhancing Visual Efficiency

The Problem: V1 used large square cards and prominent sparklines to create a "breathable" aesthetic. However, usability testing revealed that users found the layout "too spaced out", leading to interaction fatigue during extended browsing sessions.

The Fix: I transitioned to Condensed Horizontal Tiles to prioritize comparative scannability. By removing the read more links at the dashboard level, I increased information density by 2x. This allows users to view significantly more data above the fold.

The V1 square card layout suffered from poor vertical space efficiency

The new horizontal cards is much more efficient when browsing

Finding 3: Better browsing for favorites

Finding 3: Better browsing for favorites

The Problem: Users found the carousel confusing and tiring. Most didn't even realize there were more cards to see. Because they couldn't tell what was coming next, they usually just stopped at the first one.

The Fix: I replaced the carosel with a simple vertical list and added an AI option to fill it in automatically. By letting users just scroll down naturally and moving the extra date settings to a deeper page, I made the experience much more intuitive where the most important health info is never hidden.

Empty state favorites

Vertical orientation of favorites for improved scannability

Final results

After iterating, I ran a final validation round with 4 participants to test the new changes. Here are the findings:

  • Faster Browsing: By replacing inefficient square cards with a condensed horizontal layout, I doubled the information visible "above the fold." Combined with a continuous vertical feed, this eliminated the need to swipe left and right, which significantly speeds up task completion.

  • Solving Data Overload: I moved the exhaustive list of biomarkers to a dedicated "All Results" page with search and filters. This cleaned the primary dashboard of visual noise, allowing users to focus on key health trends without feeling overwhelmed.

  • Decreased Drop Rate: Introducing a "Permission to Leave" screen successfully neutralized the anxiety of the "active wait." By removing the pressure to stay on a loading screen, we saw a dramatic decrease in abandoned sync sessions as users felt more in control.

The Impact

32%

Reduced connection drop-off

66%

Reduced task completion time

32%

32%

Reduced connection drop-off

66%

66%

Reduced task completion time

Final design

Add new connections

Add new connections screen

Connections onboarding

Set sharing permissions

Syncing info screen

Sync complete notification

Dashboard favorites

Empty dashboard favorites

Manually add to favorites

Favorites added, vertically oriented for rapid browsing.

All results

All results section with space-efficient horizontal cards for streamlined result browsing.

Search and filters make it much easier to find a specific card

Individual result detail page

Detailed result analysis featuring a date range picker and summary grid for historical context.

Hover state for a datapoint on the chart

Updates

The feature was shipped in May, 2023!

We have seen a growing trend in the number of users making manual entries. Additionally, I have received positive feedback from users about how simple it is to add entries manually.

Final prototype

Key takeaways

  1. Function over form. The V1 square layout favored a breathable aesthetic over functional utility, but its poor vertical efficiency created a scrolling roadblock. By pivoting to a high-density landscape format, I doubled the visible metrics above the fold while maintaining a disciplined visual hierarchy, allowing users to scan critical health trends faster.

  2. Building trust is the key. I identified that our 5-minute data sync lacked feedback, leaving users trapped and causing high abandonment. I realized the solution wasn't just speed, but transparency. By redesigning the flow to explicitly state they were 'safe to leave' while the sync continued in the background, I reduced anxiety and significantly improved retention.

  3. The cost of speed. While convenience sampling enabled rapid iteration, it initially missed the power user profile managing 200+ biomarkers. This oversight caused our "show-all" dashboard to collapse under extreme volume. Moving forward, I would include at least one power user in the initial research to better understand their unique needs.

Key takeaways

  1. Not afraid to speak up. As a new member of the team, I was initially hesitant when challenged by the tech lead. However, as a UX professional, I wanted to advocate for the user and provide my expertise. I'm glad I spoke up, which eventually resulted in a better UX.


  2. Consider development limitations. I intentionally reused as many existing components as I could, which sped things up and avoided excessive development effort.


  3. Conduct user testing prior to development. The initial mockups were implemented without any usability testing, leading to issues and resulted in wasting valuable development resources. It is far more efficient to have a solid design in place before development.

Let's connect!