Skip to content

Pooya Golchian ships agentic AI into production.

Pooya Golchian is an AI Transformation Lead in Dubai. He builds the harness that decides whether an agent's work is safe to ship.

He has shipped software since 2009, the last three years in production AI. Read the background on About Pooya Golchian, or run the free 14-point agent readiness checklist.

About Pooya Golchian

Common questions about Pooya's work, AI services, and how to start a project together.

  • Pooya Golchian is an AI Transformation Lead and AI Product Engineer in Dubai, UAE. He has shipped software since 2009, the last three years in production AI. His work spans agent harness design, MCP servers, coding-agent workflows, RAG and context engineering, and LLM eval suites. He also runs self-hosted open-weight models and ships agentic AI inside Next.js and Node.js stacks. He publishes SpecForge, an open-source method for building software the agentic way.

  • Pooya Golchian builds production AI agents, the harnesses around them, and full-stack systems in Python, TypeScript, Go or Java. His AI work covers agent systems, MCP servers, RAG and evals. The harness adds scoped tool access, guardrails, and deployment on self-hosted infrastructure under PDPL and DIFC. He works with Claude, GPT, Gemini, Llama and Mistral.

  • Pooya Golchian builds the harness because it decides whether an agent survives production. The harness scopes tool access through MCP servers and gives the agent a spec to work from, not a prompt to improvise against. An eval suite checks every change against a golden dataset of known-good answers. Cost and rate guardrails apply per role, and your security team can read the audit log. The models are commodity in 2026. Claude, GPT and Gemini all write competent code. Open-weight models like Llama, Mistral and Qwen run on self-hosted hardware when PDPL or DIFC residency rules require it. The harness and the evals separate a working system from a stalled pilot. So do the engineers who own both.

AI Engineering Blog

Working notes from shipping agentic AI into production. Agent systems, MCP servers, RAG that cites its sources, and evals that catch drift before your customers do. Also the AIDLC method I use to get agent work past the pilot.

Open the blog

9 open source projects I maintain.

6 ship on npm. The rest install as a Claude Code plugin or clone from GitHub. Every one has docs and an MIT or ISC license.

SpecForge

Spec-driven AI development lifecycle with hook-enforced approval gates

00

Blocks Claude Code from editing until a human approves the spec and plan.

  • Fuses GitHub Spec Kit's executable specs with AWS AI-DLC governance
  • Approval gates enforced by Claude Code PreToolUse hooks, a technical barrier, not advice
  • Ralph autonomous loop runs an approved plan without inventing new scope
  • Documents your existing code before you write the first spec
Claude CodeAI-DLCSpec KitAgent SkillsDeveloper ToolsGovernance

Business Directory Toolkit

TypeScript pipeline that turns a Google Maps crawl into a local directory

00

Crawl Google Maps into a browsable local directory. The Dubai run returned 15,246 businesses from 1,400 requests, with zero errors.

  • Tiles a city into neighbourhood centres, 44 of them for Dubai across 40 categories, because one Maps query stops at ~200 results
  • Every command that spends refuses to run without --yes, and --dry-run prints the credit bill first
  • Classifies 1,787 distinct category strings instead of 15,246 businesses, and a committed map resolves 1,250 of them for free
  • Takedowns enforced on the load path, so a rebuild from the archive cannot resurrect a removed listing
TypeScriptSearchApiGoogle MapsNext.jsAWS SSTDynamoDBProgrammatic SEOLocal SEO

RevOps AI

AI Sales CRM built on Notion with Gemini MCP

20

Gemini 2.5 Flash works your Notion sales pipeline, from pre-call briefings to deal updates.

  • Notion is the CRM database, so you own your data
  • Gemini 2.5 Flash autonomously chains 22 Notion MCP operations per request
  • Drag-and-drop Kanban pipeline synced to Notion in real-time via MCP
  • One-click AI lead scoring (0–100) with written reasoning, saved to Notion
AINotionMCPNext.jsGeminiCRMRevOps

use-local-llm

React hooks for streaming local LLM responses

01

Stream replies from a model on your own machine into a React app.

  • Browser-to-localhost streaming, no server or API routes
  • Multi-backend: Ollama, LM Studio, llama.cpp, OpenAI-compatible
  • Chat state with history, abort, clear and error handling
  • 2.8 KB gzipped, with zero runtime dependencies beyond React
ReactTypeScriptAILLMOllamaStreaming
$ pnpm add use-local-llm

vue-multiple-themes

Dynamic multi-theme support for Vue 2 & 3

71

Switchable themes for Vue apps, built on CSS variables, with a Tailwind plugin and no runtime dependencies beyond Vue.

  • Vue 2.7+ and Vue 3 via vue-demi
  • 7 preset themes (light, dark, sepia, ocean, forest, sunset, winter)
  • Dynamic theme generation from a single brand color
  • WCAG contrast utilities (lighten, darken, contrastRatio, autoContrast)
VueTypeScriptCSSThemesTailwindCSS
$ pnpm add vue-multiple-themes

vue-star-rate

Zero-dependency Vue 3.5+ star rating component

41

A TypeScript star rating that keyboard and screen reader users can operate, built to WCAG 2.2.

  • Half-star precision with visual half-fill support
  • Five size presets, xs to xl
  • Lucide, FontAwesome, or custom icon providers via slot/render fn
  • WCAG 2.2 (role=group, aria-pressed, aria-live counter)
VueTypeScriptAccessibilityRatingComponent
$ pnpm add vue-js-star-rating

dirham

UAE Dirham (U+20C3) for React, Web Components and fonts

51

Use the Unicode 18.0 Dirham symbol in any app, with UAE VAT math built in.

  • DirhamSymbol (inline SVG, SSR-compatible, 9 weights)
  • AnimatedDirhamPrice (60 fps count-up)
  • DirhamInput (masked, formatted currency input)
  • Web Components: <dirham-symbol>, <dirham-price>, <dirham-animated-price>, <dirham-input>
ReactTypeScriptUnicodeCurrencyFontUAEWeb ComponentsFintech
$ pnpm add dirham

riyal

Saudi Riyal (U+20C1) for React, Vue, Svelte, Web Components, font, cart math

30

Drop the Saudi Riyal symbol into any app, then price a cart with Saudi's 15% VAT already built in.

  • RiyalSymbol, RiyalIcon, RiyalPrice, AnimatedRiyalPrice, RiyalInput across React, Vue 3, Svelte 5
  • Masked SAR input that turns a pasted 'SAR 2,499.99', '⃁ 2,499.99' or '٢٤٩٩٫٩٩' into a clean number
  • riyal/cart (lineItem, cartTotal, formatLineItem) with proportional discount and shipping VAT
  • Saudi 15% VAT helpers (addVAT, removeVAT, getVAT, SAUDI_VAT_RATE)
ReactVueSvelteTypeScriptUnicodeCurrencySaudi ArabiaKSAWeb ComponentsFintech
$ pnpm add riyal

scss-helper

Modern SCSS/CSS utility toolkit filling Tailwind's gaps

10

SCSS utilities beside Tailwind, from golden-ratio layouts to animations, in 5.1 KB gzipped. Every class uses an sh- prefix.

  • 30+ CSS custom properties for colors, spacing & typography
  • 12-column CSS grid with responsive breakpoints and auto-fit layouts
  • Container queries with sh-cq and responsive column variants
  • Fluid clamp() typography with no breakpoints
SCSSCSSGridTypographyTailwindCSSDesign Tokens
$ pnpm add scss-helper

The open source page adds twelve months of npm download charts, running star and download totals, and the full SpecForge breakdown.

See live download counts

Questions about a post or the code? Get in touch.