Amir Mohammad
Purheydari
Independent software engineerRemote · Persian & English

Complex systems. Clear thinking.

Systems / with character

I build the parts
that hold it all
together.

Explore selected work
Complexity, made tangible.
Original generated artwork, not a product image.

Backend engineering. Automation.
Software that keeps working.

From architecture to production operation.
Independent since March 2021.

Try the systems lab

Selected systems

Different problems.
The same care for what happens next.

Operating figures are historical snapshots from my CV, not live statistics. Media projects are anonymized; public repositories demonstrate selected engineering techniques. Diagrams are educational illustrations.

Automation & reliabilityMarch 2021 – Present

Automation &
media processing

A self-maintaining Node.js platform that discovers, validates, processes and distributes media through multiple external systems.

The hard part isn’t a successful run. It’s the failed download, the duplicate, the interrupted upload—and the next run after that.

  • Node.js
  • FFmpeg
  • HTTP streaming
  • Playwright
  • Linux
One pipeline.
Many ways back.
Illustrative flow: discovery → validation → processing → publishing, with failure recovery.

CV snapshot

Videos processed
10,800+
Media processed
54,000+ GB
Continuous operation
12+ months
Inspect architecture

Duplicate prevention and failure recovery

The CV describes an end-to-end workflow covering discovery, extraction, validation, processing, uploading, reporting, duplicate prevention and cleanup. Retry strategies and fallback handling address failures across external systems.

Stream large files, contain the cost

Streaming downloads, resource management and operational logging support large-file processing. HLS workflows include playlist handling, quality selection, segmented downloads and FFmpeg processing.

CV snapshot: throughput increased from up to 3 videos per workday to 30+ per 24 hours; the previous workflow took more than 2 hours of manual work per video.

Pipeline reference code
Full-stack & production operationsAugust 2024 – Present

A platform.
Not just a launch.

A production media platform with accounts, content management, search, subscriptions and personalized activity.

Building the application is one responsibility. Releasing it safely, keeping data intact and verifying the runtime are others.

  • Next.js / React
  • TypeScript
  • Prisma / SQLite
  • Bun
  • Caddy / Cloudflare
Illustrative release boundaries: migration safety, backups, rollback protection and runtime verification.

CV snapshot

Registered users
621+
Monthly unique visitors
≈ 5,000
Responsibility
Build + operate
Inspect architecture

The application and its relationships

Frontend, backend APIs, authentication, administration and content workflows sit over relational models for users, media, creators, tags, playlists, watch history, subscriptions, likes, comments and personalized activity.

Change without gambling on data

The CV describes automated releases, database migration safety checks, backups, rollback protection and runtime verification. The linked repository demonstrates safe SQLite deployment techniques, not the full private application.

Deployment reference code
Real-time & multiplayerAugust 2026 – Present

Many players.
One source of truth.

ShotCaller is a real-time multiplayer strategy game platform, designed and built from the ground up.

Simultaneous actions need deterministic resolution. Private conversations need explicit boundaries. Every round needs a lifecycle the server can defend.

  • Node.js
  • SQLite
  • WebRTC / TURN
  • Playwright
  • REST APIs
Illustrative state model: simultaneous actions resolve through an authoritative server. No live game data.
Deterministic state resolutionState-based voice permissionsMulti-browser flow testing
Inspect architecture

Authority is a backend concern

The server-authoritative engine handles simultaneous actions, conflict resolution, deadlines and persistent game state. Backend systems cover authentication, sessions, security controls, administration and lifecycle management.

Real-time does not mean boundary-free

WebRTC/TURN voice communication uses state-based permissions, signaling controls and privacy boundaries. Automated multi-browser scenarios validate real multiplayer flows and real-time communication behavior.

Own the whole
problem.

Architecture is only the beginning.
Operation is part of the work.

Design it.
Build it.
Keep it running.

Connected responsibilities.
Original generated artwork.

Amir Mohammad
Purheydari

Independent software engineer with 5+ years of experience, focused on Node.js backends, automation pipelines, APIs and reliable long-running services.

I design, build, deploy and operate complete software systems independently—from architecture through production operation.

Remote · Persian & English

Download CV

Backend & programming

Node.js · JavaScript · TypeScript · PHP · REST APIs · SQL / MySQL

Frameworks & tooling

Next.js · React · Puppeteer · Playwright · FFmpeg · Nginx / Caddy

Infrastructure & engineering

Linux / VPS · Git · Docker · Bash · Prisma · SQLite · WebRTC / TURN

Break it.
Then bring it back.

A small systems lab.
A closer look at reliability.

A local educational simulation—not production monitoring. Follow one job through discovery, validation, processing and publishing.

One job. Four stages.

A local, deterministic pipeline model.

The injected fault happens once, at Process. Recovery resumes that stage without rediscovering or republishing.

  1. 01

    Discover

    waiting
  2. 02

    Validate

    waiting
  3. 03

    Process

    waiting
  4. 04

    Publish

    waiting

One job queued. Ready to run.

Retries used
0 / 2
Published
0

Something complex
on your hands?

ymir@ymir.site