AI-Powered Smart Parking Platform

Park smarter.
Drive less.

HemenPark combines AI-powered cameras, crowd-sourced reports, and public APIs to show real-time parking availability.

HemenPark List
HemenPark Map
Scroll

Every wasted minute
costs more than fuel.

Drivers spend an average of 10–15 minutes each day searching for a parking spot. Wasted time, unnecessary fuel burn, and added stress. Existing solutions either rely on outdated static data or cover only a fraction of real-world spots.

HemenPark tackles this with three complementary data sources: AI-powered cameras that monitor entrances in real time, crowd-sourced spot reports verified by on-device ML and Gemini AI, and edge sensor devices deployed at fixed lots. All three feed into a single live map delivered to the mobile app.

Real-time AI Mobile-first City-wide Open API
Without HemenPark

Drive around, guess, waste time and fuel.

With HemenPark

Open app, see spots, go straight there.

Park smarter.
Complete experience.

From live maps to a token economy, HemenPark is a full parking ecosystem.

01 / 07

Real-Time
Map

Parking spots update in real time via GraphQL queries and push-driven refreshes. Color-coded markers reflect occupied/free status within seconds. High-performance map experience built on Google Maps SDK.

Google Maps SDKApollo GraphQLPostGIS
Zone A · 3 free
4 free  ·  5 occupied
~3 min walk
Live updating
Occupied 98%
Occupied 95%
Free 99%
Occupied 91%
Free 97%
Occupied 96%
Free 94%
Occupied 99%
24 fps
Vehicle Detector → EfficientNet-B0
HTTP Stream
3 free / 5 occupied
02 / 07

Camera
Detection

Camera frames are sampled and processed in two stages. First, a vehicle detector extracts a bounding box around every car in the frame. Then EfficientNet-B0 classifies each predefined parking region as empty or occupied. Results are pushed to the backend over HTTP REST. No raw video is stored or transmitted.

Vehicle DetectorEfficientNet-B0HTTP RESTPyTorch
03 / 07

Token
Economy

Users earn HemenPark Tokens (PT) for every validated parking report. Tokens unlock detailed spot info or short-TTL reservations. Dynamic pricing adjusts token cost based on report freshness and demand.

Token RewardsSpot ReserveDynamic PricingIn-app Wallet
P
Validated report
Kadıköy · 2 min ago
+5 PT
🔒
Spot reservation
Beşiktaş · 5 min ago
−3 PT
Streak bonus (10 reports)
1 hour ago
+15 PT
Wallet Balance
248 PT
On-device AI validating...
Empty spot detected
Photo not stored on server
GPS: 41.0082, 28.9784
04 / 07

Crowd-Sourced
Reporting

Users report empty parking spots using their phone camera and GPS. Before any upload, a lightweight MobileNet classifier running fully on-device verifies the photo as valid or invalid, with no server round-trip needed. The same MobileNet runs natively on both Android and iOS. Photos are stored in MinIO object storage and reviewed by Gemini 2.5 Pro for verification. Only valid reports influence the map.

MobileNet (Android + iOS)On-device AIPrivacy by Design
05 / 07

Open Provider
Ecosystem

Cities and private parking operators can integrate via REST API. The Public API Connector app normalizes data from different sources and merges them into a unified stream.

REST APIAggregator & FusionPostGIS DedupPrivate Lots
HemenPark HemenPark
🏙️
İstanbul
Live
🌊
İzmir
Live
🅿️
Private Lot
API
📡
Edge Cam
REST
iOS Map
iOS
Android List
Android
Kotlin Kotlin Multiplatform
06 / 07

Truly
Cross-Platform

Shared business logic via Kotlin Multiplatform with Compose Multiplatform UI running natively on both Android and iOS. Swift is used only for platform bridges (TFLite, Maps, notifications). One codebase, two fully native experiences.

Kotlin KMPCompose MPTFLiteGoogle Maps SDK
07 / 07

Event
Alerts

Concerts, matches, road closures, and construction all change parking conditions before they hit traditional data sources. Gemini 2.5 Pro scans news and city feeds daily to discover parking-impacting events, and FCM/APNs deliver geofenced push notifications only to users near the affected area. Affected zones are highlighted live on the map so drivers can route around them.

Gemini 2.5 ProFCM / APNsGeofencedLive Map Overlay
Event Alerts 3 active
High Starts in 2h
Concert · Beşiktaş İnönü Stadium
~70% parking reduction · 1.2 km radius
Medium Now · until 18:00
Road closure · Kadıköy
Mehmet Akif Cad. · detour active
Low Ongoing
Construction · Şişli
Single lane · minor impact

From camera to
your pocket.

01
📡

Three data sources feed the system

HemenPark aggregates from three distinct sources simultaneously: (1) AI cameras whose frames flow through a two-stage pipeline: a vehicle detector extracts bounding boxes, then EfficientNet-B0 classifies each parking region as empty or occupied. The pipeline runs on backend Celery workers by default; optional Raspberry Pi edge agents can run the same models locally and push results via HTTP REST. (2) Public parking APIs for city and private lot provider feeds. (3) Crowd-sourced reports with user-submitted photos pre-classified on-device by a MobileNet classifier (Android + iOS) before upload.

02
🧠

Aggregator & Fusion layer processes data

The Django + Strawberry GraphQL backend applies PostGIS geospatial deduplication, confidence scoring, and stale-data cleanup across all sources to produce a unified, ranked list of "spot candidates."

03
⚙️

Services enrich the result

Dynamic Pricing Engine sets token costs based on report age and demand. OSRM calculates server-side walking ETAs. Gemini 2.5 Pro discovers parking-impacting events daily and verifies crowd-sourced reports. FCM/APNs push notifications keep users informed in real time.

04
📱

App delivers results in real time

The Kotlin Multiplatform app (Android + iOS) with Compose Multiplatform UI polls spot data via Apollo GraphQL and shows live updates on an interactive Google Maps view. Users earn tokens for validated reports and can reserve spots with short-TTL holds.

A glimpse inside
HemenPark.

Six screens that show how drivers find, reserve, report and earn, all from one pocket-sized experience.

Nearby parking list Live map view Reservation flow Report a parking spot Token store Event parking alert
01 / 06
📍

Nearby spots, ranked live

Browse the otoparks closest to you with up-to-the-minute availability, walking distance and live fill bars. Filter by camera coverage, paid/free, or only-available with a tap.

Live countsWalk ETASmart filters
02 / 06
🗺️

Map that breathes in real time

Green, red and amber pins update as cameras, edge sensors and crowd reports flow in. Pan, zoom and tap any pin to see live status, source confidence and reserve in one motion.

Google MapsMulti-source pinsConfidence aware
03 / 06
⏱️

Reserve in three taps

Pick a day, dial in your arrival time, set duration. Short-TTL holds keep the spot warm while you drive, with payment handled at the lot for partnered providers.

Short-TTL holdFlexible durationPay on arrival
04 / 06
📸

Snap a photo, earn tokens

Spotted an empty curb? Tap, shoot, send. An on-device MobileNet classifier pre-validates the frame so only useful reports leave your phone, and tokens land in your wallet when it is verified.

On-device AICrowd verifiedToken rewards
05 / 06
🎟️

Wallet, store and subscriptions

Top up tokens, unlock packs or jump to a monthly plan for unlimited reservations and premium features. Every spend and reward is tracked transparently in your wallet.

Token packsMonthly plansTransparent ledger
06 / 06
🚨

AI event alerts, before you drive

Gemini 2.5 Pro scans city calendars daily and pushes alerts when a nearby event is likely to fill every spot around it. You see the risk before you leave, not after you arrive.

Gemini 2.5 ProDaily scanProactive alerts

Built to
scale.

Microservice-first platform with end-to-end security, geospatial intelligence, and edge AI.

Clients
Mobile App Kotlin KMP · Compose MP · MobileNet
Web Dashboard React · TypeScript · Vite · Apollo
GraphQL · WebSocket · FCM/APNs
Edge
Raspberry Pi Agent On-device inference · HTTP REST push
HTTP REST
HemenPark Core Gateway + Backend
  • NGINXReverse Proxy · SSL · WebSocket Routing
  • Django APIREST · Strawberry GraphQL
  • Daphne + ChannelsASGI · WebSocket
  • Celery WorkerAsync tasks · Vehicle Detection + Occupancy
  • Celery BeatScheduled jobs
  • OSRMWalk ETA
External
Gemini 2.5 ProEvent discovery · report verification
FirebaseFCM · APNs push
StripePayments · webhooks
BrevoTransactional email
REST · Webhooks
ORM · Cache · S3 API
Data
PostgreSQL + PostGISPgBouncer · geospatial
RedisCache · broker · Pub/Sub
MinIOS3 object storage

Modern stack,
production-grade.

Every layer is built with open-source, battle-tested technologies.

📱

Mobile

Kotlin Kotlin KMP
Compose Compose MP
TFLite TFLite (on-device)
Google Maps Google Maps
⚙️

Backend

Django Django + Daphne
Python Python
GraphQL Strawberry GraphQL
Celery Celery
🧠

AI / ML

PyTorch PyTorch
OpenCV OpenCV
MobileNet MobileNet (on-device)
Gemini 2.5 Pro Gemini 2.5 Pro
🏗️

Infrastructure

Docker Docker Compose
PostgreSQL PostgreSQL + PostGIS
Redis Redis
MinIO MinIO
🌐

Web

React React
TypeScript TypeScript
Vite Vite
NGINX NGINX
Kotlin KMP
Compose MP
TFLite
Django
Python
GraphQL
Celery
React
TypeScript
Vite
Docker Compose
PostGIS
NGINX
PyTorch
OpenCV
Redis
Storage
APIEdge API
Walk ETA
Gemini 2.5 Pro
Firebase
Stripe
Kotlin KMP
Compose MP
TFLite
Django
Python
GraphQL
Celery
React
TypeScript
Vite
Docker Compose
PostGIS
NGINX
PyTorch
OpenCV
Redis
Storage
APIEdge API
Walk ETA
Gemini 2.5 Pro
Firebase
Stripe

Built by passionate
engineers.

A senior capstone team from Middle East Technical University, Department of Computer Engineering.

Ertan Onur
Project Advisor

Ertan Onur

Associate Professor · METU Computer Engineering

LinkedIn
Eray Taş

Eray Taş

Full Stack Developer & DevOps

LinkedIn
Can Karaçelebi

Can Karaçelebi

Full Stack Developer & DevOps

LinkedIn
Muhammet Hasan Çiftci

Muhammet Hasan Çiftci

Mobile Developer

LinkedIn
Ali Rıza Kurt

Ali Rıza Kurt

Mobile Developer

LinkedIn
Çağdaş Öztürk

Çağdaş Öztürk

AI Developer & UI Designer

LinkedIn

Ready to park smarter?

HemenPark is a scalable smart parking platform built for cities and campuses. Join the future of parking.

Discover HemenPark ↗