Lumiscan dashboard — tracking skin lesions across scans
Software for a skin-lesion scanner that keeps patients, lesions, and scans together, so a clinic can see whether a lesion is changing.
My partBuilt solo
In short
A Next.js and PostgreSQL platform that lets a clinic record patients, lesions, and successive scans from a lesion-scanning device, view metric trends over time, and generate narrative summaries, with strict organization scoping and a stubbed device-ingestion API.
- What it is
- The software side of a lesion-scanning device: a place to keep patients, lesions, and scans, and to see whether a lesion is changing.
- Why it matters
- A device that classifies a mole is not a product on its own. Clinics need to track lesions over time, manage follow-up when something is flagged, and read a summary they can act on.
- My part
- I built the platform on my own for the device’s product owner; classification runs on the device, never in the app.
Step by step
- 1
Scope
Organization id is denormalized down every clinical table and never read from the client.
- 2
Record
Manual entry is the MVP path; the device-ingestion API is defined, authenticated by hashed device keys, idempotent, and simulated by a script.
- 3
Compare
A lesion timeline shows successive scans with metric trends and flags.
- 4
Narrate
Patient-friendly and doctor-facing summaries are generated from stored results; the model never produces a classification.
For engineersHow it is built, its limits, and its keywords.
How it works
Next.js with tRPC for the interface, a versioned REST endpoint for devices, Drizzle on PostgreSQL, S3-compatible private image storage, and an Anthropic-backed narrative module. Every clinical row carries an organization id derived server-side; cross-organization access returns not-found.
Limits
- Prototype authentication with one local workspace; live device ingestion is deferred; HIPAA and GDPR are designed-for-later, not implemented.
- All patient data in the demo is synthetic, including generated dermoscopic imagery.
- The device and its classifier belong to the product owner, so I don’t go into them here.
Keywords
- multi-tenancy
- PHI
- tRPC
- Drizzle
- TypeScript
- medical device software