Martin Walsh.
←  Index
01Clinical & Health★ Flagship

DutyTracker

Automated ACGME duty-hour logging for residents.

DutyTracker is a native iOS app that turns resident duty-hour reporting from a weekly chore into a near-automatic, low-friction workflow. It uses location awareness to detect shifts at the hospital, pre-fills the week, and surfaces a one-tap submission flow that keeps the resident in control. Built and shipped by a surgical resident, it now runs in external beta with real co-resident testers across a multi-hospital program.

SwiftUISwiftiOSCore LocationGeofencingXcode CloudTestFlightCI/CD

The problem

ACGME duty-hour logging is mandatory but tedious, and residents routinely fall behind because the institutional workflow is slow and easy to forget after a long shift. Manual recall of when you arrived and left is error-prone, and missed entries create compliance gaps. The goal was to remove the friction without ever sacrificing the human review that duty-hour attestation requires.

What I built

A native SwiftUI iPhone app that pulls live call-schedule data per hospital, detects on-site presence via geofencing, and pre-fills a reviewable week of shifts. Key features include a location-aware dashboard that auto-selects the current hospital, single-tap shift editing, a fixed weekly reminder cadence, and a one-tap 'Log Now' action that opens straight to a pre-filled, editable submission screen. Schedule data is decoupled from the binary so roster updates go live without shipping a new build.

How it works

Geofences around each hospital trigger automatic shift detection, with calibrated coordinates and self-correcting presets guarded by automated tests so a bad coordinate can't silently miss a shift. Call schedules are fetched live from a versioned data feed keyed to the resident's site. A deliberate design decision keeps submission human-in-the-loop: the app detects and pre-fills, then waits for the resident to review and confirm rather than silently auto-submitting auto-detected hours, since unattested entries to a compliance system are a real risk. Releases run through a continuous-integration pipeline that builds, archives, and ships to beta on every push.

Where it stands

Live in external TestFlight beta with real co-resident testers across a multi-hospital training program, distributed program-wide. Shipped through dozens of iterative builds, including a geofence-accuracy fix that corrected missed auto-logging at one site, location-aware site switching, and a cold-start review flow with first-week auto-fill. Backed by a privacy policy and tester documentation; a broader public release is a deliberate next step gated on multi-organization de-personalization.