SentinelSync: Real-Time Offline-First Threat Telemetry Dashboard

This is a submission for the MLH x DEV Writing Challenge

What I Built
During fast-paced incident response and network triage, command teams frequently face bandwidth bottlenecks, dropped packets, and fragmented logs. To address this friction, I developed SentinelSync—a lightweight, resilient security telemetry dashboard engineered specifically to handle erratic connections and edge device stream processing.

SentinelSync captures system and network telemetry locally, queues state changes in a client-side persistent storage engine, and synchronizes securely with the central monitoring console the second connectivity stabilizes. Instead of allowing dropped packets to create blind spots during outages, the application ensures uninterrupted visibility with cryptographic event sequencing.

Building this over a single sprint pushed me to tackle complex state reconciliation and aggressive client-side caching. The most rewarding part was designing the synchronization engine to handle out-of-order log entries without crashing the visualization pipeline or duplicating event states.

Demo
Live Deployment: Github Repo

Source Repository: View on Web

The dashboard features a live threat feed, dynamic visual graphs for packet velocity, and an interactive offline simulation toggle that demonstrates instant, zero-latency queue reconciliation when re-establishing an uplink.

Partner Technologies
MongoDB Atlas: Provided the backend operational data store. I leveraged Atlas time-series collections to handle high-frequency incoming security telemetry feeds, enabling efficient compression and indexing across millions of timestamped log documents without degraded query performance.

GitHub Actions: Handled the CI/CD pipeline, automatically running lint checks, security scanning on container dependencies, and deploying updates directly to production whenever code merged into the primary branch.

Hackathon Experience

Hacking through the MLH challenge window was an absolute rush. Building solo on a tight clock meant ruthless prioritization—focusing strictly on reliable synchronization and low-overhead visualization rather than endless decorative UI elements.
Debugging event timestamps across simulated offline drops late at night tested every bit of my patience, but finally watching the reconciliation algorithm replay 1,200 queued payloads seamlessly into the main dashboard was worth every minute. The community energy and rapid build cycle made it one of the most practical learning experiences I’ve had this season.