Neuroscience & Mental Health - Rootly Sub-Challenge: Engineer Wellbeing

Inspiration

On call engineers operate critical systems under constant interruption, especially during nights and weekends. Every tool in the ecosystem measures system health, but none measure whether the human responding has actually recovered.

Rootly On Call Health captures operational load extremely well. It tells you who is overloaded. But it does not measure whether an engineer has returned to baseline after incidents.

Two engineers can experience the same workload and have completely different outcomes depending on recovery.

We realized the missing layer is not more workload analytics. It is recovery observability.


What it does

Light introduces a new metric:

Recovery Debt

Recovery Debt is the gap between operational load and recovery capacity.

It combines:

  • Rootly On Call Health score → operational exposure
  • Recovery signals → sleep and HRV proxies

This produces a single signal that answers:

Are you actually recovering from incidents?


The system provides

Recovery Dashboard

  • Recovery Debt score with clear states
  • OCH versus recovery comparison
  • 7 day recovery trend

Incident × Recovery Timeline

  • Maps incidents to recovery impact
  • Shows how after hours incidents degrade recovery
  • Identifies which incident you never recovered from

Circuit Breaker (assisted actions)

  • Generate handoff summary
  • Suggest shift override
  • Escalate to backup

These are recommendations, not automatic actions.

Recovery Mode

  • Breathing for HRV recovery
  • Incident debrief journaling
  • Sleep guidance based on upcoming shifts

How we built it

  • Mobile app built in Flutter acting as a private recovery sensor
  • Backend Node.js Express service acting as a Resilience Bridge
  • ResilienceEngine computes Recovery Debt from operational and recovery signals
  • Rootly integration using REST API and MCP server for workflow actions
  • DREAMT dataset used as a proxy for recovery signal modeling

Core logic

Recovery Debt is computed as:

Recovery Debt = Operational Risk − Recovery Capacity

The system models recovery over time, not just static scores.

States:

  • Stable
  • Warning
  • Critical Debt

Challenges we ran into

The biggest challenge was designing a Recovery Debt signal that is simple but meaningful.

A naive linear model does not reflect how recovery behaves. We addressed this by incorporating recovery windows after incidents instead of treating all signals as static.

Another challenge was scope. We intentionally reduced complexity by focusing on recovery rather than full burnout prediction.

Privacy was also critical. We designed a strict boundary:

  • Raw biological data stays on device
  • Only derived readiness signals are shared

Accomplishments that we're proud of

  • Defining Recovery Debt as a new, actionable metric
  • Connecting incident operations with recovery signals
  • Building a working integration with Rootly workflows
  • Designing a privacy first architecture
  • Creating a timeline that makes recovery visible

What we learned

Burnout is not just about workload. It is about failure to recover.

Existing tools already capture exposure. The missing piece is understanding whether the responder returns to baseline afterward.

We also learned that the real problem is not detection. Engineers already know when they are exhausted.

The problem is permission.

Providing an objective signal makes it easier to step away without social friction.


What's next for Light

  • Integrate live Rootly data
  • Connect real wearable APIs such as Apple Watch and Fitbit
  • Improve recovery modeling with user specific baselines
  • Add privacy preserving team level insights
  • Explore native Rootly plugin integration

Canva Link - https://canva.link/pae1t8nkh276a7v Github Link - https://github.com/DeepshikaGhale/light-mh-app

Built With

Share this project:

Updates