The Moment I Knew Everything Had to Change
I wasn't initially familiar with Citizen. But other people certainly were.
When I moved to New York, my old boss from General Assembly contacted me and filled me in on this stealth startup he was working on — a "stealth startup" with millions of daily active users.
But there was a serious problem.
My first week there, I watched in horror as our emergency response system crashed during an active crisis. Those millions of users weren't just numbers on a dashboard — they were real people relying on us for real-time alerts about emergencies in their neighborhoods. And our internal tools — the backbone of our entire operation — were collapsing under their own weight.
This wasn't just another tech startup racing to ship features. Every notification we sent could help someone avoid or escape danger. As I dug deeper, I discovered a system that was never built for the scale it was handling:
- Tools would crash during active emergencies
- Memory overload made real-time processing impossible
- Code was so fragile that adding features risked total system failure
- Teams had zero visibility into their own performance
- Emergency alerts were being delayed by technical limitations
Why I Was Uniquely Positioned to Solve This
My background gave me a rare combination of skills for this challenge — as a product manager at General Assembly, I had transformed complex educational systems while they were actively serving students. As a developer, I knew how to rebuild infrastructure without disrupting operations. And as a designer, I understood how to make complex systems feel intuitive.
But most importantly, I knew that the solution wasn't just technical. Having led similar transformations before, I recognized that success would require:
- Deep understanding of the emergency response workflow
- Trust-building with teams who had been burned before
- Technical expertise to rebuild without disruption
- Design thinking to make complex operations feel simple
Every minute of delay meant thousands of users not getting critical emergency alerts. Every system crash meant potential emergencies going unreported. The mission was clear: transform these tools while keeping them running 24/7.
The Challenge: From Prototype to Production
The original tools were built as quick prototypes—using an outdated tech stack that couldn't handle production loads:
- A massive shared Redux store that leaked memory constantly
- Create React App architecture that couldn't scale
- A Firebase database that couldn't handle the scale or the load
- VPS servers that needed constant monitoring
- No performance optimization for real-time data processing
- Interface designs that slowed down emergency response
Taking on the roles of product manager, designer, and sole developer, I began a complete rebuild—transforming all three internal tools into fast, reliable, and scalable applications that would dramatically improve speed, efficiency, and team morale.
The Solution: Rebuilding Critical Infrastructure Without Downtime
I rebuilt three core systems that formed the backbone of Citizen's operation—each one requiring careful migration to ensure zero interruption to our 24/7 operation.
1. Audio Processing: The First Link in the Emergency Chain
Before: The original system for processing live police radio was unreliable and inefficient. Clips would pile up unprocessed, creating dangerous delays. The interface forced workers to waste precious seconds on manual operations.

After: I built a high-performance, keyboard-driven system that transformed how we handled emergency audio:
- Operators could now process radio feeds at up to 3x speed
- Smart audio processing automatically adjusted for hard-to-hear segments
- Location-based sorting ensured teams focused on their assigned areas
- Zero-lag playback eliminated processing delays
2. Incident Reporting: Real-Time Emergency Response
Before: A basic CRUD app with memory leaks that crashed during critical moments. The bloated interface slowed down emergency response, and teams had no visibility into surrounding incidents.

After: I designed a real-time emergency reporting system built for speed and reliability:
- Live map overlay with floating, movable incident UI
- Dynamic notification radius control for precise alert targeting
- Instant sync with public-facing app with the more reliable Postgres database
- Contextual awareness of nearby emergencies
3. Video Monitoring: Critical Content Control
Before: An unstable video processing system that couldn't handle live feeds. Moderators lacked basic controls for managing emergency footage.

After: I created a high-performance video system designed for split-second decisions:
- Buffered live video for controlled review
- Direct incident correlation for informed moderation
- One-click approval workflow
- Automatic performance optimization for sustained operation
The Technical Foundation That Made It Possible
I knew that transforming Citizen's emergency response required bold architectural decisions. Each choice was carefully made to ensure both performance and reliability:
- Moved from Create React App to Next.js for bulletproof reliability, enabling real-time updates without crashes
- Replaced unstable VPS with Vercel's global infrastructure, ensuring 24/7 uptime
- Shifted from Firebase to Postgres for rock-solid data consistency when lives were on the line
- Built a real-time data layer that never missed a beat, even during peak emergencies
- Implemented intelligent caching that prevented memory issues during long shifts
Each technical decision was shaped by deep collaboration with our emergency response teams, ensuring the architecture served their needs first.
Measuring What Matters: Creating TTI
When I started, there was no way to measure how well our emergency response system was performing. Teams were flying blind, and we had no data to drive improvements. I knew we needed more than just intuition—we needed real metrics.
I created Citizen's first comprehensive performance monitoring system, introducing the concept of Time to Incident (TTI). This new tracing metric tracked every step of our emergency response pipeline:
- Audio Processing Speed: How quickly audio from the police radio came in and how quickly teams could process it
- Incident Creation Time: How long it took from audio clip coming in to someone to hear it, and then how long it took to create a verified incident
- Alert Distribution: How long it took from verified incident to user notification
- System Performance: Real-time monitoring of every critical component
For the first time, we could see exactly where delays were happening and why. This visibility led to dramatic improvements:
- Cut overall TTI by 60% through targeted optimizations
- Identified and eliminated processing bottlenecks
- Created real-time performance dashboards for team leads
- Enabled data-driven decisions about resource allocation
- Built new features that were designed to help teams work more efficiently, backed by real data and measured metrics
Most importantly, this wasn't just about numbers—it was about giving teams the insights they needed to excel at their mission.
The Human Impact
There was something even more important than the technical challenges, though.
When I started, I found a team of dedicated professionals who were fighting daily battles with unreliable tools while trying to help people in crisis. They felt overlooked and unheard.
I knew that for any solution to succeed, it had to be built for and with this team.
And so I made them active partners in the transformation. Their insights shaped every feature, their feedback drove every iteration, and their expertise informed every decision.
As the new systems took shape, something remarkable happened: the team's energy completely shifted.
The response was overwhelming. Team members who had been ready to quit became our strongest advocates. As one operator told me: "For the first time, it feels like someone actually understood what we needed." Another shared: "Now I can focus on helping people instead of fighting with tools."
What started as a technical transformation became something much more meaningful: a team that could finally focus entirely on their mission of helping people in crisis.
Your Mission-Critical Challenge
This experience fundamentally shaped how I approach every high-stakes technical challenge. I learned that success requires:
- Starting with the team — The best solutions come from the people doing the work
- Building trust through action — Show, don't tell. Turn skeptics into advocates
- Balancing urgency and stability — Transform systems while they're running
- Measuring what matters — Create visibility into what's really important
- Leading with empathy — Technical excellence means nothing without human impact
If you have mission-critical systems that need transformation — and teams that deserve better tools — let's talk about your challenge.