I built NPIScan to make the dataset browsable. You can search by name, NPI, specialty, or location and drill down from state → city → ZIP code. Each provider has a profile with credentials, practice locations, taxonomy codes, and digital health endpoints.
A few interesting patterns from the data:
- 2025 had ~631k new NPI registrations, the largest jump on record
- Behavior Technicians grew to ~526k providers and are now among the largest specialties
- California alone has ~1.1M providers (~12% of the country)
- Only ~0.5% of providers have registered digital health endpoints
Tech stack: Next.js, PostgreSQL, Meilisearch, Redis. The main challenge was making 9M records feel fast to browse. I solved it with denormalized listing tables, Meilisearch full-text search, and Redis caching for aggregated queries. Most pages respond in <40ms after cache warmup.
Curious to hear feedback from anyone working with healthcare data.