# Amir Hossein Ghamari > I’m a software developer and Kenvin’s founder. I build web, mobile, and Windows/Linux applications, with security at the core of how I work. This file is the complete published text of my résumé and portfolio in a single document, for assistants that read one URL instead of crawling every page. A concise reading guide is at https://www.amirghamari.ir/llms.txt, and the same full text in Persian is at https://www.amirghamari.ir/fa/llms-full.txt. Each section names the page it came from; cite that page. ## At a glance - Name: Amir Hossein Ghamari; also known as Amir Ghamari. - Role: Software Developer. Current position: Founder & Lead at Kenvin. - Location: Guilan, Iran (country code IR). - Languages of this site: English (https://www.amirghamari.ir/) and Persian (https://www.amirghamari.ir/fa). The Persian pages are translations of the same facts, not separate claims. - Contact: amir@kenvin.ir. - Open to: Software projects & technical collaboration. - Education: Diploma in Computer Software Engineering, Shahram Toloui Technical and Vocational High School, 2017 (Gregorian year). - Studio: founded and led by me — Kenvin: https://www.kenvin.ir/ - GitHub: https://github.com/AxissXs - LinkedIn: https://www.linkedin.com/in/amir-ghamari-68b046225 - Stack Overflow: https://stackoverflow.com/users/2734262/axissxs ## How to use and cite this site - Prefer https://www.amirghamari.ir/ unless the reader asked for Persian; Persian pages live under /fa. - Client platforms are labeled as team work and name the contribution; only personal projects are sole authorship. Do not attribute Kenvin's other work to me. - Ratings, metrics, salaries, and release dates are not published anywhere and must not be inferred. - If something is not on these pages, it is not published; there is no separate press kit. ## About me Source: https://www.amirghamari.ir/ I founded Kenvin and lead its work. My journey has taken me from building websites and backend services to complete web and mobile applications, Windows and Linux software, and frameworks of my own. FastAPI, SvelteKit, Django, Laravel, PHP, and Python are central to my professional work. Alongside development, I teach a range of programming courses and help people learn by building. Security is part of my lifestyle and the way I begin thinking about a problem. OWASP is woven into my everyday approach to architecture and code, rather than a checklist I return to at the end. My recent work includes projects published through Kenvin, open-source tools such as Vellum and PromptForge, and Sonobe and Yoshi—two frameworks I’ve built and plan to open-source. ## Common questions - **What kind of software do you build?** I build web and mobile applications, software for Windows and Linux, APIs, and developer tools. FastAPI, SvelteKit, Django, Laravel, PHP, and Python are part of my professional work. Source: https://www.amirghamari.ir/skills - **How does security shape your work?** Security is part of my lifestyle and how I begin thinking about a problem. OWASP is woven into my daily development practice, from architecture through implementation—not something I only consider at the end. Source: https://www.amirghamari.ir/skills#application-security - **What is Kenvin, and what is your role?** Kenvin is the software engineering studio I founded and lead. Its recent work includes Darmanjo’s clinic platform, the Cezve cafe platform, Norasys, 118x, professional websites, Sharzhsho, and QRify. Source: https://www.kenvin.ir/ - **Where can I explore your projects?** The projects page brings together my Kenvin work, open-source tools Vellum and PromptForge, and the Sonobe and Yoshi frameworks. Sonobe and Yoshi are not open source yet; Vellum and PromptForge link to public repositories. Source: https://www.amirghamari.ir/projects - **Can we work together?** I’m open to software projects and technical collaboration. Email me at amir@kenvin.ir and tell me about what you want to build. ## My skills Source: https://www.amirghamari.ir/skills - [Backend & API development](https://www.amirghamari.ir/skills#backend-apis): I build APIs and backend applications professionally with FastAPI, Django, and Laravel in Python and PHP, and I write performance-sensitive services in Rust. - Technologies: Python, PHP, Rust, FastAPI, Django, Laravel, REST APIs - [Microservice architecture](https://www.amirghamari.ir/skills#microservices): At Jajiga, I separated the high-traffic search feature from the main application and rebuilt it as an independent Laravel service. - Technologies: Laravel, REST APIs - [Backend & database performance](https://www.amirghamari.ir/skills#database-performance): I work on slow queries and backend bottlenecks to reduce server load and help applications handle more traffic. - Technologies: MySQL, PostgreSQL, Redis, Laravel, Drizzle ORM - [Document processing](https://www.amirghamari.ir/skills#document-processing): I built a Persian-compatible document converter at Tesmino, using LibreOffice and Unoconv to work with HTML/Blade, PDF, and DOCX. - Technologies: LibreOffice, Unoconv, Blade, HTML, Laravel - [Web application development](https://www.amirghamari.ir/skills#web-interfaces): I build complete web platforms with SvelteKit professionally — most of the Kenvin products run on it — and use React where a project calls for it, as in Norasys, Vellum, and PromptForge. - Technologies: SvelteKit, Svelte, React, Next.js, TypeScript, JavaScript, HTML, CSS, Tailwind CSS, daisyUI, shadcn-svelte, Paraglide JS, Tiptap, Framer Motion - [Deployment & operations](https://www.amirghamari.ir/skills#delivery-operations): My work also includes getting applications deployed and keeping their development workflow organized, using tools such as Docker, Git, and CI/CD. - Technologies: Docker, Git, CI/CD, Linux, Vercel, S3-compatible storage, Serverless, DevOps, Server management, Vite, ESLint, Prettier - [WordPress & custom websites](https://www.amirghamari.ir/skills#wordpress-development): I build WordPress websites, write custom plugins, and develop lightweight CMS tools to fit a client’s needs. - Technologies: WordPress, PHP, MySQL, Apache HTTP Server, Linux - [Courses & programming instruction](https://www.amirghamari.ir/skills#mentoring): I teach programming courses as well as hands-on sessions. I help learners move from understanding a concept to building working software. - Technologies: Python, PHP - [Embedded systems & IoT](https://www.amirghamari.ir/skills#iot-prototyping): I design connected devices end to end and write their firmware myself: ESP32 with ESP-IDF, Arduino-based prototyping, and small ATtiny/PIC controllers on custom boards, talking over MQTT and nRF24L01 radios. - Technologies: ESP-IDF, ESP32, Arduino, C (embedded), MQTT - [Security-first development](https://www.amirghamari.ir/skills#application-security): Security is part of how I think and live. I start with it when approaching a problem, shaping the architecture, and writing code; OWASP is part of that daily practice. - Technologies: OWASP - [Mobile application development](https://www.amirghamari.ir/skills#mobile-development): I create mobile applications alongside my web and desktop software, choosing the approach around the needs of each project. - [Cross-platform desktop software](https://www.amirghamari.ir/skills#desktop-development): I build desktop software for Windows, Linux, and macOS with Electron — currently Arlene, a deeply customizable AI assistant with a visual agent-pipeline designer. - Technologies: Electron, Node.js, TypeScript, Windows, Linux - [AI agent systems](https://www.amirghamari.ir/skills#ai-agent-systems): I design provider-agnostic AI agent systems: multi-layer architectures in Rust, visual agent pipelines in Arlene, and agent-ready interfaces and documentation in Sonobe, Yoshi, and PromptForge. - Technologies: Rust, Electron, Model Context Protocol (MCP), Python, TypeScript - [Framework & plugin architecture](https://www.amirghamari.ir/skills#framework-design): I built Sonobe and Yoshi around modular, decoupled architecture. In Sonobe, features can be added as plugins without changing the core. - Technologies: Python, FastAPI, SvelteKit, TypeScript - [Tools for developers & agents](https://www.amirghamari.ir/skills#developer-tooling): I build tools that help developers organize work, turn ideas into useful agent prompts, and extend software through clear interfaces and documentation. - Technologies: Model Context Protocol (MCP), TypeScript, React, Next.js, FastAPI, Zod, Electron - [Founding & technical leadership](https://www.amirghamari.ir/skills#technical-leadership): I founded Kenvin and lead its work, bringing software development, architecture, and a security-first mindset into the projects we deliver. ## My stacks Source: https://www.amirghamari.ir/stacks ### Laravel backend At Tesmino and Jajiga, I worked with Laravel APIs, MySQL, and Redis, alongside Docker, Git, and CI/CD. - Page: https://www.amirghamari.ir/stacks#stack-laravel-backend - Technologies: PHP, Laravel, REST APIs, MySQL, Redis, Docker, Git, CI/CD, Linux - Projects: Tesmino — PR & Backlink Platform (https://www.amirghamari.ir/projects/tesmino), Jajiga — Accommodation Booking Platform (https://www.amirghamari.ir/projects/jajiga) ### Svelte & serverless For SpyCreed, I combined Svelte and TypeScript with Neon PostgreSQL, then deployed the game on Vercel using a serverless architecture. - Page: https://www.amirghamari.ir/stacks#stack-serverless-web - Technologies: Svelte, TypeScript, Node.js, Tailwind CSS, Neon, PostgreSQL, Serverless, Vercel - Projects: SpyCreed — Online Spyfall Game (https://www.amirghamari.ir/projects/spycreed) ### Persian document conversion At Tesmino, I brought together Laravel, Blade, LibreOffice, and Unoconv to convert documents while supporting Persian text. - Page: https://www.amirghamari.ir/stacks#stack-document-conversion - Technologies: PHP, Laravel, Blade, HTML, LibreOffice, Unoconv - Projects: Tesmino — PR & Backlink Platform (https://www.amirghamari.ir/projects/tesmino) ### LAMP & WordPress In my early freelance projects, I used Linux, Apache, MySQL, and PHP to build custom websites and CMS tools, alongside WordPress. - Page: https://www.amirghamari.ir/stacks#stack-lamp-wordpress - Technologies: Linux, Apache HTTP Server, MySQL, PHP, WordPress - Related experience: Ponisha ### My SvelteKit website I built this site with SvelteKit and TypeScript, styled it with Tailwind CSS and daisyUI, and use Vite, ESLint, and Prettier in development. - Page: https://www.amirghamari.ir/stacks#stack-sveltekit-portfolio - Technologies: SvelteKit, Svelte, TypeScript, Tailwind CSS, daisyUI, Vite, ESLint, Prettier, Vercel - Projects: My Bilingual Résumé & Portfolio (https://www.amirghamari.ir/projects/portfolio) ### FastAPI & Sonobe I built Sonobe around Python and FastAPI, adding a modular extension system and documentation for developers and agents, including MCP. - Page: https://www.amirghamari.ir/stacks#stack-fastapi-sonobe - Technologies: Python, FastAPI, REST APIs, Model Context Protocol (MCP) - Projects: Sonobe Framework (https://www.amirghamari.ir/projects/sonobe) ### Python & Django Python and Django are part of my professional backend work, alongside FastAPI and Laravel when a project calls for a different approach. - Page: https://www.amirghamari.ir/stacks#stack-django-backend - Technologies: Python, Django, REST APIs - Related experience: Kenvin, Independent work ### Next.js & PostgreSQL In Vellum, I bring together Next.js, React, TypeScript, and a PostgreSQL data layer using Drizzle ORM. - Page: https://www.amirghamari.ir/stacks#stack-nextjs-vellum - Technologies: Next.js, React, TypeScript, PostgreSQL, Drizzle ORM, Neon, Tailwind CSS - Projects: Vellum — Team & Project Management (https://www.amirghamari.ir/projects/vellum) ### React & developer tooling PromptForge combines a React and TypeScript interface with Vite, Tailwind CSS, Zod, and DOMPurify, plus an optional Neon-backed serverless API. - Page: https://www.amirghamari.ir/stacks#stack-react-promptforge - Technologies: React, TypeScript, Vite, Tailwind CSS, Framer Motion, Zod, DOMPurify, Node.js, Serverless, Neon, PostgreSQL - Projects: PromptForge — Ideas into Agent Prompts (https://www.amirghamari.ir/projects/prompt-forge) ### SvelteKit platforms at Kenvin Most platforms I build at Kenvin share one backbone: SvelteKit and TypeScript with a PostgreSQL data layer through Drizzle, Tailwind CSS interfaces, and Vercel deployments — Cezve, Darmanjo, MKPower, Panah Ceram, CopyPasta, and 118x all run on it. - Page: https://www.amirghamari.ir/stacks#stack-sveltekit-platforms - Technologies: SvelteKit, Svelte, TypeScript, PostgreSQL, Drizzle ORM, Tailwind CSS, Vite, Vercel - Projects: Cezve — Cafe Management Platform (https://www.amirghamari.ir/projects/cezve), Darmanjo — Wound Care Clinic Platform (https://www.amirghamari.ir/projects/darmanjo), MKPower — Deutz Engine Parts (https://www.amirghamari.ir/projects/mkpower), Panah Ceram — Bathroom & Kitchen Fixtures (https://www.amirghamari.ir/projects/panahceram), CopyPasta — Text & Code Sharing (https://www.amirghamari.ir/projects/copypasta), 118x — Local Business Pages (https://www.amirghamari.ir/projects/118x) - Related experience: Kenvin ### Rust for AI agent systems For a private third-party project I worked in Rust on a provider-agnostic AI agent with a multi-layer architecture, where predictable performance and clear boundaries between layers matter more than framework magic. - Page: https://www.amirghamari.ir/stacks#stack-rust-agent-systems - Technologies: Rust, REST APIs - Projects: Provider-Agnostic AI Agent in Rust (Private Project) (https://www.amirghamari.ir/projects/rust-ai-agent) ### Electron desktop apps Arlene is my cross-platform desktop work: Electron and Node.js with TypeScript, shipping one codebase to Windows, Linux, and macOS. - Page: https://www.amirghamari.ir/stacks#stack-electron-desktop - Technologies: Electron, Node.js, TypeScript, Windows, Linux - Projects: Arlene — Cross-Platform AI Assistant (https://www.amirghamari.ir/projects/arlene) ### Embedded & IoT builds My hardware work combines ESP32 firmware in ESP-IDF, Arduino-based prototyping, and small ATtiny/PIC controllers in C, connected over MQTT — from Norasys smart-home kits to the NPWT devices I design for Darmanjo. - Page: https://www.amirghamari.ir/stacks#stack-embedded-iot - Technologies: ESP-IDF, ESP32, Arduino, C (embedded), MQTT - Projects: Darmanjo NPWT Devices — ESP32 Wound-Therapy Hardware (https://www.amirghamari.ir/projects/darmanjo-npwt-device), Norasys Smart Home Kit — Security & Automation Hardware (https://www.amirghamari.ir/projects/norasys-smart-home-kit) - Related experience: Freelancer.com ## My projects Source: https://www.amirghamari.ir/projects ### Darmanjo — Wound Care Clinic Platform - I built Darmanjo through Kenvin as a highly customized clinic platform, bringing patient records, case management, bookings, and publishing together. - Portfolio page: https://www.amirghamari.ir/projects/darmanjo - English: https://www.amirghamari.ir/projects/darmanjo · Persian: https://www.amirghamari.ir/fa/projects/darmanjo Darmanjo is more than a public-facing clinic website. I built a customized platform around the day-to-day needs of a wound care clinic, and published the work under Kenvin’s name. The platform brings together patient management, clinical case management, bookings, and a content-management system with a blog. Its public website introduces the clinic and its services, while the operational tools support the work behind it. - Built and published under Kenvin: https://www.kenvin.ir/ - Public website: https://darmanjo.com/ - Capabilities: Patient management; Case management; Appointment bookings; Content management & blog; Custom clinic workflows - Technologies: SvelteKit, Svelte, TypeScript, PostgreSQL, Drizzle ORM, Redis, Tailwind CSS, daisyUI, Paraglide JS, Tiptap, S3-compatible storage, Vite, Vercel - Related experience: Kenvin - Skills: Backend & API development, Web application development - Related projects: Milad Rezanejad (https://www.amirghamari.ir/projects#milad-rezanejad), Darmanjo NPWT Devices — ESP32 Wound-Therapy Hardware (https://www.amirghamari.ir/projects/darmanjo-npwt-device) ### Mehrnoosh Atef Moghadam - I built this website through Kenvin to bring Mehrnoosh Atef Moghadam’s architecture, art, teaching, and cultural work into one place. - Portfolio page: https://www.amirghamari.ir/projects#mehrnoosh-atef - English: https://www.amirghamari.ir/projects#mehrnoosh-atef · Persian: https://www.amirghamari.ir/fa/projects#mehrnoosh-atef - Built and published under Kenvin: https://www.kenvin.ir/ - Public website: https://mehrnooshatef.ir/ - Technologies: SvelteKit, Svelte, TypeScript, Tailwind CSS, daisyUI, Vite, Vercel - Related experience: Kenvin - Skills: Web application development ### Dr. Mostafa Saeidinia - I developed this medical practice website under Kenvin, organizing the doctor’s services, articles, and information for visitors. - Portfolio page: https://www.amirghamari.ir/projects#mostafa-saeidinia - English: https://www.amirghamari.ir/projects#mostafa-saeidinia · Persian: https://www.amirghamari.ir/fa/projects#mostafa-saeidinia - Built and published under Kenvin: https://www.kenvin.ir/ - Public website: https://mostafasaeidinia.ir/ - Technologies: SvelteKit, Svelte, TypeScript, Tailwind CSS, daisyUI, Vite - Related experience: Kenvin - Skills: Web application development ### Dr. Bahareh Khedmatkar - I built this website through Kenvin to present Dr. Bahareh Khedmatkar’s surgical practice, services, and practical information for patients. - Portfolio page: https://www.amirghamari.ir/projects#bahareh-khedmatkar - English: https://www.amirghamari.ir/projects#bahareh-khedmatkar · Persian: https://www.amirghamari.ir/fa/projects#bahareh-khedmatkar - Built and published under Kenvin: https://www.kenvin.ir/ - Public website: https://baharekhedmatkar.ir/ - Technologies: SvelteKit, Svelte, TypeScript, Tailwind CSS, daisyUI, Vite, Vercel - Related experience: Kenvin - Skills: Web application development ### Moein Sherafatmand - I built this services website under Kenvin, presenting solar-energy, smart-home, and security-system services. - Portfolio page: https://www.amirghamari.ir/projects#moein-sherafatmand - English: https://www.amirghamari.ir/projects#moein-sherafatmand · Persian: https://www.amirghamari.ir/fa/projects#moein-sherafatmand - Built and published under Kenvin: https://www.kenvin.ir/ - Public website: https://moeinsherafatmand.ir/ - Technologies: SvelteKit, Svelte, TypeScript, Tailwind CSS, Three.js, Vite, Vercel - Related experience: Kenvin - Skills: Web application development ### Milad Rezanejad - I developed Milad Rezanejad’s professional website through Kenvin, bringing his surgical-technology and wound-care work into a public profile. - Portfolio page: https://www.amirghamari.ir/projects#milad-rezanejad - English: https://www.amirghamari.ir/projects#milad-rezanejad · Persian: https://www.amirghamari.ir/fa/projects#milad-rezanejad - Built and published under Kenvin: https://www.kenvin.ir/ - Public website: https://www.miladrezanejad.ir/ - Technologies: SvelteKit, Svelte, TypeScript, Tailwind CSS, Vite, Vercel - Related experience: Kenvin - Skills: Web application development - Related projects: Darmanjo — Wound Care Clinic Platform (https://www.amirghamari.ir/projects/darmanjo) ### Sharzhsho — Top-up & Bills - I built Sharzhsho under Kenvin: a web interface for mobile top-ups, bills, internet packages, and digital products. - Portfolio page: https://www.amirghamari.ir/projects#sharzhsho - English: https://www.amirghamari.ir/projects#sharzhsho · Persian: https://www.amirghamari.ir/fa/projects#sharzhsho - Built and published under Kenvin: https://www.kenvin.ir/ - Public website: https://www.sharzhsho.ir/ - Technologies: React, TypeScript, Vite, Tailwind CSS, Zod, Fastify, Node.js - Related experience: Kenvin - Skills: Web application development, Backend & API development ### QRify — QR & Barcode Builder - I built QRify through Kenvin to create QR codes and other one- and two-dimensional barcodes from common inputs. - Portfolio page: https://www.amirghamari.ir/projects#qrify - English: https://www.amirghamari.ir/projects#qrify · Persian: https://www.amirghamari.ir/fa/projects#qrify - Built and published under Kenvin: https://www.kenvin.ir/ - Public website: https://www.qrify.ir/ - Technologies: Astro, React, TypeScript, Tailwind CSS, Vite - Related experience: Kenvin - Skills: Web application development ### Norasys — Solar, Backup Power & Smart Home - I built Norasys for a solar, backup-power, and smart-home team in Gilan: a Persian site that starts with a system estimate instead of a sales call. - Portfolio page: https://www.amirghamari.ir/projects/norasys - English: https://www.amirghamari.ir/projects/norasys · Persian: https://www.amirghamari.ir/fa/projects/norasys Norasys installs solar power, backup electricity, cameras, alarms, and smart-home systems across Gilan. I designed the site around the decision a homeowner is actually making — an outage, a rising bill, or a security gap — and explained the equipment only after that decision was clear. The centre of the site is a sizing calculator: monthly consumption, home size, and daily outage hours become a recommended capacity, panel count, backup battery, and coverage percentage, with an initial cost range and an installment option. It sets expectations before the free technical visit instead of after it. The rest of the site follows the same path: service pages, three package levels, coverage for 21 cities, and a technical journal for the questions local buyers ask before they commit, from how panels behave in Gilan’s cloudy weather to the difference between hybrid, off-grid, and grid-tied systems. - Built and published under Kenvin: https://www.kenvin.ir/ - Public website: https://norasys.services/ - Capabilities: Solar system sizing calculator; Three service packages with installment options; Coverage pages for 21 cities in Gilan; Solar, security, smart-home, and UPS services; Technical journal on climate and maintenance - Technologies: React, TypeScript, JavaScript, Vite, Tailwind CSS, Node.js - Related experience: Kenvin - Skills: Web application development - Related projects: Moein Sherafatmand (https://www.amirghamari.ir/projects#moein-sherafatmand), Norasys Smart Home Kit — Security & Automation Hardware (https://www.amirghamari.ir/projects/norasys-smart-home-kit) ### MKPower — Deutz Engine Parts - I built MKPower for a Deutz engine-parts supplier: search by part number or engine family, clear compatibility, live stock and prices, and trade pricing for workshops. - Portfolio page: https://www.amirghamari.ir/projects/mkpower - English: https://www.amirghamari.ir/projects/mkpower · Persian: https://www.amirghamari.ir/fa/projects/mkpower MKPower supplies Deutz engine parts, and its customers do not all arrive the same way: one has a part number copied from a workshop note, another knows only the engine family, and a third needs a category such as filters or injectors. I built the catalog around those three entry points instead of a single search box. Each product page carries the technical number, the engines it fits, availability, and price. Category browsing separates oil, fuel, and air filters, injectors and nozzles, fuel and water pumps, thermostats, turbochargers, gaskets, cylinder heads, belts, electrical parts, and sensors, while the home page surfaces the parts that move fastest. For repeat buyers I added a trade path: business accounts for workshops and fleets with partner pricing, formal invoices, and quick quotes, alongside a technical journal covering overheating, service intervals for the 1013 and 2012 engines, and how to recognise counterfeit parts. Search, product, and category URLs stay stable so a part number can be shared or bookmarked. - Built and published under Kenvin: https://www.kenvin.ir/ - Public website: https://mkpower.ir/ - Capabilities: Part-number search; Engine-family filters from 912 to TCD 3.6; Category catalog with stock and pricing; Trade accounts and quick quotes; Maintenance journal for Deutz engines - Technologies: SvelteKit, Svelte, TypeScript, PostgreSQL, Neon, Drizzle ORM, Redis, tRPC, Zod, Tailwind CSS, shadcn-svelte, S3-compatible storage, Vite, Vercel - Related experience: Kenvin - Skills: Web application development, Backend & API development - Related projects: Panah Ceram — Bathroom & Kitchen Fixtures (https://www.amirghamari.ir/projects/panahceram) ### CopyPasta — Text & Code Sharing - I built CopyPasta as a fast, account-free way to share text and code: paste, get a link, choose an expiry, and keep the formatting intact. - Portfolio page: https://www.amirghamari.ir/projects/copypasta - English: https://www.amirghamari.ir/projects/copypasta · Persian: https://www.amirghamari.ir/fa/projects/copypasta CopyPasta is deliberately small. There is no dashboard, no sign-up, and no document model to learn: paste the text, optionally add a title and an expiration, and share the unlisted link that comes back. The text is stored exactly as entered. The editor supports Markdown-style preview and syntax highlighting for everyday languages — JavaScript, TypeScript, JSON, HTML, CSS, shell, Python, SQL, Go, Rust, Java, C, PHP, Ruby, YAML, TOML, Markdown, and diff — with live line, word, and character counts up to 100,000 characters. I also wrote short guides for the questions that come before a paste: sharing without an account, a paste versus a collaborative document, formatting code and logs, setting an expiry, and what an unlisted link does not protect. That last point is explicit: credentials and private records do not belong in a paste. - Built and published under Kenvin: https://www.kenvin.ir/ - Public website: https://copypasta.ir/ - Capabilities: Account-free pastes; Markdown-style preview; Syntax highlighting for common languages; Optional expiry of 1, 7, or 30 days; Unlisted links; Guides for safe sharing - Technologies: SvelteKit, Svelte, TypeScript, PostgreSQL, Tailwind CSS, daisyUI, Vite, Vercel - Related experience: Kenvin - Skills: Web application development, Backend & API development, Security-first development ### Cezve — Cafe Management Platform - I built Cezve, a Persian right-to-left platform that runs a cafe end to end: QR ordering and payment, kitchen printing, inventory, profit, staff, and menu design. - Portfolio page: https://www.amirghamari.ir/projects/cezve - English: https://www.amirghamari.ir/projects/cezve · Persian: https://www.amirghamari.ir/fa/projects/cezve Cezve started from a practical question: how many separate tools does a cafe actually need? Orders, payments, printing, stock, staff, and the menu usually live in different places. I built one Persian, right-to-left panel that covers the full day’s work instead. Guests scan the QR code on their table, browse a menu with photos and prices, and order and pay without installing anything. Payments run through Zibal and collect in the cafe’s wallet, which the owner settles to a bank account; a cafe that only wants a digital menu can switch ordering off and keep the same page. Behind the counter, orders print on thermal 58 mm or 80 mm ESC/POS printers directly from Chrome or Edge, with several printers at once and rules such as sending only drinks to the bar. Inventory falls with each sale and removes a dish when an ingredient runs out, while purchase prices, average cost, and waste feed a real profit view by day, week, and month. The rest of the platform covers staff accounts with limited access and QR-based attendance with shifts and monthly reports, recurring operation checklists, customer files with loyalty and credit sales in installments, and 30-day menu analytics. Owners can also change the menu layout and colours, design a QR code per table, and refer other cafes with a referral code. - Built and published under Kenvin: https://www.kenvin.ir/ - Public website: https://cezve.ir/ - Capabilities: QR menu and guest ordering; Online payment and wallet settlement; Multi-printer receipts with routing rules; Ingredient inventory and waste tracking; Real profit and cost reporting; Staff accounts and QR attendance; Operation checklists; Customer credit and installments; Menu and QR design; Menu analytics - Technologies: SvelteKit, Svelte, TypeScript, PostgreSQL, Drizzle ORM, Tailwind CSS, Tiptap, Zod, S3-compatible storage, Vite, Vercel - Related experience: Kenvin - Skills: Web application development, Backend & API development - Related projects: QRify — QR & Barcode Builder (https://www.amirghamari.ir/projects#qrify) ### Panah Ceram — Bathroom & Kitchen Fixtures - I built Panah Ceram’s catalog for bathroom and kitchen fixtures: browsable categories, product pages with prices, and a direct path to a purchase consultation. - Portfolio page: https://www.amirghamari.ir/projects/panahceram - English: https://www.amirghamari.ir/projects/panahceram · Persian: https://www.amirghamari.ir/fa/projects/panahceram Panah Ceram sells sanitaryware for homes and building projects: toilets, basins, sinks, mixers, concealed cisterns, seat covers, and accessories. Buyers usually arrive with a room in mind rather than a product name, so the catalog starts from categories and narrows to individual items. Each product page shows the item, its category and type, the price, and an add-to-cart action, while the home page surfaces new arrivals and a count for every category. Because most visitors arrive on a phone, the layout keeps category navigation and product cards usable at small widths. Ordering is not purely self-service: the site makes it easy to start a purchase consultation, confirm stock, and coordinate delivery from the page itself, which matches how building materials are actually bought. I kept the category structure simple so the team can add products without redesigning the catalog. - Built and published under Kenvin: https://www.kenvin.ir/ - Public website: https://www.panahceram.ir/ - Capabilities: Category-based catalog; Product pages with price and type; Shopping cart; New arrivals feed; Purchase consultation; Stock inquiry and delivery coordination - Technologies: SvelteKit, Svelte, TypeScript, PostgreSQL, Neon, Drizzle ORM, Tailwind CSS, Tiptap, S3-compatible storage, Vite, Vercel - Related experience: Kenvin - Skills: Web application development, Backend & API development - Related projects: MKPower — Deutz Engine Parts (https://www.amirghamari.ir/projects/mkpower) ### 118x — Local Business Pages - I built 118x so local businesses can have a real page: a direct address, industry-specific design, local SEO, and structured content that AI answers can quote. - Portfolio page: https://www.amirghamari.ir/projects/118x - English: https://www.amirghamari.ir/projects/118x · Persian: https://www.amirghamari.ir/fa/projects/118x Many small businesses are searched by name before they have a website. 118x turns a short WhatsApp brief into a live page at 118x.ir/: pick the industry, send the details, review a preview, and publish, with delivery counted in days rather than weeks. The platform ships twelve industry layouts — cafe and restaurant, barber and beauty, technical services, retail, education, real estate, freelance developers, transport, offices, public figures, medical clinics, and fitness — plus a plan ladder that starts with a single-page profile and ends with a custom domain and a multi-page site. Search visibility is part of the product rather than an add-on: local wording and structure, LocalBusiness structured data, a consistent name, address, and phone number, short answer-style sections for AI assistants, crawler access, and prebuilt pages delivered fast. Gold pages also get a QR code and a clean share preview. I built the marketing site around evidence too: a simulated before-and-after search result, an assistant answer drawn from real 118x pages, an industry selector, and a short self-assessment that never stores its answers. The public directory gives every business another crawlable entry point. - Built and published under Kenvin: https://www.kenvin.ir/ - Public website: https://118x.ir/ - Capabilities: Pages at 118x.ir/; Twelve industry-specific layouts; LocalBusiness structured data; Answer-engine-ready content; Plan comparison and WhatsApp ordering; Per-page QR codes and share previews; Industry selector and self-assessment - Technologies: SvelteKit, Svelte, TypeScript, Vite, Vercel - Related experience: Kenvin - Skills: Web application development ### Roomano - One of my upcoming projects at Kenvin. I’m keeping the details private for now—more when it is ready to go public. - Portfolio page: https://www.amirghamari.ir/projects#roomano - English: https://www.amirghamari.ir/projects#roomano · Persian: https://www.amirghamari.ir/fa/projects#roomano - Built and published under Kenvin: https://www.kenvin.ir/ - Approved teaser only; product details are not public. - Related experience: Kenvin ### Vellum — Team & Project Management - I develop Vellum as an open-source workspace for teams, projects, Kanban boards, and tasks, built with Next.js, React, and PostgreSQL. - Portfolio page: https://www.amirghamari.ir/projects/vellum - English: https://www.amirghamari.ir/projects/vellum · Persian: https://www.amirghamari.ir/fa/projects/vellum I created Vellum to bring team and project workflows into a straightforward workspace. It includes Kanban boards, task tracking, team organization, and role-based access. I use Next.js and React for the application, PostgreSQL with Drizzle ORM for data, and TypeScript and Tailwind CSS throughout the codebase. The source is public under the MIT license. - Source: https://github.com/AxissXs/Vellum (MIT license) - Capabilities: Kanban boards; Teams & projects; Tasks, assignees & priorities; Role-based access - Technologies: Next.js, React, TypeScript, PostgreSQL, Neon, Drizzle ORM, Tailwind CSS, Node.js, Git - Related experience: Independent work - Skills: Web application development, Backend & API development, Tools for developers & agents, Security-first development ### PromptForge — Ideas into Agent Prompts - I built PromptForge to turn a product idea into a structured brief and a usable coding-agent prompt, with reusable templates and a local-first workflow. - Portfolio page: https://www.amirghamari.ir/projects/prompt-forge - English: https://www.amirghamari.ir/projects/prompt-forge · Persian: https://www.amirghamari.ir/fa/projects/prompt-forge PromptForge guides an idea through product vision, strategy, audience, branding, features, technology, data, business, and delivery, then brings that context into a structured coding-agent prompt. I built it with React, TypeScript, Vite, and Tailwind CSS. It works locally, with an optional serverless backend using Neon PostgreSQL for accounts, sharing, and community features. The project includes a template studio, data validation with Zod, and content sanitization with DOMPurify. Its source is available under the MIT license. - Source: https://github.com/AxissXs/prompt-forge (MIT license) - Capabilities: Guided product briefs; Coding-agent prompts; Reusable prompt templates; Local-first workflow; Optional sharing & community features - Technologies: React, TypeScript, Vite, Tailwind CSS, Framer Motion, Node.js, Serverless, Neon, PostgreSQL, Zod, DOMPurify, Git - Related experience: Independent work - Skills: Web application development, Backend & API development, Tools for developers & agents, Security-first development ### Sonobe Framework - I built Sonobe on FastAPI for rapid development of modular, scalable APIs, with a decoupled core, plugin extensions, and documentation for people and agents. - Portfolio page: https://www.amirghamari.ir/projects/sonobe - English: https://www.amirghamari.ir/projects/sonobe · Persian: https://www.amirghamari.ir/fa/projects/sonobe I built Sonobe to make API development faster without tightly coupling features to the framework’s core. Its architecture keeps modules separate so an application can grow without turning into a collection of scattered changes. Developers can package custom features as plug-and-play extensions rather than editing the core. Sonobe also generates documentation for people and development agents, including docs, agent skills, and MCP support. The framework is built, but its source is not public yet. I plan to open-source it; I’m sharing the architecture and direction here ahead of that release. - Source is not public yet; an open-source release is planned with no announced date. - Capabilities: Built on FastAPI; Modular, decoupled architecture; Plug-and-play extensions; Extend features without changing the core; Generated human & agent documentation; Agent skills & MCP support - Technologies: Python, FastAPI, REST APIs, Model Context Protocol (MCP) - Related experience: Independent work - Skills: Backend & API development, Framework & plugin architecture, Tools for developers & agents - Related projects: Yoshi Framework (https://www.amirghamari.ir/projects/yoshi) ### Yoshi Framework - I built Yoshi as a modular, decoupled frontend framework that works with Sonobe, with performance and flexibility at the center of its design. - Portfolio page: https://www.amirghamari.ir/projects/yoshi - English: https://www.amirghamari.ir/projects/yoshi · Persian: https://www.amirghamari.ir/fa/projects/yoshi Yoshi brings the modular, decoupled approach of Sonobe to the frontend. I designed it to work with Sonobe while keeping clear boundaries between parts of the interface. Under the hood it mostly builds on SvelteKit and TypeScript, with Paraglide JS for typed translations, Tailwind CSS for styling, and shadcn-svelte components — proven pieces, arranged so projects can adapt the framework to their needs. I built it around flexibility and performance. Like Sonobe, it is not public yet; an open-source release is planned. - Source is not public yet; an open-source release is planned with no announced date. - Capabilities: Frontend companion to Sonobe; Independent, modular architecture; Flexible customization; Performance-focused design - Technologies: SvelteKit, Svelte, TypeScript, Tailwind CSS, Paraglide JS, shadcn-svelte - Related experience: Independent work - Skills: Web application development, Framework & plugin architecture, Tools for developers & agents - Related projects: Sonobe Framework (https://www.amirghamari.ir/projects/sonobe) ### Arlene — Cross-Platform AI Assistant - I am building Arlene, a robust and deeply customizable AI assistant for the desktop, with a drag-and-drop agent pipeline designer that works with local and cloud providers. - Portfolio page: https://www.amirghamari.ir/projects/arlene - English: https://www.amirghamari.ir/projects/arlene · Persian: https://www.amirghamari.ir/fa/projects/arlene Arlene is the desktop AI assistant I always wanted to have: one cross-platform application, built with Electron, that treats the agent — not a single chat box — as the unit of work. I am developing it to be robust enough for daily use and plan to open-source it. Its centre is a visual pipeline designer in the spirit of n8n: agents, tools, and steps are arranged with drag and drop into flows you can actually read and reuse. Arlene talks to local models and cloud providers through the same interface, so a pipeline is not married to one vendor. It ships with built-in harnesses for many different tasks, and almost everything can be customized in depth — providers, tools, prompts, and behaviour. Self-learning and self-improvement features let it refine how it works over time instead of starting from zero in every session. - Source is not public yet; an open-source release is planned with no announced date. - Capabilities: Visual agent pipeline designer (drag & drop); Local and cloud model providers; Built-in harnesses for many task types; Deep customization of tools and behaviour; Self-learning & self-improvement; Windows, Linux & macOS from one codebase - Technologies: Electron, Node.js, TypeScript, JavaScript, Windows, Linux - Related experience: Independent work - Skills: Cross-platform desktop software, AI agent systems, Tools for developers & agents, Web application development - Related projects: Provider-Agnostic AI Agent in Rust (Private Project) (https://www.amirghamari.ir/projects/rust-ai-agent), PromptForge — Ideas into Agent Prompts (https://www.amirghamari.ir/projects/prompt-forge) ### Provider-Agnostic AI Agent in Rust (Private Project) - I worked in Rust on a private AI agent system for a third-party company: provider-agnostic by design, with a multi-layer architecture. - Portfolio page: https://www.amirghamari.ir/projects/rust-ai-agent - English: https://www.amirghamari.ir/projects/rust-ai-agent · Persian: https://www.amirghamari.ir/fa/projects/rust-ai-agent This was private work for a third-party company, so I can describe the engineering shape rather than the product. The system is an AI agent written in Rust, designed from the start to be provider-agnostic: model providers sit behind one interface and can be swapped without rewriting the agent around them. The architecture is deliberately layered. Provider access, agent reasoning and orchestration, tools, and the outer interfaces each live in their own layer with clear boundaries, so behaviour can be tested and replaced piece by piece instead of as one tangled whole. Rust earns its place in systems like this: predictable performance, strong typing across layer boundaries, and concurrency you can reason about when many agent steps and tool calls are in flight at once. - Capabilities: Provider-agnostic model access; Multi-layer agent architecture; Rust systems programming; Private third-party engagement - Technologies: Rust, REST APIs - Skills: AI agent systems, Backend & API development - Related projects: Arlene — Cross-Platform AI Assistant (https://www.amirghamari.ir/projects/arlene), Sonobe Framework (https://www.amirghamari.ir/projects/sonobe) ### Norasys Smart Home Kit — Security & Automation Hardware - For Norasys I created a complete smart-home kit for home security and automation, building everything from scratch myself apart from the communication protocols. - Portfolio page: https://www.amirghamari.ir/projects/norasys-smart-home-kit - English: https://www.amirghamari.ir/projects/norasys-smart-home-kit · Persian: https://www.amirghamari.ir/fa/projects/norasys-smart-home-kit Norasys installs solar, backup power, and smart-home systems in Gilan, and its smart-home kit is my hardware work: a full IoT package for home security and automation. Other than the standard communication protocols, I created everything from scratch — the devices, the boards, and the firmware. Most nodes in the kit are small and cheap on purpose. nRF24L01 radios carry the wireless traffic, and ATtiny13A or PIC microcontrollers run the sensors and actuators, with MQTT tying the system together at the messaging layer. Choosing the smallest controller that honestly fits the job keeps each node affordable and power-friendly. Writing the programs myself — rather than assembling off-the-shelf modules — is what lets the kit behave as one system: the same messaging rules, the same failure behaviour, and firmware I can actually maintain and extend when a home needs something new. - Public website: https://norasys.services/ - Capabilities: Complete smart-home security & automation kit; Custom boards and firmware, built from scratch; nRF24L01 wireless nodes; ATtiny13A & PIC microcontrollers; MQTT messaging - Technologies: MQTT, C (embedded), Arduino - Related experience: Freelancer.com - Skills: Embedded systems & IoT - Related projects: Norasys — Solar, Backup Power & Smart Home (https://www.amirghamari.ir/projects/norasys), Darmanjo NPWT Devices — ESP32 Wound-Therapy Hardware (https://www.amirghamari.ir/projects/darmanjo-npwt-device) ### Darmanjo NPWT Devices — ESP32 Wound-Therapy Hardware - Alongside Darmanjo’s platform, I have been designing its NPWT (negative-pressure wound therapy) devices: ESP32-based hardware with pressure sensors and custom electronic boards. - Portfolio page: https://www.amirghamari.ir/projects/darmanjo-npwt-device - English: https://www.amirghamari.ir/projects/darmanjo-npwt-device · Persian: https://www.amirghamari.ir/fa/projects/darmanjo-npwt-device My work with Darmanjo goes beyond its software platform. For some time I have also been designing the clinic’s NPWT devices — the portable negative-pressure wound therapy units patients carry with them during treatment. The devices are built around the ESP32, pressure sensors, and custom-built electronic boards. My part is the engineering: sensing and controlling pressure reliably, designing the boards around the therapy’s real constraints, and writing the firmware with ESP-IDF. Medical-adjacent hardware leaves no room for “mostly works”. The design has to stay safe and predictable when a sensor reads unexpectedly or power behaves badly, which is exactly where small, well-understood firmware and careful board design earn their keep. - Public website: https://darmanjo.com/ - Capabilities: ESP32-based NPWT device design; Pressure sensing & control; Custom electronic board design; ESP-IDF firmware written in C - Technologies: ESP32, ESP-IDF, C (embedded) - Related experience: Kenvin - Skills: Embedded systems & IoT - Related projects: Darmanjo — Wound Care Clinic Platform (https://www.amirghamari.ir/projects/darmanjo), Norasys Smart Home Kit — Security & Automation Hardware (https://www.amirghamari.ir/projects/norasys-smart-home-kit) ### Tesmino — PR & Backlink Platform - I developed Laravel APIs and improved Tesmino’s backend, including a document converter with Persian-language support. - Portfolio page: https://www.amirghamari.ir/projects/tesmino - English: https://www.amirghamari.ir/projects/tesmino · Persian: https://www.amirghamari.ir/fa/projects/tesmino At Tesmino, I worked on the backend of a platform for managing PR and backlink campaigns. My focus was making its services faster, more stable, and easier to maintain. I developed and maintained Laravel APIs and built a custom document converter with headless LibreOffice and Unoconv. It supported conversion between HTML/Blade templates and PDF/DOCX files, including Persian text. I also applied design patterns and clean code principles to make the Laravel codebase easier to work with. - Technologies: PHP, Laravel, MySQL, Redis, Docker, DevOps, REST APIs, Git, CI/CD, Linux, Server management, LibreOffice, Unoconv, Blade, HTML - Related experience: Tesmino - Skills: Backend & API development, Backend & database performance, Document processing, Deployment & operations ### Jajiga — Accommodation Booking Platform - I optimized Jajiga’s queries and backend, and rebuilt its search feature as an independent Laravel microservice. - Portfolio page: https://www.amirghamari.ir/projects/jajiga - English: https://www.amirghamari.ir/projects/jajiga · Persian: https://www.amirghamari.ir/fa/projects/jajiga At Jajiga, I worked on backend and database bottlenecks that caused problems under heavy traffic. I optimized queries and improved the backend architecture to reduce the load on the servers. I rewrote the core search feature as a dedicated Laravel microservice, so it could respond faster and operate independently of the main application. Working with the frontend and DevOps teams, I helped increase the platform’s capacity from about 3,000 to more than 50,000 concurrent users. - Technologies: PHP, Laravel, MySQL, Redis, Docker, REST APIs, Git, CI/CD, Linux - Related experience: Jajiga - Skills: Backend & API development, Microservice architecture, Backend & database performance, Deployment & operations ### SpyCreed — Online Spyfall Game - I built an online version of Spyfall with Svelte, using Vercel for serverless deployment and Neon PostgreSQL for the game’s data. - Portfolio page: https://www.amirghamari.ir/projects/spycreed - English: https://www.amirghamari.ir/projects/spycreed · Persian: https://www.amirghamari.ir/fa/projects/spycreed I designed and built an online version of the Spyfall party game with Svelte. I used TypeScript for the application code and Tailwind CSS for the interface. I deployed the game on Vercel with a serverless architecture and used Neon to manage its PostgreSQL data. Node.js is also part of the application’s stack. - Technologies: CI/CD, Node.js, Svelte, Serverless, Vercel, Neon, TypeScript, PostgreSQL, Tailwind CSS, HTML, CSS, JavaScript - Skills: Web application development, Deployment & operations ### My Bilingual Résumé & Portfolio - I built this English and Persian website with SvelteKit, TypeScript, and Tailwind CSS to bring my résumé and projects together. - Portfolio page: https://www.amirghamari.ir/projects/portfolio - English: https://www.amirghamari.ir/projects/portfolio · Persian: https://www.amirghamari.ir/fa/projects/portfolio I built this website to bring my résumé and projects together in English and Persian. I use SvelteKit and TypeScript, with Tailwind CSS and daisyUI for styling. I’ve linked my skills and tools to the projects and experience where I used them. The pages render on the server, with metadata, JSON-LD, and a bilingual sitemap to make the content easier to discover. I use Vite for development and builds, and ESLint and Prettier to keep the code consistent. The site is configured for deployment on Vercel. - Technologies: SvelteKit, Svelte, TypeScript, JavaScript, HTML, CSS, Tailwind CSS, daisyUI, Vite, ESLint, Prettier, Vercel, Node.js, Git - Skills: Web application development, Deployment & operations ## My writing Source: https://www.amirghamari.ir/writing ### What Building Backends with Laravel and PHP Taught Me Laravel is one of my professional backend tools. From splitting Jajiga’s search into a microservice to a Persian document converter at Tesmino, here is what production work taught me about APIs, performance, and maintainable PHP. - Page: https://www.amirghamari.ir/writing/laravel-backend-lessons - Published: 2026-10-23 - Technologies: Laravel, PHP, MySQL, Redis, REST APIs, Blade, LibreOffice, Docker #### Where Laravel earned my trust [Laravel](https://www.amirghamari.ir/stacks#laravel) is easy to underestimate from the outside. It demos beautifully, which makes some people assume it is a prototyping toy. My experience points the other way: in two production backends — [Jajiga](https://www.amirghamari.ir/projects/jajiga), a high-traffic accommodation platform, and [Tesmino](https://www.amirghamari.ir/projects/tesmino), a PR and backlink platform — Laravel held up as the boring, dependable centre of systems that real businesses depended on every day. PHP and Laravel remain part of my [professional toolkit](https://www.amirghamari.ir/skills#backend-apis) alongside [FastAPI](https://www.amirghamari.ir/writing/fastapi-python-apis) and Django, and this article is about why. The framework’s real strength is not any single feature. It is the completeness of the path from request to response: routing, validation, queues, caching, scheduling, and an ORM that stays productive without hiding the database from you. When a product team needs an API this month and a maintainable system next year, that completeness compounds. #### APIs first, framework second Most of my Laravel work has been API work. The lesson that stuck is that an API is a contract, not a by-product of your database schema. At Tesmino I developed and maintained [REST APIs](https://www.amirghamari.ir/stacks#rest-api) other services consumed, which forces a discipline: validate at the boundary, return deliberate response shapes, and never let an internal refactor silently become a breaking change for a client you do not control. Laravel helps here more than it gets credit for. Form requests keep validation close to the edge, resources keep responses intentional, and the framework’s conventions mean a new developer can find where a behaviour lives without a tour guide. I lean into those conventions hard. The moment a Laravel codebase starts fighting the framework with clever abstractions everywhere, it loses the very thing Laravel is good at: being obvious. #### When the monolith gets heavy: splitting search at Jajiga At [Jajiga](https://www.amirghamari.ir/projects/jajiga) the problem was not Laravel; it was gravity. Search was the hottest path in the system, and it lived inside the same application that handled everything else. Under heavy traffic, backend and database bottlenecks in that path dragged the whole platform with them. My work there had two parts: optimizing the queries and backend paths that were hurting, and rewriting the core search feature as a dedicated Laravel [microservice](https://www.amirghamari.ir/skills#microservices) that could respond faster and evolve independently. That split is the most useful architectural lesson I took from Laravel: you do not need to abandon a framework to scale past a monolith. The search service stayed Laravel — same language, same conventions, same operational knowledge — but with its own deployment boundary. Working with the frontend and DevOps teams, the platform’s capacity grew from about 3,000 to more than 50,000 concurrent users. The number matters less than the shape of the fix: find the one path that is actually hot, give it room, and leave the rest of the system alone. It also taught me restraint with [MySQL](https://www.amirghamari.ir/stacks#mysql). Most “database is slow” stories are really “the application asks the database silly questions, thousands of times”. Query optimization, sensible indexing, and [Redis](https://www.amirghamari.ir/stacks#redis) where caching honestly fits will take a Laravel backend much further than exotic infrastructure. That is most of what [backend performance work](https://www.amirghamari.ir/skills#database-performance) actually looks like up close. #### Documents, queues, and the unglamorous work at Tesmino [Tesmino](https://www.amirghamari.ir/projects/tesmino) taught me the other half of backend work: the unglamorous features nobody screenshots. I built a custom document converter there with headless [LibreOffice](https://www.amirghamari.ir/stacks#libreoffice) and Unoconv, converting between HTML/[Blade](https://www.amirghamari.ir/stacks#blade) templates and PDF/DOCX files — including correct handling of Persian text, which is where naive converters quietly fall apart. Work like that changes how you judge a framework. The question stops being “how fast can I make a CRUD screen?” and becomes “how well does this system absorb a weird external process, a queue, a file format, and a right-to-left language without turning into spaghetti?” Laravel absorbed it: the conversion could live behind jobs and services, the API stayed clean, and Persian support was a solvable engineering problem instead of a permanent workaround. Anyone building for Persian users learns quickly that language is not a translation file at the end; it reaches into fonts, text direction, numbers, and document generation. #### Keeping a Laravel codebase maintainable The other thread at Tesmino was applying design patterns and clean-code principles to make the Laravel codebase easier to work with. In practice that means unglamorous things: thin controllers, explicit service boundaries for the parts that talk to the outside world, and resisting the urge to hide everything behind facades and magic. Laravel gives you enough rope to write code only its author can read; the discipline is choosing not to. Operations are part of maintainability too. Those backends ran with [Docker](https://www.amirghamari.ir/stacks#docker), Git-based workflows, and CI/CD, and server management was part of my job — the [delivery side](https://www.amirghamari.ir/skills#delivery-operations) of backend work that decides whether a good codebase stays good after it meets production traffic, logs, and 3 a.m. surprises. #### Where Laravel fits in my current toolkit Today I reach for different tools for different shapes of problem: [SvelteKit and TypeScript](https://www.amirghamari.ir/writing/sveltekit-platforms-in-production) for the product platforms I build at Kenvin, [FastAPI](https://www.amirghamari.ir/writing/fastapi-python-apis) and Django in Python, and Rust when a system needs that level of control. Laravel keeps its place because experience is a feature too. When a project is PHP-shaped — a business API, a content platform, a team that will maintain it after me — I know exactly how it behaves under load, where it bends, and how to keep it clean. If you are evaluating Laravel for a serious backend, my honest summary is this: respect its conventions, treat your API as a contract, optimize the queries before the architecture, and split services only where the traffic proves you must. Do those things and Laravel will quietly carry a business for years — I have watched it do exactly that. If that is the kind of backend you need built, [my résumé](https://www.amirghamari.ir/) has the rest of the story. ### Designing Python APIs with FastAPI — and Why I Built Sonobe Python is central to my professional work. This is how I use FastAPI and Django in practice, what pushed me to build my own modular framework (Sonobe) on FastAPI, and how I choose between Python web frameworks today. - Page: https://www.amirghamari.ir/writing/fastapi-python-apis - Published: 2026-10-23 - Technologies: FastAPI, Python, Django, REST APIs, Model Context Protocol (MCP) #### Why Python stays central to my work [Python](https://www.amirghamari.ir/stacks#python) is the language I reach for when the problem is really about logic: APIs, automation, data-shaped work, and the frameworks themselves. It is one of my [professional core technologies](https://www.amirghamari.ir/skills#backend-apis), I teach programming with it, and it is the foundation of [Sonobe](https://www.amirghamari.ir/projects/sonobe), the backend framework I built. Python’s advantage at this point is not fashion; it is the combination of a huge, mature ecosystem and code that stays readable when the original author — often me — comes back to it a year later. Within Python, though, “which framework?” is a real architectural decision, and I use two answers professionally: [FastAPI](https://www.amirghamari.ir/stacks#fastapi) and [Django](https://www.amirghamari.ir/stacks#django). They are not interchangeable, and pretending otherwise is how teams end up rebuilding an admin panel inside a micro-framework or fighting an ORM inside a latency-sensitive service. #### What FastAPI gets right FastAPI’s core bet is that types are documentation that cannot drift. You declare request and response models once, and validation, serialization, and OpenAPI documentation all follow from the same source of truth. In my [Laravel article](https://www.amirghamari.ir/writing/laravel-backend-lessons) I argued an API is a contract; FastAPI is the framework that most literally encodes that contract in the type system. For API-first services — especially ones consumed by other services, frontends you do not control, or increasingly, by agents — that explicitness is worth a great deal. The async story matters too, but honestly, in the order of real-world importance it comes second. Most APIs are I/O-shaped, and FastAPI handles that well, yet the projects I have seen succeed with it did so because the contracts were clear and the codebase stayed navigable, not because a benchmark number was bigger. Speed gets a framework adopted; clarity is what keeps it alive in year three. #### Django, when the batteries matter Django is the opposite trade, and often the right one. When the product needs an admin, authentication, migrations, and a decade of solved problems on day one, Django’s batteries are not bloat — they are weeks of work you do not have to do or maintain. I use Django professionally alongside FastAPI and Laravel, choosing per project rather than per loyalty. My working rule is simple. If the API is the product — consumed by machines, versioned, contract-driven — FastAPI leads. If the application is the product — users, admin, content, business workflows — Django usually leads, possibly with its REST layer where needed. The expensive mistake is not picking the “wrong” one once; it is spending months rebuilding the other framework’s strengths inside your choice. #### Why I built Sonobe on FastAPI After enough FastAPI projects, the same friction kept appearing. Features wanted to be added without reaching into the core of the application. Modules wanted clearer boundaries than “one growing folder of routers”. So I built [Sonobe](https://www.amirghamari.ir/projects/sonobe) on top of FastAPI: a modular, decoupled core where custom features are packaged as plug-and-play extensions instead of edits to shared code. It is the same instinct I later took to the frontend with [Yoshi](https://www.amirghamari.ir/projects/yoshi) — boundaries first, convenience second, because boundaries are what still exist after the convenience wears off. Building a framework on a framework sounds indulgent until you price the alternative. Every serious codebase grows an internal framework anyway — conventions, helpers, module patterns — it just usually grows it accidentally, undocumented, in the spaces between features. Sonobe is that layer made deliberate: named, structured, and reusable across projects instead of reinvented inside each one. The framework is built; its source is not public yet, and I plan to open-source it. #### Documentation for humans and agents One design decision in Sonobe matters more every year: it generates documentation for people and for development agents — human-readable docs, agent skills, and [MCP](https://www.amirghamari.ir/stacks#mcp) support. This sounds like a feature list until you watch how software is actually built now. Agents read your codebase. If the only accurate description of your system lives in a senior developer’s head, both the new hire and the agent are guessing. FastAPI’s typed contracts turn out to be an excellent base for this, because machine-readable truth already exists in the models. My [developer tooling work](https://www.amirghamari.ir/skills#developer-tooling) keeps circling the same idea from different sides: the systems that age well are the ones whose structure can be explained — to a teammate, to a future maintainer, or to an agent about to modify them. [PromptForge](https://www.amirghamari.ir/projects/prompt-forge) approaches it from the brief; Sonobe from the framework itself. #### Choosing a Python framework today If you are choosing today, I would decide in this order. First, is the product an API or an application? Second, who consumes it — your own frontend, third parties, agents? Third, how much of Django’s battery pack would you otherwise rebuild by hand? Answer those honestly and the framework mostly chooses itself. What I would not do is choose by benchmark screenshots; none of my production pain has ever come from the framework’s requests-per-second ceiling. For my own work the map is stable now: FastAPI for contract-first services and as Sonobe’s foundation, Django when the application needs its batteries, [Laravel](https://www.amirghamari.ir/writing/laravel-backend-lessons) when the project is PHP-shaped, and [Rust](https://www.amirghamari.ir/writing/rust-ai-agent-systems) when the system needs that grade of control. Frameworks are tools; the craft is knowing which problem you actually have. The adoption path I recommend to teams is gradual: start with one contained service — a document converter, a reporting endpoint, a small integration — put it behind the same authentication as the main system, and let the team get comfortable with its deploy, logging, and rollback story before giving it more responsibility. A framework choice is a maintenance choice: what matters is not only how fast the first version ships, but how calmly the tenth change lands — and FastAPI has consistently given me calm tenth changes. If yours is a Python API that needs building properly, [start from my résumé](https://www.amirghamari.ir/) and let’s talk. ### Shipping Real Platforms with SvelteKit, TypeScript, and PostgreSQL Most platforms I build at Kenvin — Cezve, Darmanjo, MKPower, Panah Ceram, CopyPasta, 118x — share one backbone: SvelteKit, TypeScript, Drizzle over PostgreSQL, deployed on Vercel. Here is why that stack won, and what production Persian-first products taught me. - Page: https://www.amirghamari.ir/writing/sveltekit-platforms-in-production - Published: 2026-10-23 - Technologies: SvelteKit, Svelte, TypeScript, Drizzle ORM, PostgreSQL, Tailwind CSS, Vercel, Vite #### One backbone behind most of my recent platforms Look at the platforms I have shipped recently at Kenvin and a pattern repeats. [Cezve](https://www.amirghamari.ir/projects/cezve) runs cafes end to end. [Darmanjo](https://www.amirghamari.ir/projects/darmanjo) runs a wound-care clinic. [MKPower](https://www.amirghamari.ir/projects/mkpower) sells engine parts by part number, [Panah Ceram](https://www.amirghamari.ir/projects/panahceram) is a fixtures catalog, [CopyPasta](https://www.amirghamari.ir/projects/copypasta) shares text and code, and [118x](https://www.amirghamari.ir/projects/118x) gives local businesses a page of their own. Different businesses, same backbone: [SvelteKit](https://www.amirghamari.ir/stacks#sveltekit) and [TypeScript](https://www.amirghamari.ir/stacks#typescript), a [PostgreSQL](https://www.amirghamari.ir/stacks#postgresql) data layer through [Drizzle ORM](https://www.amirghamari.ir/stacks#drizzle), Tailwind interfaces, deployed on [Vercel](https://www.amirghamari.ir/stacks#vercel). This article is why that stack earned the repetition. A shared backbone is a deliberate trade. I give up per-project novelty and gain something more valuable for a small studio: every hard lesson — auth, uploads, rate limits, admin editing, Persian typography, deployment — is learned once and then inherited by the next product instead of re-bought at full price. #### Why SvelteKit fits product work Product work is mostly forms, lists, permissions, files, and money. SvelteKit’s model maps to that reality cleanly: server-rendered pages by default, form actions and load functions close to the route they serve, and TypeScript types flowing from the database schema to the component without a hand-written API layer in between. The result is one codebase where the distance between “the cafe owner needs X” and shipped X stays short — which, for [the kind of platforms I build](https://www.amirghamari.ir/skills#web-interfaces), matters more than any framework benchmark. Svelte itself helps by staying out of the way. Components read like the HTML they produce, reactivity is explicit, and the compiled output keeps pages light for users on ordinary phones and ordinary connections — which describes most of the people scanning a cafe’s QR code or checking a part price from a workshop. #### Drizzle and PostgreSQL: boring in the best way Underneath, these platforms sit on PostgreSQL with Drizzle as the query and schema layer. I have written before about [respecting the database](https://www.amirghamari.ir/writing/laravel-backend-lessons); Drizzle suits that mindset because the SQL stays visible. Queries look like what they execute, schemas are TypeScript, and when a page is slow I can reason about the actual query instead of decoding ORM behaviour. Where the deployment shape calls for it, that PostgreSQL runs on [Neon](https://www.amirghamari.ir/stacks#neon) — MKPower and Panah Ceram do — without changing how the code reads. The honest summary of my database philosophy after [Jajiga](https://www.amirghamari.ir/projects/jajiga) and these platforms: pick the relational database, model the data plainly, index what the product actually queries, and keep one obvious place where queries live. Exotic data layers are a tax every future feature pays. #### Persian-first products and real users Most of these platforms are Persian-first and right-to-left, and that is an engineering constraint, not a coat of paint. Cezve’s panel is Persian and RTL end to end because cafe staff work in Persian; Darmanjo combines Persian content with Paraglide-powered multilingual structure; MKPower has to make a part number findable by a mechanic who types it from a workshop note. Numbers, dates, money, search behaviour, even which side a table’s QR code flow starts from — language reaches all of it. Building this way changed my defaults. I treat Persian typography (Vazirmatn everywhere), Jalali-aware presentation, and mixed-direction content — a Latin part number inside a Persian sentence — as day-one concerns. Retrofitting RTL onto a finished product is five times the work of designing with it, and users can always tell which one you did. #### The details that compound A backbone is also where small decisions compound. Uploads go to S3-compatible storage with presigned URLs instead of through the app server. Admins edit content in Tiptap instead of me hand-editing database rows. MKPower uses tRPC and Upstash-backed rate limiting where its catalog traffic justifies it; CopyPasta deliberately uses almost nothing beyond SvelteKit and Postgres because the product is a single sharp tool. Same backbone, different weight per product — the stack bends without breaking. Deployment compounds too. One adapter, one hosting shape, preview deployments per branch, and the same operational instincts across six products. When something misbehaves at 9 p.m. in one platform, I have usually already met that class of problem in another. That familiarity is an operational feature no framework comparison table will ever show you. Performance and discovery matter to these businesses in the same practical way. Public pages — a clinic’s services, a catalog of sanitary ware, a local business’s page on 118x — must render fast and read clearly to search engines and answer engines, so server rendering and prerendering are defaults, with client-side richness added where the product actually needs it: the cafe’s live panel, the parts search, the paste viewer. On this very site that discipline goes furthest: every page is prerendered, both languages, with structured data and plain-text editions generated from the same content. Speed is rarely about heroic optimization; it is about not shipping weight the page never needed, and about measuring on the kind of phone and connection the actual customer holds rather than the machine on my desk. #### What I watch out for No stack is free. SvelteKit’s ecosystem is younger than React’s, so some integrations are build-it-yourself territory — my [Yoshi](https://www.amirghamari.ir/projects/yoshi) framework work on SvelteKit exists partly to smooth exactly those edges. Serverless deployment punishes chatty database access, so query discipline matters from the first feature. And a shared backbone only pays off if you resist forking it per project until the “shared” part is theoretical. Even with those costs named, this is the stack I would choose again for product platforms today, because it has carried six of them — plus [this website](https://www.amirghamari.ir/projects/portfolio) — from brief to production with the same small set of ideas. If you are planning a platform and want it built on something proven rather than fashionable, [my résumé](https://www.amirghamari.ir/) is the place to start. ### Why Rust Fits Provider-Agnostic AI Agent Systems I worked in Rust on a private, provider-agnostic AI agent with a multi-layer architecture, and I am building the Electron assistant Arlene around the same ideas. This is how I think about agent systems: providers behind interfaces, honest layers, and control where it counts. - Page: https://www.amirghamari.ir/writing/rust-ai-agent-systems - Published: 2026-10-23 - Technologies: Rust, Electron, Model Context Protocol (MCP), REST APIs, TypeScript #### Agents are systems, not prompts Most “AI agent” demos are a prompt, a loop, and hope. A system someone depends on is a different animal: it has to call tools safely, survive a provider outage, keep behaviour predictable when a model changes, and be debugged by someone who was not in the room when it misbehaved. I learned this from two directions at once — working in [Rust](https://www.amirghamari.ir/stacks#rust) on a [private, provider-agnostic agent system](https://www.amirghamari.ir/projects/rust-ai-agent) for a third-party company, and building [Arlene](https://www.amirghamari.ir/projects/arlene), my own cross-platform AI assistant. Different products, same conclusion: the model is a component, and the engineering is everything around it. That framing changes the questions you ask. Not “which model is smartest this week?” but “what happens when this provider is down, deprecated, or suddenly expensive? What may this agent touch, and what proves it stayed in bounds? Which parts must be deterministic even though the model is not?” [Agent systems](https://www.amirghamari.ir/skills#ai-agent-systems) are backend systems with a probabilistic core, and they deserve backend rigour. #### Provider-agnostic from day one The Rust system I worked on was provider-agnostic by design: every model provider sits behind one interface, so swapping or adding a provider is a contained change instead of a rewrite. This is not abstraction for its own sake. Providers change pricing, rate limits, terms, and quality on their schedule, not yours. A system welded to one vendor’s SDK inherits all of that as unplanned roadmap. Arlene follows the same rule from the user’s side: local models and cloud providers appear through one consistent surface, so a pipeline a user designs today still runs when they change their mind about models tomorrow. Provider independence is partly a business hedge and partly an engineering one — it forces you to define what your system actually needs from a model, in your own types, instead of leaking one vendor’s vocabulary through every layer. #### Layers with honest boundaries The Rust agent’s architecture is deliberately multi-layered. In my experience the useful separation looks like this: a provider layer that only knows how to talk to models; an orchestration layer that owns the agent loop, state, and policy; a tools layer where each capability is explicit and permissioned; and the outer interfaces — API, CLI, UI — that real consumers touch. Each layer can be tested without the others, which matters enormously when one ingredient in the system is a model whose answers vary. Honest boundaries are also a security posture, and [security is where I start](https://www.amirghamari.ir/skills#application-security) rather than where I finish. An agent that can call tools is an agent that can be talked into calling the wrong ones. Keeping tools behind a narrow, typed, permissioned layer — instead of letting model output wander into stringly-typed execution — is the difference between an agent you can audit and one you merely hope about. The same instinct is why [Sonobe](https://www.amirghamari.ir/projects/sonobe) generates agent-facing documentation and [MCP](https://www.amirghamari.ir/stacks#mcp) support: agents work better inside systems that explain their own rules. #### Why Rust, specifically Rust earns its complexity in agent infrastructure for three concrete reasons. First, predictable performance: an orchestrator juggling many concurrent model calls, streams, and tool executions should not add its own latency surprises or memory drama to an already variable system. Second, the type system: when provider messages, tool arguments, and agent state are distinct types, whole categories of “the model returned something odd and it flowed everywhere” simply do not compile. Third, concurrency you can reason about — ownership makes shared state an explicit decision, which is exactly what you want when parallel agent steps touch the same context. None of that makes Rust the right choice for every agent-shaped thing. A prototype, a thin wrapper, an experiment you will throw away — Python will get you there faster, and I [use Python for agent-adjacent work](https://www.amirghamari.ir/writing/fastapi-python-apis) too. Rust is for the layer that has to keep behaving while everything around it — models, providers, prompts — keeps changing. That is precisely the layer a serious agent product lives or dies on. #### The same thinking on the desktop: Arlene [Arlene](https://www.amirghamari.ir/projects/arlene) is where these ideas meet a single user instead of a platform. It is a cross-platform [Electron](https://www.amirghamari.ir/stacks#electron) assistant with a drag-and-drop pipeline designer in the spirit of n8n: agents and tools become visible, rearrangeable parts instead of hidden prompt chains. Built-in harnesses cover common task shapes, and self-learning and self-improvement features let it refine its own behaviour over time. The desktop changes the constraints but not the principles. Pipelines still need provider independence (a local model on a train, a cloud model at the desk). Tools still need explicit permissions — more so, because now they run on the user’s own machine. And customizability has to be structural, not a settings page: if users cannot reshape how the assistant works, it remains my assistant that they merely operate. I am building Arlene to open-source it later; the architecture has to survive other people reading it, which is the best design pressure I know. #### What I would tell a team starting now Start by drawing the boundaries, not by picking the model. Decide what a provider owes you, in your types. Decide what tools exist and who may call them. Decide which parts of the system are deterministic and testable without a model in the loop — then keep the model inside that frame instead of letting it become the frame. Choose the implementation language for the layer that must not wobble; for me, increasingly, that answer is Rust. Agent systems will keep changing underneath us — models, protocols, prices. The systems still standing in three years will be the ones whose architecture assumed that from the first commit. If you are building one and want that kind of foundation, or an assistant of your own shaped like Arlene, [start from my résumé](https://www.amirghamari.ir/) and let’s talk. ## My work experience Source: https://www.amirghamari.ir/ ### Founder & Lead — Kenvin - Website: https://www.kenvin.ir/ - Current role. - I founded Kenvin and lead the studio’s work, with security, performance, and maintainability at the heart of how we build software. - I work across web, mobile, and Windows/Linux software, using FastAPI, SvelteKit, Django, Laravel, PHP, and Python professionally. - My recent work published under Kenvin includes Darmanjo’s clinic platform, the Cezve cafe-management system, the Norasys and 118x platforms, professional websites, Sharzhsho, and QRify. - Technologies: FastAPI, SvelteKit, Django, Laravel, PHP, Python, OWASP, Windows, Linux, Svelte, TypeScript, PostgreSQL, Drizzle ORM, Redis, Tailwind CSS, daisyUI, Paraglide JS, Tiptap, S3-compatible storage, Vite, Vercel, Three.js, React, Zod, Fastify, Node.js, Astro, JavaScript, Neon, tRPC, shadcn-svelte, ESP32, ESP-IDF, C (embedded) - Skills: Founding & technical leadership, Backend & API development, Web application development, Mobile application development, Cross-platform desktop software, Security-first development, Embedded systems & IoT - Projects: Darmanjo — Wound Care Clinic Platform (https://www.amirghamari.ir/projects/darmanjo), Mehrnoosh Atef Moghadam (https://www.amirghamari.ir/projects#mehrnoosh-atef), Dr. Mostafa Saeidinia (https://www.amirghamari.ir/projects#mostafa-saeidinia), Dr. Bahareh Khedmatkar (https://www.amirghamari.ir/projects#bahareh-khedmatkar), Moein Sherafatmand (https://www.amirghamari.ir/projects#moein-sherafatmand), Milad Rezanejad (https://www.amirghamari.ir/projects#milad-rezanejad), Sharzhsho — Top-up & Bills (https://www.amirghamari.ir/projects#sharzhsho), QRify — QR & Barcode Builder (https://www.amirghamari.ir/projects#qrify), Norasys — Solar, Backup Power & Smart Home (https://www.amirghamari.ir/projects/norasys), MKPower — Deutz Engine Parts (https://www.amirghamari.ir/projects/mkpower), CopyPasta — Text & Code Sharing (https://www.amirghamari.ir/projects/copypasta), Cezve — Cafe Management Platform (https://www.amirghamari.ir/projects/cezve), Panah Ceram — Bathroom & Kitchen Fixtures (https://www.amirghamari.ir/projects/panahceram), 118x — Local Business Pages (https://www.amirghamari.ir/projects/118x), Roomano (https://www.amirghamari.ir/projects#roomano), Darmanjo NPWT Devices — ESP32 Wound-Therapy Hardware (https://www.amirghamari.ir/projects/darmanjo-npwt-device) ### Independent Software Developer & Instructor — Independent work - Location: Remote - I build websites, web and mobile applications, and software for Windows and Linux, working professionally with FastAPI, SvelteKit, Django, Laravel, PHP, and Python. - I teach programming courses and hands-on sessions, helping learners turn concepts into working projects. - I develop open-source tools, including Vellum and PromptForge, and have built Sonobe and Yoshi with future open-source releases in mind. - Technologies: PHP, Python, FastAPI, Django, Laravel, SvelteKit, WordPress, REST APIs, Windows, Linux, OWASP, Next.js, React, TypeScript, PostgreSQL, Neon, Drizzle ORM, Tailwind CSS, Node.js, Git, Vite, Framer Motion, Serverless, Zod, DOMPurify, Model Context Protocol (MCP), Svelte, Paraglide JS, shadcn-svelte, Electron, JavaScript - Skills: Backend & API development, Web application development, Mobile application development, Cross-platform desktop software, Courses & programming instruction, Security-first development, Framework & plugin architecture, Tools for developers & agents, AI agent systems - Projects: Vellum — Team & Project Management (https://www.amirghamari.ir/projects/vellum), PromptForge — Ideas into Agent Prompts (https://www.amirghamari.ir/projects/prompt-forge), Sonobe Framework (https://www.amirghamari.ir/projects/sonobe), Yoshi Framework (https://www.amirghamari.ir/projects/yoshi), Arlene — Cross-Platform AI Assistant (https://www.amirghamari.ir/projects/arlene) ### Senior Backend Developer — Jajiga - Location: Lahijan, Iran - I rewrote Jajiga’s core search functionality as an independent Laravel microservice. - By optimizing queries and the backend, I helped increase capacity from about 3,000 to more than 50,000 concurrent users. - I worked closely with the frontend and DevOps teams to make the platform more stable as traffic grew. - Technologies: DevOps, PHP, Laravel, MySQL, Redis, Docker, REST APIs, Git, CI/CD, Linux - Skills: Backend & API development, Microservice architecture, Backend & database performance, Deployment & operations - Projects: Jajiga — Accommodation Booking Platform (https://www.amirghamari.ir/projects/jajiga) ### Freelance Web & IoT Developer — Freelancer.com - Location: Remote - I worked on Laravel and WordPress projects, wrote custom plugins, and connected applications to external APIs. - Alongside web development, I designed microcontroller-based electronics and IoT hardware — including complete smart-home kits — and wrote the firmware myself, connecting devices over MQTT and custom wireless nodes. - That work continues today in connected devices such as the ESP32-based NPWT units I design for Darmanjo. - Technologies: PHP, Laravel, WordPress, REST APIs, MQTT, C (embedded), Arduino, ESP-IDF, ESP32 - Skills: Backend & API development, WordPress & custom websites, Embedded systems & IoT - Projects: Norasys Smart Home Kit — Security & Automation Hardware (https://www.amirghamari.ir/projects/norasys-smart-home-kit) ### Junior Backend Developer — Tesmino - Location: Rasht, Iran - I developed and maintained backend APIs with Laravel. - I built a document converter with headless LibreOffice and Unoconv to convert between HTML/Blade templates and PDF/DOCX files, with support for Persian text. - I used design patterns and clean code principles to keep the Laravel codebase easier to understand and maintain. - Technologies: PHP, Laravel, MySQL, Redis, Docker, DevOps, REST APIs, Git, CI/CD, Linux, Server management, LibreOffice, Unoconv, Blade, HTML - Skills: Backend & API development, Backend & database performance, Document processing, Deployment & operations - Projects: Tesmino — PR & Backlink Platform (https://www.amirghamari.ir/projects/tesmino) ### Freelance Web Developer — Ponisha - Location: Remote - Period: 2015-05 – present - I built custom PHP and WordPress websites for clients on Ponisha. - I developed lightweight content-management systems and business tools on the LAMP stack, shaped around each client’s needs. - Working directly with clients helped me become a better backend developer and communicate technical decisions more clearly. - Technologies: PHP, WordPress, Linux, Apache HTTP Server, MySQL - Skills: Backend & API development, WordPress & custom websites ## My tools Source: https://www.amirghamari.ir/stacks - PHP: PHP is one of my professional working languages. I build backend services and web applications with it, including Laravel and WordPress projects. (https://www.amirghamari.ir/stacks#php) · Documentation: https://www.php.net/docs.php - JavaScript: I use JavaScript to add browser interactions and build web applications with Svelte. (https://www.amirghamari.ir/stacks#javascript) · Documentation: https://developer.mozilla.org/en-US/docs/Web/JavaScript - TypeScript: TypeScript is the language of most of my current work: the Kenvin platforms (Cezve, Darmanjo, MKPower, Panah Ceram, CopyPasta, 118x), Norasys, Vellum, PromptForge, SpyCreed, and this website. (https://www.amirghamari.ir/stacks#typescript) · Documentation: https://www.typescriptlang.org/docs/ - Python: Python is a core part of my professional work. I build APIs and applications with FastAPI and Django, develop frameworks, and teach programming. (https://www.amirghamari.ir/stacks#python) · Documentation: https://docs.python.org/3/ - Rust: I write Rust professionally. I worked on a private, provider-agnostic AI agent system for a third-party company, built around a multi-layer architecture. (https://www.amirghamari.ir/stacks#rust) · Documentation: https://doc.rust-lang.org/book/ - C (embedded): I write the firmware for my own embedded work in C, from ESP32 devices with ESP-IDF to small ATtiny and PIC microcontrollers in custom boards. (https://www.amirghamari.ir/stacks#c) · Documentation: https://en.cppreference.com/w/c/language - HTML: I use HTML to structure web pages and worked with HTML templates in Tesmino’s document converter. (https://www.amirghamari.ir/stacks#html) · Documentation: https://developer.mozilla.org/en-US/docs/Web/HTML - CSS: I use CSS to style web interfaces and adapt them to different screen sizes. (https://www.amirghamari.ir/stacks#css) · Documentation: https://developer.mozilla.org/en-US/docs/Web/CSS - Laravel: I use Laravel professionally to build APIs, web applications, and backend services. My work includes a search microservice and document-processing tools. (https://www.amirghamari.ir/stacks#laravel) · Documentation: https://laravel.com/docs - WordPress: I’ve built client websites with WordPress, written custom plugins, and connected them to external APIs. (https://www.amirghamari.ir/stacks#wordpress) · Documentation: https://developer.wordpress.org/ - Svelte: Svelte is behind most interfaces I ship today: the Kenvin platforms, SpyCreed, Yoshi, and this website. (https://www.amirghamari.ir/stacks#svelte) · Documentation: https://svelte.dev/docs/svelte/overview - SvelteKit: I use SvelteKit professionally as the main framework for the platforms I build at Kenvin — Cezve, Darmanjo, MKPower, Panah Ceram, CopyPasta, and 118x — as well as Yoshi and this bilingual website. (https://www.amirghamari.ir/stacks#sveltekit) · Documentation: https://svelte.dev/docs/kit/introduction - Django: Django is one of my professional backend frameworks. I use it to build web applications and APIs, alongside my work with FastAPI and Laravel. (https://www.amirghamari.ir/stacks#django) · Documentation: https://docs.djangoproject.com/ - Electron: I build cross-platform desktop software with Electron. My current project is Arlene, a customizable AI assistant with a visual agent-pipeline designer for Windows, Linux, and macOS. (https://www.amirghamari.ir/stacks#electron) · Documentation: https://www.electronjs.org/docs/latest - ESP-IDF: I develop ESP32 firmware with Espressif’s ESP-IDF, writing the C code myself — including the sensing and control work in the NPWT devices I design for Darmanjo. (https://www.amirghamari.ir/stacks#esp-idf) · Documentation: https://docs.espressif.com/projects/esp-idf/en/stable/esp32/ - Arduino: I use the Arduino ecosystem for prototyping and small controllers, and move to bare ESP-IDF or small ATtiny/PIC parts when a design needs tighter control or lower cost. (https://www.amirghamari.ir/stacks#arduino) · Documentation: https://docs.arduino.cc/ - Paraglide JS: I use Paraglide JS for typed, compiled translations in Darmanjo and in Yoshi, so multilingual interfaces stay fast and type-safe. (https://www.amirghamari.ir/stacks#paraglide) · Documentation: https://inlang.com/m/gerre34r/library-inlang-paraglideJs - shadcn-svelte: I build interfaces with shadcn-svelte (on Bits UI primitives) in MKPower and Yoshi, keeping components accessible and easy to restyle. (https://www.amirghamari.ir/stacks#shadcn-svelte) · Documentation: https://www.shadcn-svelte.com/docs - Tailwind CSS: Tailwind CSS styles nearly everything I ship now: the Kenvin platforms, Norasys, SpyCreed, Vellum, PromptForge, and this website. (https://www.amirghamari.ir/stacks#tailwindcss) · Documentation: https://tailwindcss.com/docs - daisyUI: I use daisyUI alongside Tailwind CSS for components and theming in Darmanjo, CopyPasta, the Mehrnoosh Atef, Dr. Bahareh Khedmatkar, and Dr. Mostafa Saeidinia websites, and this website. (https://www.amirghamari.ir/stacks#daisyui) · Documentation: https://daisyui.com/docs/ - Astro: I migrated QRify to Astro for its second version, keeping its React code-generator components as islands in a mostly static site. (https://www.amirghamari.ir/stacks#astro) · Documentation: https://docs.astro.build/ - Three.js: I used Three.js for the 3D work on Moein Sherafatmand’s solar-energy and smart-home services website. (https://www.amirghamari.ir/stacks#threejs) · Documentation: https://threejs.org/docs/ - Blade: I worked with Blade templates in the Persian-compatible document converter I built at Tesmino. (https://www.amirghamari.ir/stacks#blade) · Documentation: https://laravel.com/docs/blade - MySQL: I’ve used MySQL in Laravel and LAMP projects, including query optimization work at Jajiga. (https://www.amirghamari.ir/stacks#mysql) · Documentation: https://dev.mysql.com/doc/ - Redis: Redis has been part of my backend stacks at Tesmino and Jajiga, and I use it today in Darmanjo and for rate limiting in MKPower (Upstash). (https://www.amirghamari.ir/stacks#redis) · Documentation: https://redis.io/docs/latest/ - PostgreSQL: PostgreSQL is the database behind most of my current platforms: Cezve, Darmanjo, MKPower, Panah Ceram, CopyPasta, Vellum, PromptForge, and SpyCreed. MKPower and Panah Ceram run it on Neon. (https://www.amirghamari.ir/stacks#postgresql) · Documentation: https://www.postgresql.org/docs/ - Neon: I run PostgreSQL on Neon where a serverless database fits the deployment: MKPower, Panah Ceram, SpyCreed, Vellum, and PromptForge. (https://www.amirghamari.ir/stacks#neon) · Documentation: https://neon.com/docs - S3-compatible storage: I store uploads and generated files in S3-compatible object storage (with presigned URLs) in Darmanjo, Cezve, MKPower, and Panah Ceram. (https://www.amirghamari.ir/stacks#s3-storage) · Documentation: https://docs.aws.amazon.com/AmazonS3/latest/userguide/presigned-urls.html - Node.js: Node.js runs underneath my SvelteKit and React platforms, my Electron desktop work, and the tooling around all of them. (https://www.amirghamari.ir/stacks#nodejs) · Documentation: https://nodejs.org/en/docs - Vercel: Most of my SvelteKit platforms — Cezve, Darmanjo, MKPower, Panah Ceram, CopyPasta, 118x — deploy on Vercel, as do SpyCreed and this website. (https://www.amirghamari.ir/stacks#vercel) · Documentation: https://vercel.com/docs - ESP32: The ESP32 is my main connected microcontroller. I design around it in the NPWT wound-therapy devices I build for Darmanjo, together with pressure sensors and custom boards. (https://www.amirghamari.ir/stacks#esp32) · Documentation: https://www.espressif.com/en/products/socs/esp32 - Linux: I build software for Linux and work with it in backend and deployment environments, including my earlier LAMP, Tesmino, and Jajiga projects. (https://www.amirghamari.ir/stacks#linux) · Documentation: https://www.kernel.org/doc/html/latest/ - Apache HTTP Server: I used Apache as the web server in my early LAMP-based freelance projects. (https://www.amirghamari.ir/stacks#apache) · Documentation: https://httpd.apache.org/docs/ - Docker: I worked with Docker in the backend stacks at Tesmino and Jajiga. (https://www.amirghamari.ir/stacks#docker) · Documentation: https://docs.docker.com/ - Git: I use Git to track code changes in my projects, including this website and my backend work. (https://www.amirghamari.ir/stacks#git) · Documentation: https://git-scm.com/doc - Tiptap: I use Tiptap as the rich-text editor in the admin panels of Darmanjo, Cezve, MKPower, and Panah Ceram. (https://www.amirghamari.ir/stacks#tiptap) · Documentation: https://tiptap.dev/docs - tRPC: In MKPower I use tRPC for end-to-end type-safe API calls between the SvelteKit frontend and its server. (https://www.amirghamari.ir/stacks#trpc) · Documentation: https://trpc.io/docs - LibreOffice: I used headless LibreOffice in Tesmino’s document converter to work with Persian PDF and DOCX files. (https://www.amirghamari.ir/stacks#libreoffice) · Documentation: https://help.libreoffice.org/ - Unoconv: I paired Unoconv with LibreOffice to build Tesmino’s document-conversion workflow. (https://www.amirghamari.ir/stacks#unoconv) · Documentation: https://github.com/unoconv/unoconv - Vite: Vite powers development and builds across my SvelteKit platforms, the React-based Norasys site, PromptForge, and this website. (https://www.amirghamari.ir/stacks#vite) · Documentation: https://vite.dev/guide/ - ESLint: I use ESLint to check the JavaScript, TypeScript, and Svelte code in this website. (https://www.amirghamari.ir/stacks#eslint) · Documentation: https://eslint.org/docs/latest/ - Prettier: I use Prettier to keep the formatting consistent across this website’s code. (https://www.amirghamari.ir/stacks#prettier) · Documentation: https://prettier.io/docs/ - MQTT: MQTT is the messaging protocol in the smart-home kits I built for Norasys; the devices, boards, and firmware around it are my own design. (https://www.amirghamari.ir/stacks#mqtt) · Documentation: https://mqtt.org/ - REST APIs: I build and integrate REST APIs in my Laravel and freelance projects. (https://www.amirghamari.ir/stacks#rest-api) · Documentation: https://developer.mozilla.org/en-US/docs/Glossary/REST - CI/CD: I’ve worked with CI/CD in the Tesmino, Jajiga, and SpyCreed projects. (https://www.amirghamari.ir/stacks#ci-cd) · Documentation: https://www.redhat.com/en/topics/devops/what-is-ci-cd - Serverless: I used a serverless architecture to deploy the online SpyCreed game on Vercel. (https://www.amirghamari.ir/stacks#serverless) · Documentation: https://vercel.com/docs/functions - DevOps: I worked with DevOps tooling at Tesmino and collaborated with the DevOps team at Jajiga. (https://www.amirghamari.ir/stacks#devops) · Documentation: https://www.redhat.com/en/topics/devops - Server management: Server management was also part of my work on Tesmino’s backend. (https://www.amirghamari.ir/stacks#server-management) · Documentation: https://ubuntu.com/server/docs - OWASP: Security is how I begin thinking about a system, not a final checklist. OWASP is part of my everyday approach to architecture and development. (https://www.amirghamari.ir/stacks#owasp) · Documentation: https://owasp.org/www-project-top-ten/ - Fastify: I used Fastify on Node.js for Sharzhsho’s server side, behind its mobile top-up and bill-payment interface. (https://www.amirghamari.ir/stacks#fastify) · Documentation: https://fastify.dev/docs/latest/ - FastAPI: I use FastAPI professionally for API development. I also built Sonobe on top of it for modular, extensible backend applications. (https://www.amirghamari.ir/stacks#fastapi) · Documentation: https://fastapi.tiangolo.com/ - React: I use React in Norasys (with a custom Vite SSR/prerender setup), in QRify and Sharzhsho, and in my open-source projects Vellum and PromptForge. (https://www.amirghamari.ir/stacks#react) · Documentation: https://react.dev/ - Next.js: I built Vellum with Next.js and React, bringing project and task management into one web application. (https://www.amirghamari.ir/stacks#nextjs) · Documentation: https://nextjs.org/docs - Drizzle ORM: Drizzle ORM is my data layer across the current SvelteKit platforms — Cezve, Darmanjo, MKPower, Panah Ceram — and in Vellum, always over PostgreSQL. (https://www.amirghamari.ir/stacks#drizzle) · Documentation: https://orm.drizzle.team/docs/overview - Zod: I validate data at the boundary with Zod in Cezve, MKPower, and PromptForge. (https://www.amirghamari.ir/stacks#zod) · Documentation: https://zod.dev/ - DOMPurify: I use DOMPurify for content sanitization in PromptForge. (https://www.amirghamari.ir/stacks#dompurify) · Documentation: https://github.com/cure53/DOMPurify - Framer Motion: I use Framer Motion for interface motion in PromptForge. (https://www.amirghamari.ir/stacks#framer-motion) · Documentation: https://motion.dev/docs/react - Windows: Windows is one of the desktop platforms I build for, including the cross-platform Electron assistant Arlene. (https://www.amirghamari.ir/stacks#windows) · Documentation: https://learn.microsoft.com/windows/apps/ - Model Context Protocol (MCP): MCP is part of Sonobe’s support for developer agents, alongside human-readable documentation and agent skills. (https://www.amirghamari.ir/stacks#mcp) · Documentation: https://modelcontextprotocol.io/docs/getting-started/intro ## Optional - [Concise reading guide](https://www.amirghamari.ir/llms.txt) - [Full text in the other language](https://www.amirghamari.ir/fa/llms-full.txt) - [XML sitemap](https://www.amirghamari.ir/sitemap.xml) - [Robots policy](https://www.amirghamari.ir/robots.txt)