Inspiration
Primary care clinicians are asked to make sense of more data than ever (wearables, labs, patient-uploaded records, and incomplete context) while still protecting time for the patient in front of them. I built Today around a simple question: who needs attention today, and why?
The goal was not another dashboard full of charts. It was a calmer, more actionable workspace that turns fragmented health data into a concise clinical starting point.
What it does
Today has two focused experiences:
- A patient upload portal for Apple Health XML, FHIR JSON, and PDF clinical records.
- A physician portal that prioritizes patients with concerning metrics in a focused inbox. When a record is imported, Today extracts a patient profile, evaluates whether the import warrants high attention, and surfaces important vitals and source context. On the patient review screen, the Today Agent uses GPT-5.6 to generate concise, evidence-grounded clinical insights, recommended next actions, and answers to physician follow-up questions.
Physicians can also mark patients as reviewed, schedule follow-ups in a rolling calendar, create Google Calendar events, and download Apple Calendar-compatible .ics events.
How I built it
I built Today as a lightweight Node.js web application with a clean, animated frontend and a small API layer.
The application:
- Serves separate patient and physician routes.
- Parses Apple Health XML, FHIR JSON, and PDF-derived text.
- Creates AI-powered patient profiles based on imported data.
- Preserves imported clinical context so GPT-5.6 can ground its output in actual observations, values, units, reference ranges, interpretation flags, dates, conditions, and medications.
- Uses GPT-5.6 both for intake classification and physician-facing clinical decision support.
- Includes a synthetic FHIR demo patient with multi-day wearable and laboratory data for a reliable end-to-end demo.
- Deploys automatically from GitHub to Render.
I collaborated with Codex throughout the build to accelerate implementation, test interactions, refine the UI, maintain deployment flow, and iterate quickly on product details.
Challenges I ran into
The hardest problem was making AI output clinically useful without making it sound more certain than the source data allowed. Early AI responses exposed a common real-world issue: the model could not recommend evidence-based follow-up when imports lacked structured observations, units, dates, ranges, or clinical context.
I addressed this by improving the FHIR parser and demo data so the AI receives a structured evidence table rather than an opaque file. I also constrained the agent to avoid diagnosis, keep the primary insight concise, expose deeper reasoning only on demand, and remind clinicians to apply independent judgment.
Another challenge was reducing a complex workflow (imports, triage, review, AI assistance, and scheduling) into a minimal interface. I intentionally chose an inbox and patient-review experience over a graph-heavy dashboard.
Accomplishments that I'm proud of
- A complete flow from raw health record upload to actionable physician review.
- AI-powered triage that identifies whether a newly imported patient needs high attention.
- A concise, expandable patient profile rather than overwhelming clinical summaries.
- Personal-baseline trend insights for a demo patient, including Oura Ring and Apple Watch signals such as resting heart rate, HRV, respiratory rate, and sleep.
- A functional follow-up workflow with a real rolling calendar plus Google and Apple Calendar integrations.
- Smooth, restrained motion and a clean visual system that supports focus rather than distraction.
- A deployable, public end-to-end prototype rather than a static mockup.
What I learned
I learned that clinical AI quality depends as much on data representation as on prompting. A well-structured evidence table with values, units, ranges, timestamps, and patient context dramatically improves the usefulness and reliability of generated insights.
I also learned that good healthcare UX often means showing less. A physician needs a clear reason for attention, supporting evidence when requested, and an obvious next action, not another dense analytics surface.
Finally, Codex showed me how much faster product iteration can be when design, engineering, testing, GitHub publishing, and deployment remain tightly connected.
What's next for Today
Next, I want to add secure persistent storage, authentication and role-based access, richer FHIR resource coverage, stronger PDF extraction, and longitudinal patient histories.
I also want to evolve the Today Agent into a more context-aware care copilot: one that can compare trends over time, draft clinician-reviewed patient communications, coordinate care plans, and integrate with EHR and scheduling systems while retaining evidence visibility, clinician control, and clear safety boundaries.
Built With
- apple-calendar
- applehealthxml
- css3
- fetch
- github
- google-calendar
- hl7fhirjson
- html5
- javascript
- json
- markdown
- node.js
- openaichatcompletionsapi
- render
- rest
Log in or sign up for Devpost to join the conversation.