About me
I build backend systems for products with a lot of people on the other end. Most of my work has been at Iran's largest video platform — video on demand, live sports, real-time chat — serving 40M+ monthly users, where the hard problems only show up once a match kicks off and the traffic arrives all at once.
In practice that has meant a chat backend holding 80k+ concurrent connections across web, mobile and TV, rewritten from Node.js to Go when the first version ran out of headroom; an HLS caching layer serving 25k+ requests a second in front of the stream origin; a short-video pipeline taking 100k+ uploads a day; and a Go + FFmpeg service that cuts clips out of live streams the moment a goal lands. I led the Go backend team that shipped most of it.
Go is my primary language, next to PostgreSQL, Redis, ScyllaDB and Kafka, with PHP and React on the web side. Since 2024 I live in Germany, where I also run the websites and IT for a language school — four WordPress sites, a digitised registration flow and an ERPNext-based HR system. I care about systems that degrade instead of collapsing, and about code the next person can follow.
My skills
Five years of shipping services other teams build on. No percentage bars — either I have used something in production or it is not on this list.
Languages
08Architecture
09Data
06Messaging
03Platform
07Observability
02Media
03Frontend
05Web & CMS
03Leadership
03What I do
Backend & API Development
Go services behind REST, WebSocket and long-polling APIs, with PHP where the product already speaks it. Written so another team can integrate from the docs alone.
Real-Time & Event-Driven
WebSocket transports and Kafka-backed flows for chat, presence and phone-to-TV control — state synced across instances, backpressure planned before launch rather than discovered after.
High-Traffic & Caching
Systems that hold when a live event starts: Redis caching layers at 25k+ requests a second, hot paths profiled, rate limits and autoscaling set before the spike.
Video & Media Pipelines
HLS manifest and segment delivery, FFmpeg clip generation from live streams, headless-Chromium thumbnail rendering — the plumbing behind a video platform.
Full-Stack & Web
React SDKs and front-ends for the services I build, plus WordPress sites, SEO and business systems for organisations that need the whole thing to just work.
Technical Leadership
Led a Go backend team: architecture reviews, code review, mentoring, and the call on what deserves its own service and which store it belongs in.
Selected work
A selection. Most of it runs behind other products and never got a landing page of its own.
Real-Time Chat Service
Live chat for a video platform across web, iOS, Android and Android TV. Started on Node.js and Socket.IO, rewritten in Go when it ran out of headroom: 80k+ concurrent connections, sessions in ScyllaDB, Kafka syncing messages across 12 instances, autoscaled on Kubernetes.
not publicChat SDK (React)
The NPM package that plugs the chat into any of the company's platforms: virtualised message lists, custom reconnection logic, Zustand state and themeable styled-components. Cut integration time per platform by more than 60%.
not publicApollo Cast
A Go and PostgreSQL service that turns a phone into a remote and a TV into a screen. Speaks WebSocket, long polling and REST so that older smart TVs still work, with pluggable authentication per platform and a JS SDK for web apps.
not publicHLS Caching Layer
Go and Redis in front of the stream origin: smart manifest and segment caching with per-device quality selection. Sustains 25k+ requests a second and takes most of the peak-traffic load off the origin servers.
not publicClip Creator
Cuts clips out of live streams the moment a goal lands. Keeps a rolling buffer of HLS segments in memory, stitches the window with FFmpeg, encodes 480p to 1080p and publishes to the CDN — stateless Go containers driven by REST, Kafka and WebSocket events.
not publicAparat Shorts
Backend for a Reels-style short-video feed — upload, processing and delivery at 100k+ uploads a day, built with the frontend and product teams while the product shipped weekly.
aparat.com ↗ 007 / GAME CLUBGame Club — Aparat Sport
Gamification on top of live sports: scoring, predictions, quizzes, missions, leagues and rankings for 3M+ users, event-driven on Kafka and sized for the spike the second a match kicks off.
aparatsport.ir ↗ 008 / DIWANDIWAN-Marburg Akademie
Websites and IT for a German language school in Marburg and Bonn: four WordPress sites, a digitised participant registration flow, automated mailing and an ERPNext HR system. SEO up 50%+, website-driven revenue up 70%+.
diwan-marburg.de ↗+ plenty
more
Five years of services that never got a landing page — thumbnail renderers, internal APIs, data migrations, ops tooling, and freelance PHP and WordPress work.
The CV has the full list ↓Contact me
Email or LinkedIn is the fastest way to reach me.