Healthy ingestion
A scientific device creates records, source storage preserves them, and the live pipeline delivers each record to the electronic lab notebook.
Data is being generated, transferred, and confirmed downstream.
Data · Operational resilience
A guided simulation of what happens after live data delivery fails—and why restarting the pipeline is only half the recovery.
Follow one outage from healthy ingestion through detection, reconciliation, and a safe historical backfill.
Start the recovery Read the recovery overviewGuided system recovery
Advance the scenario at your own pace. Counts and identifiers remain deterministic so every operational decision can be checked.
Healthy ingestion. Source and destination each contain 108 records.
A scientific device creates records, source storage preserves them, and the live pipeline delivers each record to the electronic lab notebook.
Data is being generated, transferred, and confirmed downstream.
Scientific measurements
108 source records
Validate and transform
108 destination records
No checks or alerts
Without observability, the failure can remain invisible while records diverge.
Available when history diverges
Safe, retryable replay
Mobile recovery overview
Reliable recovery preserves source data, detects delivery failures, reconciles the historical gap, and safely backfills only the records that never reached their destination.
The device keeps writing records to durable source storage during the outage.
Health checks and alerts expose the failed delivery path and seven missing records.
Compare source and destination identifiers to isolate records 109–115.
Replay only those seven records through a separate, retry-safe historical path.
Live delivery is healthy, the seven-record historical gap is repaired, and source and destination both contain 120 records.
What reliable recovery requires
Design for interruption, not only the happy path.
Make health, lag, and failure visible enough to act.
Measure whether the complete record set arrived.
Compare independent manifests to find exact gaps.
Replay historical records through a separate recovery path.
Make retries safe without creating duplicate records.
Retain enough context to trace where each record came from.
Why I built this
This project is inspired by a recovery pipeline I worked on as a Data Engineer. A historical-loading capability later became useful after a real outage interrupted live delivery. The experience distills the lesson: reliable data engineering includes detection, preservation, reconciliation, and recovery.
This is a simplified educational simulation—not a reconstruction of confidential client architecture. It contains no employer names, proprietary details, or real records.
With your permission, Google Analytics helps me understand which pages and projects are useful. No advertising tracking. The portfolio works equally well without it. Privacy details