Projects

Client work and open source projects, with notes on architecture and technical decisions.

Tabin Tech2026 – Present

Gamify Campaign Platform

Migrated per-customer game admin panels into one SaaS platform

Gamify lets businesses run marketing campaigns with games such as roulette, jackpot and mystery boxes. Each customer used to get its own game admin panel, published on outside servers. I migrated that frontend into a SaaS platform with two panels: a customer panel for those customers and an admin panel for Tabin Tech. Development took about 3 days, using Claude as a coding agent, my own Angular packages and code generators, and my review of the code.

Angular 22TypeScriptBootstrapCustom Angular packagesCode generatorsClaude Code
Tabin Tech12/2024 – Present

Kheir Iran Charity Platform

Angular admin panel for an enterprise charity platform

Kheir Iran is a platform where charities register and people can search them by province, activity, way of helping and licence status. I work on its Angular admin panel, which manages charity registration requests, benefactors, campaigns, financial support, volunteer opportunities, news, tickets and violation reports.

Angular 20TypeScriptAngular SignalsRxJSBootstrapLeafletCKEditorKarma+1 more
Tabin Tech12/2025 – Present

Filter Quit-Smoking App

Customer app and admin panel for a quit-smoking planner

Filter helps people plan to quit smoking. I developed both its customer app and its admin panel. The customer app covers onboarding, a dashboard, health improvement tracking, audio books, subscriptions and gift cards, and runs as a PWA that is also packaged for Android.

Angular 21TypeScriptPWATrusted Web ActivityBootstrapJalali dates
Tabin Tech01/2022 – Present

Tabin Tech Client Applications

Angular applications and shared libraries for Tabin Tech clients

Frontend engineer on client applications including pastil.ir and nam.ir, currently on Angular 22 with TypeScript, RxJS and GraphQL. Built shared Angular libraries (vft-core, vft-auth, vft-table, vft-ui-util) published to a private Nexus registry.

Angular 22Angular SignalsRxJSGraphQLTypeScriptTailwind CSSNxWebpack+4 more
Freelance client08/2026

Rezervno Restaurant Booking

Backend fixes, tests and MVP deployment for a restaurant booking SaaS

Rezervno is a restaurant reservation SaaS with customer, restaurant and platform admin apps on one Next.js API. I was one of several contributors for a paid client. I worked on API routes, database migrations and tests, and on getting the MVP deployed with Docker Compose and Nginx.

Next.jsTypeScriptPrismaPostgreSQLRedisDockerNginx
Freelance client07/2025 – 10/2026

Rou Dar Rou Marketplace

From a Next.js property site to an Angular marketplace and admin panel

Rou Dar Rou is a Persian marketplace for real estate, with building materials and services planned. It began as Bvasett, a property listing site I built for a paid client in Next.js and PrimeReact, with ad creation, search filters, subscriptions and OTP login. When the product became Rou Dar Rou, I built its Angular website and an admin panel for accounts, roles, the catalog, geography, verification and audit. Most of the admin panel was built with Claude as a coding agent, with my review.

Angular 22Angular SignalsAngular AriaAngular CDKVitestNext.jsReactPrimeReact+1 more
Agatizer08/2021 – 10/2021

Agatizer Copy-Trading Dashboard

Real-time dashboard for a copy-trading platform, fed by WebSocket data

Built the dashboard for a platform where users mirror other traders' positions. Rendered live WebSocket data with D3.js, and used virtual scrolling and RxJS streams to keep the interface responsive.

ReactAngularTypeScriptRxJSWebSocketD3.jsTailwind CSSDocker+1 more
Missha10/2020 – 02/2021

Missha E-Commerce PWA

Localized Persian e-commerce PWA with offline support

Part-time work on the Persian e-commerce storefront: a PWA with Service Workers for offline support, right-to-left layouts and SEO work.

AngularAngular MaterialTypeScriptJestDockerPWAService WorkersSEO+2 more
Open Source2025 – Present

angular-lazy-load-directive (Open Source)

Signal-based image lazy loading directive for Angular

Published npm package: an image lazy loading directive built on Angular signals and IntersectionObserver, with zoneless support, SSR and hydration support, and retry on failed loads.

AngularAngular SignalsIntersectionObserverTypeScriptnpm
Open Source2025 – Present

Angular Lifecycles Guide

Visual guide to the Angular lifecycle and dependency injection

A free reference site that explains the Angular application lifecycle, lifecycle hooks and dependency injection through Mermaid flowcharts and code examples, for developers who already know Angular. Checked against Angular 22.

HTMLCSSMermaid.jsVercel