Featured Projects

Desktop and web products spanning a local Dota companion, medical commerce, charity, e-commerce, hosting, and AI. Explore the architecture and stack behind each build.

Hecto Landing

The public marketing site for the Hecto LMS, extracted from the product and packaged as a standalone Vite and React app for static hosting.

It carries the landing sections, bilingual copy, motion, and a contact form, with login links pointing back into the product.

Hecto landing heroHecto landing course builderHecto landing pricing plans
React 19Vite 6Tailwind CSS 4i18nextGSAPFramer Motion

Medical Store

A bilingual medical-equipment storefront with a Next.js shop, a NestJS API, and PostgreSQL. Persian RTL and English LTR share one catalog, cart, and checkout.

The admin panel covers products, orders, coupons, shipping, users, and guides. Payments run through Zarinpal, Stripe, or an in-account wallet, and the API is documented with Swagger.

Medical Store homeMedical Store categories
Next.js 15React 19TypeScriptNestJSPrismaPostgreSQLnext-intlZarinpal / Stripe

RaziServer

A Persian RTL hosting storefront for cloud hosting, VPS, dedicated servers, and domain services, backed by a product catalog stored in Neon PostgreSQL through Prisma.

Includes multi-attribute product filtering, domain search, an accordion product navigator, SMTP contact flow, responsive marketing pages, and a direct handoff to the customer panel.

RaziServer hosting landing pageRaziServer cloud hosting catalogRaziServer domain search
Next.js 16React 19TypeScriptTailwind CSS 4Prisma 5PostgreSQLNodemailerRTL

DotaPlus Local

A personal second-screen companion for the Dota 2 pick phase and item suggestions. It syncs heroes, items, abilities, and images onto this machine and serves a local dashboard.

The app reads Valve's official Game State Integration on localhost only. It does not inject into Dota, read game memory, or buy items for you. Version 1.6.0 ships as an Electron window and a Windows installer.

DotaPlus Local draft boardDotaPlus Local item builds for AxeDotaPlus Local live map clock
React 18TypeScriptVite 6ExpressElectronOpenDotaGame State Integration

ONE GOOD

A Persian-first charity platform for campaigns and guest donations. Visitors can give without an account, while admins manage campaigns, media, and consents.

Money moves through a ZarinPal gateway abstraction into an append-only transparency ledger. Auth.js protects the admin panel, and public media stays behind consent.

ONE GOOD homeONE GOOD about pageONE GOOD packages and prices
Next.js 15TypeScriptPrismaPostgreSQLAuth.jsTailwind CSS 4ZarinPalVitest

Personal Worklog

Personal Worklog

A multi-user productivity platform that combines task tracking, GitHub commit synchronization, Clockify CSV imports, and activity reporting in one protected workspace.

Built as a full-stack Next.js application with per-user data isolation, Better Auth, encrypted GitHub tokens, Prisma/PostgreSQL persistence, and a Render deployment blueprint.

  • User-scoped tasks and reports
  • GitHub commit synchronization
  • Encrypted personal access tokens
  • Clockify imports and Recharts analytics
Next.js 16TypeScriptBetter AuthPrismaPostgreSQLRechartsRender

AiHost

AiHost

A full-stack AI chat platform with multi-provider model selection, authentication, and a manager control panel — bilingual in English and Persian with light and dark themes.

Users can retain conversation history while managers control providers, models, roles, and accounts from a dedicated dashboard.

  • 🔐 NextAuth — Credentials, Google & GitHub
  • 👥 Role-based access (Manager / VIP / Member)
  • 💬 Chat history & model selection
  • 🌐 i18n (en / fa) + light & dark themes
Next.jsTypeScriptNextAuthPrismaPostgreSQLTanStack QueryTailwind CSS

Malevil Cafe

Malevil Cafe

A responsive Persian digital café menu designed for fast scanning on mobile devices, with categorized pricing, visual navigation, and a dedicated QR presentation page.

The lightweight static build uses semantic HTML, CSS, and JavaScript with IntersectionObserver-powered active category navigation.

  • Mobile-first Persian RTL menu
  • Category-aware navigation
  • Dedicated QR menu page
  • Static Vercel deployment
HTML5CSS3JavaScriptResponsive DesignRTL

Typing Competition

Typing Competition lets players race against each other in real time, tracking WPM, accuracy, and errors.

Developed with Next.js, MongoDB, and Socket.io for a real-time multiplayer typing experience.

Typing Competition bannerTyping Competition gameplayTyping Competition live raceTyping Competition scoreboard
Next.jsReactMongoDBSocket.ioFramer Motion

Course work

Smaller apps from self-study courses.

UsePopCorn

UsePopCorn is a fun and interactive movie discovery app that fetches real movie data and allows rating favorites.

Built with custom hooks, reusable components, and asynchronous API integration for a seamless UX.

UsePopCorn bannerUsePopCorn searchUsePopCorn movie detailsUsePopCorn rating
ReactJavaScriptAPIsCSS ModulesResponsive

Fast Pizza (course)

Fast Pizza is an interactive pizza ordering app built with a modern React stack, showcasing dynamic state and cart management.

Features include menu exploration, responsive layouts, and real-time order calculation.

Fast Pizza bannerFast Pizza menu
ReactReduxJavaScriptCSS

Bankist

Bankist is a modern banking app clone designed to provide a smooth and interactive experience with advanced UI and real-world dashboard components.

Built with pure JavaScript and responsive layouts to simulate professional financial applications.

Bankist bannerBankist dashboardBankist viewsBankist home
HTMLCSSJavaScript (ES6)DOMAnimations

Workout Timer

Optimise your workout day efficiently with a modern timer that helps track routines and rest intervals.

Workout Timer bannerWorkout Timer sample
JavaScriptHTMLCSS