PARKIT

my favorite build so far — smart indoor parking

Overview

Parkit is a full-stack smart indoor parking system that lets users find and reserve parking spots in real time. It combines IoT hardware, a secure cloud backend, and a user-friendly mobile app to reduce driver frustration and boost parking lot efficiency. The app was in closed testing on the Google Play Store.

Key features

> Real-time parking availability tracking

> Google Maps navigation & place search

> Google Sign-In for secure authentication

> Instant booking with Stripe payment integration

> Multi-currency support & user feedback system

> Admin dashboard for lot owners

> IoT NFC-based gate control

Tech stack

Android Studio (Java/Kotlin) Node.js (Heroku) Firebase Realtime DB Firestore Google Maps API Places API Stripe Currency Layer

Hardware & IoT design

> Custom PCB (KiCad) with I²C expanders & Qwiic connectors

> BME680 for air quality, VL53L1X for precise distance sensing

> NFC access via PN532 RFID module

> Interactive OLED display and 12-key keypad

> Laser-cut acrylic enclosure for airflow and visibility

Raspberry Pi 4 Custom PCB BME680 VL53L1X PN532

Leadership & contributions

Led a cross-functional team through a 16-week Agile cycle, overseeing hardware engineering and mobile app development to deliver a scalable smart parking solution.

> Directed design, prototyping, and testing of the custom PCB in KiCad

> Managed sensor integration and hardware assembly workflows

> Led Android app development with Maps, Firebase, and Stripe integration

> Oversaw firmware for secure Raspberry Pi to cloud communication

> Designed the laser-cut enclosure for sensor placement and usability

> Ran the project in 2-week Agile sprints with planning and iterative delivery

Design approach

How the hardware interacts with the cloud and mobile app:

flowchart LR
    RaspberryPi["RaspberryPi4"] <--> Firebase["Firebase"]
    Firebase <--> Android["Android 10+"]
    RaspberryPi ---> Oled["Zio Qwiic OLED Display (1.5 in)"]
    Distance["Distance sensor (VL53L1X)"] --> RaspberryPi
    Keypad["12-button keypad"] ---> RaspberryPi
    RaspberryPi --> Alpha["Alphanumeric display"]
    RFID["RFID Reader (PN532)"] --> RaspberryPi
    Air["Air sensor (BME680)"] --> RaspberryPi
      

Status

Closed testing on Google Play ✓