Case Study

Building a Self-Storage Management Platform with IoT-Powered Access Control

How we engineered a full-stack SaaS platform for self-storage operators — with smart lock integration, automated billing, and real-time occupancy dashboards serving 150+ facilities.

Industry
Self-Storage / Property Management
Duration
10 Months
Services
Full-Stack · IoT Integration · DevOps
Markets
United States

Self-Storage SaaS · IoT Access Control

150+
Facilities
45K+
Active Units
99.7%
Billing Accuracy
<3s
Gate Access

The Client's Vision

A mid-size self-storage operator running 150+ facilities across 12 states needed to replace a patchwork of legacy software — separate systems for unit reservations, billing, gate access, and occupancy tracking that didn't talk to each other. Staff were manually reconciling data across three different dashboards every morning.

They wanted a single, unified SaaS platform where facility managers could manage units, tenants, billing, and smart locks from one screen — and where corporate leadership could see real-time occupancy and revenue data across the entire portfolio.

What Was Breaking

Fragmented Access Control

Each facility used a different gate access vendor. Some had keypads, others had Bluetooth locks, and a few still used physical keys. There was no centralized way to grant, revoke, or audit access.

Manual Billing Chaos

Invoices were generated in one system, payments tracked in another, and late fees calculated in spreadsheets. Autopay failures went unnoticed for days, costing the operator thousands in missed revenue.

No Real-Time Occupancy Data

Occupancy rates were updated weekly via manual reports. Corporate had no way to spot underperforming facilities or adjust pricing dynamically based on demand.

Disconnected Tech Stack

The reservation system, billing engine, and access control software were three separate vendors with no API integration. Data lived in silos, and syncing required nightly CSV exports.

The Architecture We Built

We built a centralized event-driven architecture with Node.js microservices. The platform acts as a single source of truth — when a tenant pays, access is granted automatically. When a lease expires, the lock deactivates within seconds. Everything flows through a unified event bus.

System Architecture

Tenant Mobile App & Manager Portal
React Native app for tenants (payments, lock control) and Next.js admin dashboard for facility managers
API Gateway & Auth Layer
JWT-based auth with role-based access. Facility managers, corporate admins, and tenants each see only their data
PostgreSQL — Core Data Store
Tenants, units, leases, payments, and facility configurations. Multi-tenant schema isolation per operator
IoT Bridge — Smart Lock Integration
Unified abstraction layer supporting Nokē, PTI, and Janus smart locks via MQTT. Real-time lock status and event streaming
Analytics Engine & Billing Automation
Stripe-powered billing with auto-retry logic. Real-time occupancy and revenue dashboards with configurable alerts

The IoT bridge was the most technically challenging piece. Each lock vendor uses a different protocol — Bluetooth LE, Wi-Fi, or cellular. We built an abstraction layer that normalizes commands (lock, unlock, check status) across all vendors, so the application logic never needs to know which hardware is installed at a given facility.

Tech Stack

React Native
Next.js
Node.js
PostgreSQL
Redis
MQTT / IoT
Stripe
AWS

How We Delivered It

Phase 1 — Weeks 1–4
Discovery & System Design

Mapped all existing workflows across facilities. Documented lock vendor APIs (Nokē, PTI, Janus). Designed the multi-tenant schema and event-driven architecture. Defined the IoT abstraction layer spec.

Phase 2 — Weeks 5–16
Core Platform Build

Built the tenant management system, unit reservation engine, and facility manager portal. Implemented PostgreSQL with per-operator schema isolation. Integrated Stripe for automated billing with retry logic.

Phase 3 — Weeks 17–28
IoT Integration & Mobile App

Developed the MQTT-based IoT bridge. Integrated three smart lock vendors behind a unified API. Built the React Native tenant app with Bluetooth and remote unlock capabilities.

Phase 4 — Weeks 29–40
Dashboards, Testing & Rollout

Built real-time occupancy and revenue dashboards for corporate. Load-tested with simulated 45K-unit traffic. Phased rollout across facilities — 10 pilot sites, then full 150+ deployment.

The Impact

Manual billing errors
99.7% accuracy
Automated billing with Stripe
Gate access setup
<3 seconds
IoT-powered instant access
Occupancy reporting
Real-time
From weekly CSVs to live dashboards
Revenue leakage
-82% reduction
Auto-retry catches failed payments
“We went from juggling three dashboards and a spreadsheet every morning to having everything in one place. The IoT access control alone saved us two full-time staff positions across our facilities.”
— VP of Operations, Storage Operator

What Made This Work

Self-storage SaaS is deceptively complex. On the surface it looks like a simple CRUD app — units, tenants, payments. But the moment you add IoT hardware, multi-vendor lock protocols, and real-time occupancy tracking, the architecture complexity jumps significantly.

The key insight was treating the IoT bridge as a first-class service, not an afterthought. By abstracting lock vendor protocols behind a unified API, we made it possible to add new hardware vendors without touching the core application. When the client later added a fourth lock vendor, integration took two weeks instead of two months.

Automated billing with intelligent retry logic was the quiet hero of this project. The old system was losing an estimated $180K/year in missed payments from autopay failures. The new system detects failures immediately, retries with exponential backoff, and alerts facility managers only when human intervention is actually needed.

Building a Storage Management Platform?

We help PropTech and facility management companies build production-grade SaaS. Let's talk about your architecture.

Book Strategy CallCase Studies