Zouhair R.
Full-Stack AI Engineer | RAG, Agents, Evals | Python, Vue, React
I run AI agents in production every day on my own platform, with evals, tracing and guardrails behind them. I can do the same for yours: the agent, the RAG pipeline, the evals that prove it holds up, and the Vue, Nuxt or Next.js frontend people actually want to use. 7 years shipping web apps and SaaS products. Lead frontend on Certificates.dev, the official Vue and Nuxt certification platform. PROOF, NOT PROMISES • Majorit.ma — my own AI study platform for medical students in Morocco. Three LLM agents in production: one turns raw exam PDFs into schema-validated JSON (hours → minutes), one cites and highlights the exact source passage on every answer, one auto-tags and clusters the question bank. Full stack, still running it today. • Certificates.dev (Vue School) — built the exam and checkout flows thousands of developers use. Stable on exam days, no rollbacks. • Athlos (Gfinity PLC) — co-led the Vue 2 → Vue 3 rewrite of the admin panel for a platform used by millions of mobile gamers. Shipped incrementally, zero downtime, no feature freeze. WHAT I TAKE ON • RAG and AI chatbots that find the right content — hybrid search (Typesense, pgvector, Pinecone, Qdrant), chunking and reranking chosen against a test set. Retrieval measured on its own before the LLM touches it. • Documents → structured data — PDFs, invoices, contracts, exams into clean JSON, validated on the way in, human review for the edge cases. • AI agents and multi-step workflows — LangGraph, LangChain, OpenAI and Anthropic (Claude) APIs, tool calling, MCP, retries, human-in-the-loop. Every step traced, every failure re-runnable. • n8n, Make and custom automation — API integrations that connect your CRM, Notion, Stripe, Supabase and internal tools, with checks at each stage so a silent failure cannot reach a customer. • Evals before you ship — golden sets from real inputs, LLM-as-judge where it helps, regression tests that survive non-deterministic output. • Demo → production — I take the notebook, prototype or n8n flow and make it handle real traffic, bad input and cost limits. You get cost per request and where it goes. • Full-stack web and SaaS development — Vue 3, Nuxt, React, Next.js frontends with Laravel, FastAPI or Node backends, REST and GraphQL APIs, PostgreSQL, Supabase, Stripe. MVPs shipped in reviewable slices. • Vue 2 → Vue 3 and Nuxt 2 → 3 migrations — step by step, no feature freeze. HOW I WORK Small PRs you can review and undo. Numbers before and after. A clear no-answer state instead of a confident wrong one. I tell you when the model is the wrong tool. STACK Vue 3, Nuxt, React, Next.js, TypeScript, Tailwind CSS, Pinia · Laravel, PHP, FastAPI, Python, Node.js · LangChain, LangGraph, OpenAI API, Anthropic Claude API, prompt engineering, embeddings, vector databases (pgvector, Pinecone, Qdrant), Typesense · PostgreSQL, Supabase, Redis, Stripe · Playwright, Vitest, Cypress · n8n, Make · Docker, GitHub Actions, Cloudflare, Vercel. GOOD FIT IF YOU HAVE An AI feature stuck at demo stage, a RAG chatbot giving wrong or expensive answers, a pile of documents to turn into structured data, a workflow to automate, a SaaS MVP to build, or a Vue, Nuxt, Next.js or Laravel app that is slow or fragile. Send me the problem and one example input. I will reply with how I would measure it before I tell you how I would build it.
Earnings and projects
Last 6 months ÷ 6
Last 6 months: $4.5k
Billed in all: $7,273$7.3k
$2.2k in the last 6 months
Earnings, last 30 days
Skill rankings: Top 13% in Laravel
Ranked by MRR among everyone on Upwork with the skill.
- #179Nuxt.js1,349 freelancers · 🇲🇦 #2Top 13%🇲🇦#2 of 19
- #482Prompt Engineering2,859 freelancers · 🇲🇦 #6Top 17%🇲🇦#6 of 15
- #641Large Language Model2,726 freelancers · 🇲🇦 #2Top 24%🇲🇦#2 of 23
- #844LangChain3,821 freelancers · 🇲🇦 #5Top 22%🇲🇦#5 of 30
- #915Retrieval Augmented Generation3,618 freelancers · 🇲🇦 #9Top 25%🇲🇦#9 of 36
- #944FastAPI4,337 freelancers · 🇲🇦 #6Top 22%🇲🇦#6 of 42
- #1,019Automated Workflow5,123 freelancers · 🇲🇦 #7Top 20%🇲🇦#7 of 35
- #1,089Vue.js8,267 freelancers · 🇲🇦 #5Top 13%🇲🇦#5 of 58