# Ramin Rezaei > Senior frontend engineer building design systems, AI tooling and web apps, with Claude Code in the loop. I’m a Senior Software Engineer at Snapp!, a large ride-hailing and super-app company, with 5+ million active users. I have done frontend work with React for 8+ years, and for the last two years I have also built LLM agents and AI developer tooling that other engineers use every day. I use Claude Code across my toolkit to design and build frontend platforms and the AI tooling around them. - Website: https://raminrez.dev - Ask (scripted, from content.ts): https://raminrez.dev/ask - Projects: https://raminrez.dev/projects - Contact: https://raminrez.dev/contact - Colophon (how this site is built): https://raminrez.dev/colophon - Email: raminxrez@gmail.com - CV: https://raminrez.dev/ramin-rezaei-cv.pdf - github.com: https://github.com/raminrez - linkedin.com: https://www.linkedin.com/in/raminrez ## Design systems Component libraries and the contracts between apps, built for people and coding agents. - [Morphkit](https://raminrez.dev/design-systems/morphkit) (2026; for Snapp!; React Aria, Tailwind CSS v4, TanStack Table, Turborepo, Vitest, Storybook): The React component library I own for Snapp’s back-office apps: about 95 components on React Aria and Tailwind CSS v4, used by 30+ apps. v1 merged 99 packages into one, with a 39-transform codemod, and two MCP servers and a Claude Code plugin generated from the component source. - [hedwig guest-owned scroll contract](https://raminrez.dev/design-systems/hedwig-guest-owned-scroll-contract) (2026; for Snapp!; postMessage, Vue, React, TanStack Intent): The breaking 0.2.0 contract between Snapp’s back-office host shell and its iframe guest apps: guests own their scrolling. I migrated three guest apps to it and shipped a migration skill for coding agents inside the package. ## AI tooling Agents, CLIs and CI templates that other engineers use every day, with Claude Code in the loop. - [Athena](https://raminrez.dev/ai-tooling/athena) (2026; for Snapp!; Vercel AI SDK, eve, Vercel Sandbox, Workflow SDK, OKD, Grafana): A GitLab code-review agent that runs on every merge request. I rebuilt v2 myself as a self-hosted service with prompt-injection guards, a shell-less sandbox and behavior evals in CI. About 50 merge requests a week across 15 projects; a review that took 15-20 minutes now takes about 5. - [okd-doctor](https://raminrez.dev/ai-tooling/okd-doctor) (2026; for Snapp!; TypeScript, Kubernetes, OKD, Claude Code): A read-only preflight CLI with a local web UI that names a release blocker on Snapp’s OKD clusters before the push, instead of a misleading error after it. It fails closed, and a Claude Code skill tells an agent how to triage a failed release with it. - [ci-knight templates](https://raminrez.dev/ai-tooling/ci-knight-templates) (2026; for Snapp!; GitLab CI/CD, Helm, Changesets): Shared GitLab CI templates at Snapp. I wrote the script-runner template and the release workflow, migrated 3 apps onto ci-knight and wrote the migration guides. ## Web apps Products in React, Next.js and React Native, from back-office builders to passenger apps. - [raminrez.dev](https://raminrez.dev/web-apps/raminrez-dev) (2026; for Ramin Rezaei; Astro 7, React 19, TypeScript, Tailwind CSS v4, React Aria, Cloudflare Workers): This site: Astro 7 with React 19 islands, Tailwind CSS v4 and react-aria-components, on Cloudflare Workers via Alchemy. I built it with Claude Code in the loop, orchestrating while agents wrote the code. [Open project](/colophon) - [Invoker](https://raminrez.dev/web-apps/invoker) (2026; for Snapp!; Nx, Next.js 15, React 19, YAML): A low-code panel builder where back-office panels are described in YAML instead of new Vite projects. As a core maintainer I rebuilt the YAML editor, added multipage routing and fuzz-tested the template engine. Profiling cut one input’s re-render from about 400 ms to about 15 ms per keystroke. - [Passkeys in the Snapp passenger PWA](https://raminrez.dev/web-apps/passkeys-in-the-snapp-passenger-pwa) (2026; for Snapp!; WebAuthn, Passkeys (FIDO2), PWA): I owned the WebAuthn/Passkeys frontend integration in the passenger web app, as part of the team rolling passkeys out across Snapp apps. OTP requests dropped about 20%. - [Hadinoor web app rebuild](https://raminrez.dev/web-apps/hadinoor-web-app-rebuild) (2021; for Hadinoor; React, Remix, Tailwind CSS, Prisma, PostgreSQL): I rebuilt Hadinoor’s web app in React, Remix and Tailwind CSS, with Prisma and PostgreSQL. [Open project](https://hadinoor.iran.liara.run/) - [Surrex multilingual e-commerce](https://raminrez.dev/web-apps/surrex-multilingual-e-commerce) (2020; for Surrex ICT Services BV; Next.js, Apollo, GraphQL): Multilingual e-commerce for a Dutch company, remote. I moved it from Create React App to Next.js, with Apollo and GraphQL. - [Aranuma real-time features](https://raminrez.dev/web-apps/aranuma-real-time-features) (2019; for Aranuma; GraphQL, WebSockets): Real-time features built with GraphQL and WebSockets. - [ToseKara React Native apps](https://raminrez.dev/web-apps/tosekara-react-native-apps) (2017; for ToseKara; React Native, OpenStreetMap): React Native apps with OpenStreetMap.