FIVE
DOMAINS.
ONE OPERATOR.
Full-stack developer — Next.js, TypeScript, Node.js. I ship web apps people actually use, plus the occasional thing that isn't one: a Discord bot that passed 50,000 users, a Telegram storefront that took real payments, and a Raspberry Pi HID tool I debug over serial.

CASEWORK
Six entries, roughly in the order they happened. Scroll — the phone follows along. Each one pushed into a domain the last one hadn't touched — bots, then automation, then hardware, then commerce.
ORDAKMEMER — DISCORD ECONOMY BOT
My first real coding project — a Persian Discord economy and social bot I taught myself JavaScript to build, not knowing the language's name for the first three months. It grew into a full economy sim (jobs, trading, clans, an in-bot social feed) on sharded discord.js with MongoDB, rewritten from scratch four times over five years to keep up with growth. It passed 50,000 users and paid me my first real money from code.
INSTAGRAM VIDEO CREATOR — MEME VIDEO BOT
Editing every meme clip by hand was too slow, so I built a Telegram bot that turns a forwarded joke or photo into a captioned, watermarked video automatically — rendered with MoviePy/FFmpeg over rotating backgrounds, with Farsi text support. Between the accounts it powered, the videos racked up over 15 million views, and two pages built on it were later sold at 10,000 followers each.
PI DUCKY CONTROLLER
A security-research tool for my own hardware: I wanted to script and trigger USB HID payloads on machines I own without reflashing firmware for every change. Built a Next.js control panel with a drag-and-drop DuckyScript builder that pushes scripts over a REST API to a Raspberry Pi Pico W, which polls every 0.5s and replays them as real keystrokes over USB — no drivers, no software on the target. It's the piece of my work that sits furthest outside typical web dev: debugging happens over serial output, not console.log.
REDA — MARKETING SITE FOR A TO-DO APP
Built the public marketing site for Reda, a 24-hour planning and to-do app: landing page through a full blog platform with category filters, comments, and FAQ/testimonial sections. Solo build with an animated Lottie/GSAP hero, Framer Motion transitions, and full SEO. The company's backend has since shut down, but the marketing pages are still live today.
NUMHUB — VIRTUAL NUMBER MARKETPLACE BOT
Built and ran this with a business partner: a Telegram bot reselling virtual phone numbers for account verification, aggregating 10 SMS-activation providers behind one wallet-based storefront. Handled real Zarinpal payments, automatic number-freshness checks, and code delivery via resilient polling queues, plus an admin panel for sales by provider and country. We ran it for paying customers and eventually sold the business.
HABLAR — SPANISH LEARNING PWA
Needed to learn Spanish fast by listening and repeating, so I built a spaced-repetition app around shadowing instead of grammar drills: SM-2 review scheduling, an offline-first installable PWA with on-device text-to-speech, and full CRUD for user-authored sentences on Next.js 16 and MongoDB. What started as a tool on my own phone is now installable and used by friends learning alongside me.
MATERIALS
Everything listed here is used in a case above — the file entries are the receipts.
FIELD LOG
Daily entries on what I'm learning and building, filed as they happen.
ARCHIVE
Smaller builds and practice repos — not case studies, just proof I keep building between the real projects.
DOSSIER

I started writing code to build a Discord bot for my friends, and spent the first three months not realising the language I was using was called JavaScript. That bot eventually passed 50,000 users and paid me the first money I ever earned from code.
Most of what I build now is for the web — Next.js, TypeScript, Node.js, MongoDB — but the projects I learn the most from are the ones that push past it: a Telegram storefront handling real payments and real customers, a USB HID tool where debugging happens over serial output instead of console.log, and a Spanish learning PWA I built because I wanted to use it myself.
The thread through all of them is that people actually used them. I like problems where shipping turns out to be the easy half and keeping the thing running is the real work.
LET'S WORK
TOGETHER.
I'm always open to new opportunities and discussions.