HADI MOUMENI

Steady - Cursor Hackathon

Built in a team of four with Mert, Iñigo, and Toni for the CURSOR AI Hackathon at IE University. The challenge: make a person’s hard day easier. Top 10 out of 100+ teams.

We designed for a specific moment: it’s 2am, the CGM alarm goes off, the child is at 4.1 and dropping. The parent is standing in the dark with a phone and a number. Nothing tells them what to do with it.

Highlights

  • Every existing T1D tool uses a static decision tree. We built a real physiological model instead: the Bergman Minimal Model, three coupled ODEs from published biomedical literature, personalized to the child’s insulin sensitivity factor.
  • Monte Carlo uncertainty quantification across 200 runs produces honest confidence bands rather than a single predicted number.
  • Layered meal absorption kinetics, IOB pharmacokinetic decay by insulin type, and exercise perturbation with three distinct mechanisms including the adrenaline spike in the first 15 minutes of mixed-intensity activity.
  • Parent types one sentence. Claude extracts the medical parameters, the ODE solver runs, Claude translates the math into a plain English action plan with severity signal, treatment options, action timeline, and escalation guidance.
  • Recommendations consistent with ISPAD 2022 exercise guidelines for pediatric T1D.

Tech Stack

  • Vite + React + TypeScript — Frontend, Vercel
  • FastAPI + Python — Backend, Railway
  • scipy solve_ivp (RK45) — Bergman ODE solver
  • numpy — Monte Carlo (200 runs)
  • claude-sonnet-4-20250514 — NLP extraction and recommendation generation
  • Recharts — Glucose curve with confidence bands
  • Cursor — Built entirely with Cursor

Notes

  • Choosing a physiological model over a decision tree was the most important early call. It made every subsequent technical decision obvious.
  • The exercise perturbation layer was the hardest to calibrate. Football has an adrenaline-driven glucose rise in the first 15 minutes before the aerobic decline kicks in.
  • The parent framing was stronger than the patient framing. A parent of a newly diagnosed child is terrified and has no tools. That reframe sharpened every product decision.
  • Extraction prompt engineering was underestimated. Keeping mins_since_meal and mins_since_insulin completely independent in the Claude prompt was the critical fix.
  • Deployment stability was the lesson. The product was technically strong but the chart was showing the wrong starting glucose when judges were opening URLs. Next time I need to lock deployment hours before the deadline, not minutes.
  • Although I was happy with the end result, I need to focus more on how polished the frontend looks next time.

Check it out: Steady