Smart Park: IoT Parking & Spot Reservation Apps
Two React Native apps for smart parking: a driver app to find, reserve and pay for a spot, and an attendant app for plate scanning, gate and printer hardware, and live occupancy.
- Platform
- Mobile app
- Built with
- React Native
- Tech stack
- 13 technologies
Project highlights
- Driver app and operator app in one ecosystem for iOS and Android
- Live slot status on a map, plus advance booking with a checkout countdown
- Plate scanning on the attendant's phone, with Bluetooth printer and gate integration
- Attendant app keeps working offline in basements and syncs on reconnect
Overview
Smart Park is a smart-mobility platform that helps drivers find parking faster and helps operators run their lots. It has two synchronised mobile apps: a Driver app for discovering, reserving and paying for spots, and an Operator app for attendants and lot managers. The apps connect to IoT slot sensors and entry gates through a cloud broker. I built the React Native clients and worked on the Node.js and Express.js services behind them.
The problem
Drivers lose time circling for parking, and operators struggle with manual check-ins, cash handling and no live view of occupancy. Sensors, gates and payments all have to agree on one booking, and attendants often work in basements with no signal.
The solution
Spot discovery
a Google Maps view with marker clustering shows multi-storey and street parking with live status of Available, Limited or Full.
Advance booking
drivers reserve standard, EV or accessible bays with an arrival grace period and a five-minute checkout countdown.
Guidance
Google Directions routes the driver to the lot, then switches to bay-level guidance once they cross the lot's geofence.
Touchless exit
fees are calculated from entry and exit times and paid in the app through UPI, Google Pay, Apple Pay, cards or wallet, with FASTag linkage where supported.
Plate scanning
attendants scan number plates with on-device ML Kit OCR for walk-in or unregistered vehicles.
Operations
Bluetooth thermal printing for slips, gate triggering, manual check-in and override, cash reconciliation and a live dashboard of occupancy, turnover and cash versus digital revenue.
Architecture
- Slot status flows from ultrasonic sensors through an MQTT and WebSocket broker into the apps, so occupancy updates arrive as pushed events with no polling.
- On entry the driver app presents a dynamic QR code or a BLE handshake, the backend verifies the booking and the gate is triggered.
- Redux Toolkit and RTK Query keep active booking sessions separate from cached map markers so map activity does not disturb the booking flow.
- The Operator app stores tickets and manual check-outs in local SQLite and syncs them when connectivity returns.
- Geofencing uses native boundary triggers, with high-accuracy GPS switched on only when the driver is close to the garage.
Challenges solved
- 1
Double bookings
two drivers could claim the same spot at once. Optimistic locking in the app, backed by server-side locks and a five-minute checkout timer, prevents that.
- 2
Battery drain
significant-motion and native boundary triggers start precise GPS only when the driver is within about 500 metres of the garage.
- 3
No signal in basements
the Operator app issues tickets and logs checkouts offline, then syncs automatically.
- 4
Dense parking layouts
map clustering and custom overlays keep multi-level lots readable and responsive while panning.
Outcomes
Drivers can find, reserve and pay for parking in one app, attendants can run a lot from their phone even without signal, and managers get live occupancy and revenue figures. Frontend performance was also improved with lazy loading and Redux state management.
Technology stack
- React Native
- TypeScript
- Redux Toolkit
- RTK Query
- WebSockets
- MQTT
- Google Maps SDK
- Bluetooth BLE
- ML Kit OCR
- SQLite
- Node.js
- Express.js
- REST APIs
Screenshots
More React Native work
- MotorPedia Dealer App: B2B Car Dealer & Auction PlatformLive app for used-car dealers and brokers on iOS and Android: vehicle checks, live auctions, inventory, leads and video marketing in one place. Used by 1,000+ dealers daily with 99% uptime.View case study
- MotorPedia Classifieds: Used Car Marketplace (Web, iOS & Android)Live marketplace for buying and selling pre-owned cars on the web (installable PWA), Android and iOS, with search and compare, instant valuation, doorstep inspection booking and EMI tools.View case study
- Abeona: Hotel, Suite & Event Space MarketplaceTwo-sided React Native booking marketplace for rooms, suites, banquet halls and local experiences, with radius-based search, a map location picker and full English/Arabic (RTL) support.View case study
Need something similar?
Tell me about your project and I will suggest a plan.

