Inspiration

Insulin pumps have been named in 387,208 FDA reports. 137,062 of those were reports of injury. 477 involved a death.

Most failures weren't freak accidents. A battery died with no warning anyone noticed. An alarm was too quiet to hear. A button was too easy to press twice. Every one of these was a bug or a design flaw that nobody caught before the pump reached a patient.

What it does

Infallible puts a pump through its worst day before a patient has to.

  1. Scan a pump with your phone, or start from a bundled 3D model.
  2. Break it. Each AI patient (built personas from real reports) gets its own emulated pump in a real failure state taken from FDA reports.
  3. Use it. AI patients with low vision, hearing loss and tremors try to dose insulin safely. They see blurred screens, hear muffled alarms and miss buttons. Claude creates a list of actions, and Jev determines what is actually visible to the agent.
  4. Fix it. Every overdose, missed alarm and dropped bolus is flagged, and Claude maps the design fix onto the exact button or screen, along with how to fix each issue.

How we built it

  • FDA pipeline: 19 GB of MAUDE data filtered down to insulin pumps and labeled by failure. This is what the patients and scenarios are built from.
  • Pump emulator: one isolated pump per patient, running on a laptop or a Raspberry Pi with a real screen. Built to emulate the most popular insulin pump.
  • AI patients: impairments are applied to the actual pixels, audio and button presses before Claude sees or makes them. Personas are built from the FDA pipeline with the 4 most common tropes, and 1 control. To determine the tasks to take each frame, the platform takes a snapshot and applies any visual impairments. The final image is sent to Jev to determine what actions are currently visible. Then, the agent loop takes the entire context (task, current visible state, and persona) to plan and execute an action, affecting the state of the device. This is continued until success or failure.
  • Stack: FastAPI, Redis, Tauri + React + Three.js, Expo.

Challenges we ran into

Agent planning. We can't give the entire context to an agent, or else it would always give the optimal answer (near 100% success rate). We had to experiment with different ways to display a possible list of actions to take (we tried a full list of all possible actions, filtered by visual only, then finally both visual and "felt").

Real impairment. Telling a model it has low vision does nothing and just using guiding prompts proved unsuccessful for modeling visual and auditory impairments.

What's next for Infallible

  • Automatically update tasks and agent personas with new data
  • Inject faults while a run is going, not just at the start
  • Test real manufacturer firmware
  • Export results as FDA human factors evidence

Built With

Share this project:

Updates

Submission history