PulmoSentinel:
About the Project:
A radiologist finds a 9mm nodule. Documents it. Files the report. The coordinator never sees it. The patient goes home. Six months later the nodule has grown. Two years later the diagnosis is Stage 4.
This happens 60% of the time — not because the medicine failed, but because the workflow did.
This breakdown in continuity of care leads to real harm. Studies suggest up to 60% of pulmonary nodules never receive proper follow-up, delaying diagnosis in conditions where time is critical.
PulmoSentinel ensures that once a finding is detected, it cannot disappear from the system.
What It Does:
PulmoSentinel is a clinical tracking system that turns detected pulmonary nodules into actively monitored cases until resolution.
Tracks: Converts radiology findings into structured, auditable cases Monitors: Watches follow-up deadlines in real time Alerts: Flags overdue patients and escalates CRITICAL cases automatically Visualizes: Provides a live clinical dashboard with a continuously updating Clinical Safety Score
How We Built It:
We designed PulmoSentinel as a workflow-first clinical system where every detected finding becomes a state-driven case until resolution.
Core System: React + TypeScript frontend backed by a PostgreSQL state machine (Supabase), managing each case through structured clinical states — New, Acknowledged, Scheduled, Overdue, Escalated, and Closed — with full audit history and role-based access control
Clinical Intelligence Layer: Rules engine implementing Fleischner Society 2017 guidelines to score cases 1 to 10 in real time and trigger escalation when risk and delay intersect — deterministic logic, not AI-generated recommendations, because clinical safety tools cannot hallucinate
Automation and Data Flow: Supabase real-time subscriptions and database triggers power live updates, while an OCR pipeline extracts structured data from radiology reports and CT PDFs — automatically generating a tracked case within seconds of upload
Technical Highlight: We built a custom React Context translation system supporting English, Mandarin Chinese, Spanish, and Hindi across the entire platform — 360+ translation keys, 6 app screens, and 18 public marketing pages — without standard i18n libraries, covering over 4 billion people across four of the world's most spoken languages.
This system was built by a finance student and a medical student at a community college with no prior healthcare software experience — because the problem was too important to leave unsolved.
Challenges We Faced:
Clinical State Modeling: Translating healthcare workflows into a scalable PostgreSQL state machine without oversimplifying care logic — every transition writes a timestamped audit entry with a named staff member
Deterministic Medical Logic: Implementing Fleischner Society guidelines with full clinical precision — size thresholds, imaging types, smoking status modifiers, and follow-up intervals all had to be correct before any case could enter the system
Signal vs. Noise: Calibrating CRITICAL escalation to avoid alert fatigue while still surfacing genuinely urgent cases — balancing risk score, overdue duration, and assignment status so only truly time-sensitive cases reach escalation
Internationalization at Scale: Rebuilding a custom translation architecture mid-hackathon after standard approaches failed silently across 4 languages — requiring a full diagnosis of the LanguageContext system before any key could render correctly
What We Learned:
This project showed that the failure in healthcare is rarely detection — it is persistence after detection.
The most important insight was this: the most critical healthcare problems are operational, not diagnostic. PulmoSentinel does not detect cancer. It ensures that the people responsible for catching cancer never lose track of a finding that could save a life.
We learned how to:
Model real-world clinical workflows as PostgreSQL state machines with trigger-driven automation Build workflow-first systems in React and TypeScript instead of feature-first applications Design real-time clinical dashboards with Supabase subscriptions that update without page refreshes Implement deterministic medical logic that is transparent, auditable, and clinically defensible at scale Balance clinical safety requirements with usability for coordinators working under pressure
Most importantly, we learned that impactful healthcare systems do not need more complexity — they need fewer ways to fail.
Final Note:
PulmoSentinel closes the gap between detection and care — ensuring that no clinically significant finding is lost between the moment it is identified and the moment it is acted on.
Every case is tracked. Every escalation is rule-based. Every follow-up is guided by clinical standards.
The system does not just appear reliable — it is structurally designed to be.
60% of pulmonary nodules are lost to follow-up. PulmoSentinel closes that loop — one case at a time.
Built With
- anthropic-claude-api
- css
- fleichner-society-2017-pulmonaray-nodule-guidlines
- javascript
- medo
- ocr-pipeline
- postgresql
- react
- reactcontextapi
- rowlevelsecurity
- sql
- supabase
- supabase-database-triggers
- supabaserealtime
- tailwind
- typescript
- vercel
- vite
Log in or sign up for Devpost to join the conversation.