MEDICAL MARKET INTELLIGENCE · RICHMOND PILOT · 2026

Practice Volume Analyzer

A market map for medical practices showing supply and access by specialty and area, with wait times and where a specialty is under-supplied.

HealthTech · Market Intelligence

At a glance

Category
HealthTech · Market Intelligence
Product
HealthTech · Market Intelligence
Platform
Responsive web · Next.js · MapLibre GL + MapTiler
Our role
Directory + map · MapLibre · Saturation / opportunity heatmap · End-to-end product UI
Stack
Next.js · MapLibre GL · Supabase · US Census
Outcome
Practice Volume Analyzer proves the directory, wait-time, and saturation layers can be assembled cleanly from public sources for a real metro and specialty: a where-to-expand view no booking directory offers, a nearby-and-how-long read for…
01 / 06Challenge

Booking directories list providers. None of them show the market.

Physicians deciding where to grow have no population-adjusted view of provider density, so expansion is largely guesswork. Patients can't easily see which specialists are nearby or how long the wait is; they bounce between portals. Zocdoc, Healthgrades, and Solv list individual providers to book, but never reveal supply versus demand across an area.

Practice Volume Analyzer assembles the directory, wait-time, and saturation layers from public sources for one metro and specialty set, a defensible angle the crowded 'find-a-doctor-and-book' market doesn't offer. Pilot: ENT · Facial Plastic · Plastic Surgery in Richmond, VA.

02 / 06Access · The Gated Pilot

A private pilot, on entirely public data.

The pilot sits behind a simple Supabase login so it isn't fully public during testing, but everything inside is built from public sources (NPPES + US Census). No patient accounts, no PHI. Standard flow: sign-in, forgot-password by email, a check-email confirmation, and a token-gated new-password screen.

03 / 06Directory · List + Detail

The map, the list, and the detail, always in sync.

The provider list always reflects the active filters and search, and stays in lock-step with the map: hovering a row highlights its pin, clicking opens the detail. Sort by name or by area.

A detail card carries name, specialty, practice address, and contact, public registry data only, with a small locator map and the matching pin highlighted while it is open.

04 / 06Filters · Honest States

Filter to what matters, and stay honest about the data.

Selecting a specialty updates the pins, the list, and the saturation shading together; clearing it restores all specialties. Search by name filters the list and highlights matching pins in real time.

Every state is designed: a clear empty state when nothing matches, loading skeletons while data resolves, and low-confidence flags on thin-population areas so noisy ratios never mislead.

05 / 06Saturation · Opportunity

Where a specialty is over- or under-supplied.

The defensible differentiator: areas shaded light to dark by providers per 10,000 residents, with a legend and a short read-out naming the most under-served areas for the current filter. Hovering an area shows its provider count, population, and ratio.

Switch the choropleth between county and ZIP granularity; the shading always respects the active specialty filter, and low-population areas are flagged so the signal stays trustworthy.

06 / 06Settings · Data & Sources

Every number traces back to a public source.

Settings covers the pilot scope, the specialty taxonomy, notification preferences, and, most importantly, data provenance: which public dataset each layer draws from, when it was last refreshed, and the citation behind every wait-time figure. A scheduled job re-pulls NPPES and recomputes saturation on a weekly cadence, and a 'data last updated' date stays visible throughout the app.

Impact

The whole market, on one honest map.

Practice Volume Analyzer proves the directory, wait-time, and saturation layers can be assembled cleanly from public sources for a real metro and specialty: a where-to-expand view no booking directory offers, a nearby-and-how-long read for patients, and zero PHI.