Separate geometry from landmark estimation
I could have used one combined model that outputs angles. I did not. I can unit-test the math even while landmark finding stays experimental.
Engineering
Why the sign on someone's hands mattered, what I refused to let the software do, and the decisions that still shape how it is built.
Notes, code, and a sketch of the measurement. Not a clinical result.
I started LungLens because digital clubbing is still judged by a look. Two careful people can disagree. I did not want to shrug at that. The numbers that stayed with me are on the overview.
Where I got stuck was treating a successful run as if it proved I found the anatomy. A stub can return fixed points and still produce angle values. That is why Demo captions now say when placeholders are active.
Dates below come from project history. They mark engineering milestones, not invented setbacks.
2026-07-22
I started the monorepo so the app and the analysis code could grow together.
2026-07-23
I put patient profiles, clinic workflows, and interop planning into the foundation.
2026-07-23
I documented environment placeholders without putting secrets in the repo.
2026-07-23
I tuned the analysis API requirements so local engineering tests could run cleanly.
2026-07-23
I built patient, clinician, and admin portals, with login routing by assigned role.
2026-07-23
I stabilized demo role lookup so sample users reach the right portal.
Capture quality, geometry, and portal work continued after these early milestones.
I could have used one combined model that outputs angles. I did not. I can unit-test the math even while landmark finding stays experimental.
I could always return a measurement. I do not. I do not want uncertainty to become a reassuring shape label.
I could show morphology labels from stub paths. I do not. I do not want experimental output to look clinical.
I could analyze every capture. I do not. Bad framing and blur make landmark error worse. A retake is cheaper than a false number.