Amir Shahrokh · Full-stack developer
· Tehran, Iran
I build whole products — and keep them running.
From the first conversation to a live release, on my own: backend, frontend, UI/UX and the servers they run on. Five are in production right now — their live status is below.
Diagram of the fleet: Pico, ArchPan, Garsha, Fenderesky, MirOffice run in Docker behind Nginx with TLS on a VPS in Tehran, deployed from GitHub, and backed by PostgreSQL, Redis, a Celery worker pool and MinIO object storage. Live status for each product is listed below.
Fleet status
- Pico Hosted in Tehran Up 62 ms
- ArchPan Hosted in Tehran Up 75 ms
- Garsha Hosted in Tehran Up 88 ms
- Fenderesky Hosted in Tehran Up 85 ms
- MirOffice Hosted in Tehran Up 220 ms
Hosted in Tehran (ParsPack). From outside Iran it can be slow or unreachable — that’s the network, not the product.
- Products shipped
- 9
- 5 flagships, 4 more
- Live in production
- 5
- Live status below
- Years building
- 4
- Fintech, AI, independent
- Developer
- 1
- Front end, back end, servers
01 Selected work
Five products, each built and run by one person.
Every one of these is live. I designed the data model, wrote the API and the interface, and operate the servers they run on.
-
01 / ML · production · 2026
Pico
Café demand forecasting — tells a café what to prepare tomorrow.
- Django REST
- React
- Celery
- PostgreSQL
- Redis
- pandas
- scikit-learn
- Docker
- Nginx
- Gunicorn
62 ms Tehran
-
02 / Multi-tenant SaaS · 2026
ArchPan آرچیپنل
Operations software for architecture offices, with an AI assistant built in.
- Django REST
- React
- TypeScript
- PostgreSQL
- Celery
- MinIO
- Docker
- Claude API
75 ms Tehran
-
03 / SaaS · payments · 2025
Garsha گرشا
A paid AI-tools platform with phone sign-in, a wallet and tiered plans.
- Django REST
- React
- Vite
- PostgreSQL
- JWT
- Phone OTP
- ZarinPal
88 ms Tehran
-
04 / Real-time · production · 2025
Fenderesky فندرسکی
Party games played live on everyone’s phone — join a room by code.
- FastAPI
- Django
- WebSockets
- JavaScript
85 ms Tehran
-
05 / Client work · 2025
MirOffice
The public website of MIR Architecture Office, on its own domain.
- Django
- React
- TypeScript
- PostgreSQL
- Docker
- Nginx
- TLS
220 ms Tehran
02 Also shipped
Smaller systems, same standard.
-
Audio · API
GitHub stars: 3Speech Enhancement API
Real-time noise suppression for speech, served as an API.
- FastAPI
- Celery
- Redis
- ModelScope FRCRN
- Docker
AMIR-SHAHROKH/Speech-enhancement
-
AI platform
PrivateLexemeAI
An OpenAI-style AI platform: JWT and API-key access, Celery pipelines, a wallet and usage-based billing.
- Django REST
- JWT
- API keys
- Celery
- Wallet
- Usage billing
Closed source · details on request
-
Internal tool
In useLavender
Cash reconciliation and inventory: parses POS reports and normalises Persian product names.
- POS report parsing
- Persian normalisation
- Inventory
Internal tool · no public repository
-
Developer tool
PublicAPI Stress Tester
A tool for putting HTTP APIs under load and measuring how they hold up.
- Load testing
- HTTP
AMIR-SHAHROKH/api-stress-tester
03 How I ship
From the first call to a system that stays up.
Six stages, one person. Nothing gets lost in a handover because there isn’t one.
-
01 of 6
Conversation
We pin down the problem, who will use it and what done looks like.
- Direct client collaboration
- Agile iteration
- Technical documentation
-
02 of 6
Data model
The shape of the data decides everything after it, so it comes first.
- PostgreSQL
- Multi-tenancy
- Redis
-
03 of 6
API
Authenticated endpoints and the background jobs behind them.
- Django REST Framework
- FastAPI
- JWT & OTP auth
- Celery
-
04 of 6
Interface
Screens people use every day, in English or right-to-left Persian.
- React
- TypeScript
- Responsive & RTL interfaces
- UI/UX & design systems
-
05 of 6
Infra
Containers, proxy and certificates, on a server I set up myself.
- Docker
- Nginx
- VPS provisioning
- TLS & domains
-
06 of 6
Operate
Backups, monitoring and fixes after launch. Live is where it starts.
- Linux / Ubuntu administration
- CI/CD
- Deploying under restricted networks
A typical team splits these six stages across six roles, with five handovers. Working with me, one person owns all six.
04 Experience
Where the habits came from.
-
– now
IndependentIndependent
Full-Stack Developer — freelance and own products · Tehran · remote
- Sole developer on every product on this site: requirements with the client, data model, REST API, React and TypeScript front end, Persian RTL UI, deployment and daily operations.
- Own the infrastructure end to end — Ubuntu VPS, Docker, Nginx, PostgreSQL, Redis, Celery, MinIO, TLS, backups and monitoring.
- Engineer around Iranian network constraints with registry mirrors, offline artefact transfer and self-hosted services.
-
– · 5 mos
FintechSina Financial & Investment Holding
Backend Developer · Tehran
- Built REST APIs for options strategies, risk analysis and market-signal processing on live and historical TSETMC feeds.
- Turned quant models into testable components and automated the financial calculation workflows around them.
- Shipped portfolio-monitoring APIs that analysts used every day.
-
– · 6 mos
AI · speechAsr-Gooyesh Pardaz
Backend Developer & AI Platform Lead · Tehran
- Led the backend of speech-to-text and text-to-speech products, running Whisper and Faster-Whisper in production.
- Designed multi-tenant access for Django REST with JWT and API keys, plus a token-based wallet that deducts per use.
- Ran a Celery worker fleet for async audio jobs with real-time progress and failure recovery, and cut queue latency with Redis caching.
-
– · 6 mos
Part-timeYasan Academy
Python Instructor · Tehran
- Taught Python and web development fundamentals, taking students through project work to their first deployed applications.
05 Stack
The tools I reach for, by layer.
Running in a live product above
01
Backend
APIs, auth and background work.
- Python (used in Pico, ArchPan, Garsha, Fenderesky, MirOffice)
- Django (used in Pico, ArchPan, Garsha, Fenderesky, MirOffice)
- Django REST Framework (used in Pico, ArchPan, Garsha)
- FastAPI (used in Fenderesky)
- Celery (used in Pico, ArchPan)
- REST API design (used in Pico, ArchPan, Garsha, Fenderesky)
- WebSockets (used in Fenderesky)
- JWT & OTP auth (used in Garsha)
- Multi-tenancy (used in ArchPan)
02
Frontend
Interfaces people use every day, in two directions.
- React (used in Pico, ArchPan, Garsha, MirOffice)
- TypeScript (used in ArchPan, MirOffice)
- Vite (used in Garsha)
- JavaScript (used in Fenderesky)
- HTML & CSS
- Responsive & RTL interfaces (used in ArchPan)
- UI/UX & design systems
03
Data & AI
Storage, forecasting and language models.
- PostgreSQL (used in Pico, ArchPan, Garsha, MirOffice)
- Redis (used in Pico)
- pandas (used in Pico)
- scikit-learn (used in Pico)
- Time-series forecasting (used in Pico)
- Whisper / Faster-Whisper
- LLM integration (used in ArchPan)
- RAG architectures
- Prompt engineering
04
DevOps
The servers the products run on.
- Docker (used in Pico, ArchPan, MirOffice)
- Nginx (used in Pico, MirOffice)
- Linux / Ubuntu administration
- VPS provisioning
- MinIO (used in ArchPan)
- TLS & domains (used in MirOffice)
- CI/CD
- Git
- Deploying under restricted networks
05
Practice
How the work gets done.
- End-to-end product ownership
- Direct client collaboration
- Agile iteration
- Testing
- Code review
- Technical documentation
06 Work with me
Need a whole product built?
That’s the job.
Web apps, SaaS platforms, internal tools and dashboards. I take them from the first conversation to a live release and keep them running afterwards.
Copies amirmohammadshahrokh81@gmail.com · open in your mail app
What you get
-
One accountable person
From scoping to production, the person you talk to is the person writing the code. No agency layers, no handovers.
-
A product that is actually running
Deployed on real infrastructure — your server, your domain, TLS, backups and monitoring — not a repo zipped up at the end.
-
Training and support after launch
Your team learns to use it, and I stay on to fix, tune and extend it once real people depend on it.
How it works
- 01
Talk
A call about the problem, the people who will use it and the constraints. You get a straight answer on fit, scope and cost.
- 02
Build
Data model first, then a working version you can click through early, and short iterations on your feedback.
- 03
Launch and run
Deployed on your domain with TLS, your team trained, and the system kept up and running.