Security Operations SaaS / 2023–Present
PatrolSmart
Built a cloud-based, multi-tenant security operations platform with an Admin Web Dashboard for managers and a Mobile Collector App for guards to submit GPS-tagged incident reports with photos.
The spark
My sister runs a small security company, about 20 guards protecting properties across the city. She was paying over $1,000 per month for security management software that was clunky, outdated, and 'just okay.' Her guards hated using it. Scheduling was a nightmare. When clients asked for incident reports, she'd spend hours pulling data together manually. I said, 'I could build something better.' What started as a sibling challenge turned into months of shadowing guard check-ins, understanding why she dreaded Mondays (payroll + scheduling chaos), and mapping every friction point.
The problem
Security company owners struggle with administrative overhead, guards lack efficient real-time reporting tools, and clients have no visibility into operations at their sites.
- Who it affects
- Security company owners/managers struggling with administrative overhead, guards in the field with no efficient real-time reporting, and clients (property managers, businesses) lacking visibility into security operations.
- Previous workflow
- Paper-based incident reports and physical logbooks, Excel/Google Sheets for shift scheduling, phone calls and text messages for guard dispatch, manual PDF or paper report generation for clients.
- What it costs
- Hours per week lost to manual data entry, delayed incident response due to communication gaps, compliance risks from missed certifications and lost documentation, client churn from lack of transparency, inability to scale beyond a handful of sites.
The solution
Built a cloud-based, multi-tenant security operations platform with an Admin Web Dashboard for managers and a Mobile Collector App for guards to submit GPS-tagged incident reports with photos.
Outcome
Reduced incident report turnaround from hours to seconds; GPS-tagged field reports feed a live Mapbox dashboard in real time. In private beta with one agency.
What I learned
Multi-tenancy must be designed from day one; retrofitting agencyId scoping across an entire codebase is tedious, and security rules require both careful logic and thorough testing to get right.
Technical decisions
- React 18 + React Router
- Familiar ecosystem, component-based architecture for a complex dashboard with many views
- Radix UI + Tailwind + shadcn/ui
- Production-ready accessible primitives with full styling control, no heavy component library lock-in
- Mapbox GL + Leaflet
- Mapbox for premium vector tiles, Leaflet for incident clustering and heatmaps
- React Native / Expo
- Single codebase for iOS and Android, easy camera/GPS integration, familiar React patterns
- Firebase (Firestore + Auth + Storage + Functions)
- Serverless, real-time sync, built-in auth, generous free tier, perfect for MVP
- react-hook-form + Zod
- Performant uncontrolled forms with type-safe schema validation
- Recharts
- Lightweight, composable charts that integrate naturally with React
The hard part
Implementing secure multi-tenancy with Firestore. The hardest part was designing a data model and security rules that would completely isolate each agency's data while allowing flexible role-based access within each tenant. Solved by: Adding agencyId to every document across all collections, writing helper functions in Firestore Security Rules to check isSameAgency() and isAdmin() before allowing reads/writes, updating AuthContext to capture and store agencyId at login, and refactoring all data fetching to include where('agencyId', '==', agencyId) filters. This ensures complete data isolation at the database level: even if frontend code had a bug, security rules would reject unauthorized access.
Next steps
- Client Portal – Separate login for clients to view incidents, analytics, and request extra patrols
- Push Notifications – Real-time alerts for new incidents, expiring certifications, shift changes
- Certification Tracking – Upload/manage guard certifications with automated renewal reminders
- Advanced Analytics – Incident heatmaps, response time trends, scheduled PDF reports emailed to clients
- Offline Mode – Queue incident submissions when guards are in low-connectivity areas
- White-Label Branding – Let each agency customize dashboard with their own logo and colors