Case Study

Blood Test Visualizer

A patient-focused PWA that transforms raw blood test data into clinically-contextualized, interactive visualizations for tracking chronic lymphocytic leukemia (CLL) treatment response.

react-jsjavascriptcss

App in Action

Blood Test Visualizer dashboard overview
Blood Test Visualizer dashboard overview
Interactive trend chart with clinical zones
Interactive trend chart with clinical zones
Visual gauge and biomarker detail view
Visual gauge and biomarker detail view

Project Details

Duration
Ongoing
Role
Full-Stack Development
Platform
Web (PWA)
Technology
React 19, Vite 7, Firebase

Problem / Approach / Result

The Problem

Raw lab reports lack clinical context for patients

A family member undergoing treatment for Chronic Lymphocytic Leukemia (CLL) was receiving regular blood test reports -- dense PDF tables with dozens of values but no narrative. Understanding which numbers were improving, which were concerning, and how they trended over years of treatment required a physician to interpret. Between appointments, the patient and family had no way to quickly assess the trajectory of their fight.

  • Lab PDFs are not designed for patient comprehension
  • No historical trend visibility across months or years of treatment
  • Clinical thresholds differ for CLL patients vs. general population
  • Family members needed reassurance between physician visits
The Approach

Build a CLL-specific, clinician-informed visualization layer

Rather than building a generic health dashboard, the app was designed around one patient's specific treatment journey. A clinical metadata engine maps each test result against CLL-specific thresholds with physician-reviewed zone definitions. Interactive gauges and historical trend charts let the family see at a glance whether values are improving, stable, or concerning.

  • Defined clinical zones per test with CLL-specific thresholds
  • Color-coded gauge and trend visualizations (green/yellow/red)
  • Embedded physician-written analysis for each biomarker
  • Progressive Web App for offline, bedside access on any device
  • Accessibility-first with ARIA labels, keyboard navigation, color-blind safe patterns
The Result

Immediate clarity and peace of mind

The family can now open the app on any device and within seconds understand the status of all 12 tracked biomarkers. Historical trend charts spanning 5+ years of treatment data tell the story of recovery at a glance. Urgent findings are surfaced prominently so nothing is missed. The app serves as a bridge between appointments -- translating clinical data into a language the whole family can read.

  • 12 biomarkers tracked with 26+ data points each across 5 years
  • Sub-second load time with static data and Vite optimization
  • Works offline via PWA -- critical for hospital environments with poor WiFi
  • Responsive across phone, tablet, and desktop
  • Lithuanian-language header honoring the patient's heritage

Key Features

Clinical Zone Engine

Each test is evaluated against CLL-specific thresholds -- not generic lab ranges. Zones map to Critical, Borderline, and Normal with physician-reviewed messages.

Interactive Trend Charts

Recharts-powered line charts with color-coded background zones, reference lines, and a brush control for zooming into any time period across 5+ years of data.

Visual Gauge

Horizontal gauge bar with dynamic scaling, threshold markers, and diagonal stripe patterns in critical zones for color-blind accessibility.

Urgent Findings

Critical conditions like severe pancytopenia, acute kidney injury, and hepatitis are surfaced in a prominent alert banner at the top of the dashboard.

PWA / Offline Access

Installable as a Progressive Web App with offline capability -- essential for hospital and clinic environments where WiFi is unreliable.

Accessibility-First

WCAG-compliant with ARIA labels, semantic HTML, keyboard navigation, focus-visible rings, and color-blind safe patterns throughout.

Architecture

HIGH-LEVEL ARCHITECTUREDATA LAYERFirebase FirestoreStatic Data (data.js)PROCESSINGClinical Metadata EngineZone ClassificationREACT COMPONENTSBlood Test CardsVisual GaugeTrend ChartsUrgent FindingsVISUALIZATIONLine ChartsReference ZonesInteractive Brush/ZoomPWA / RESPONSIVE UIMobile-first, Offline-capable, Accessible
Data Layer

Firebase Firestore for persistence, with a static data module as the current source of truth for 300+ test records.

Processing

Clinical metadata engine classifies each result into zones using CLL-specific thresholds and generates physician-level context.

React Components

React 19 components for blood test cards, visual gauges, trend charts, and urgent findings -- all built with Tailwind CSS.

Visualization

Recharts powers interactive line charts with reference zones, brush zoom, and animated tooltips for temporal analysis.

Key Metrics

12
Biomarkers
Tracked with CLL context
300+
Data Points
Across 5+ years of treatment
<1s
Load Time
Vite-optimized static bundle
100%
Accessible
WCAG-compliant UI

Tech Stack

Frontend
React 19

Component-based UI with hooks for state management

Build
Vite 7

Lightning-fast HMR and optimized production builds

Styling
Tailwind CSS 4

Utility-first responsive design system

Charts
Recharts 3

Composable, interactive data visualization

Backend
Firebase 11

Firestore database and authentication

Icons
Lucide React

Consistent, accessible icon library

PWA
Vite PWA Plugin

Service worker, manifest, offline support

Routing
React Router 7

Client-side page navigation