Iranzamin
A full-stack tourism guide for Iran's historic cities — designed and built entirely on my own, front-end to back-end.
Overview
A NestJS + PostgreSQL API sits behind a fully custom interface built around a design system inspired by Achaemenid art and ancient Iran. Visitors can plan car and pedestrian routes, explore on site with an AR view, and read place details with reviews and ratings. The home screen has light and dark modes, and an admin console handles places, submissions and comment moderation.
Architecture
API
NestJS + PostgreSQL, covered by 32 e2e tests.
App
Ionic with a fully custom, hand-drawn interface.
Maps & routing
OSRM routing for cars and pedestrians, plus an AR navigator.
Admin
A console for places, submissions and comment moderation.
Highlights
A fully hand-drawn UI — no default Ionic components
Every screen is custom-built around one design system instead of stock components.
A design system inspired by Achaemenid art
Lotus-inscription borders, Persepolis step patterns, rosette-shaped ratings and iwan-arch imagery.
Route planning for cars and pedestrians
Routing is powered by OSRM, with separate car and walking modes.
An AR view for on-site exploration
An AR navigator helps visitors explore places while they're standing there.
Place details with reviews and ratings
Each place has its own page with reviews and rosette-shaped ratings.
Bilingual from the start, light and dark
The whole app works in English and Persian, and the home screen has light and dark modes.
A full admin console
Manage places, review submissions and moderate comments.
Backed by 32 end-to-end tests
The API is covered by 32 e2e tests, and the stack runs in Docker.
Screens
9 photos
Gallery
I'M MSR