Amer Alzubaidiعامر الزبيدي

AI Engineer · Backend Engineer

I build production generative AI products for Arabic speakers and the backend systems behind them: RAG and hybrid search, tool calling and multi agent LLM systems, Arabic OCR, and secure FastAPI and Node.js APIs, from architecture to release.

Portrait of Amer Alzubaidi
AI Engineer at Siyada Tech, Jeddah
Now
AI Engineer, Siyada Tech
Focus
LLMs, RAG and AI agents, Arabic OCR
Backend
Python, FastAPI, Node.js, MongoDB, PostgreSQL
Before
Backend Developer Intern, Ghelaf Almehan
Studied
B.Sc. Computer Science, King Abdulaziz University
01

Selected work

Products I built at Siyada Tech, and the game platform inside one of them.

Case 01Legal AISiyada TechDec 2025 to Jun 2026

Hukm

AI legal research for Saudi law professionals

A lawyer asks a question in Arabic and gets an answer grounded in real Saudi court rulings and regulations, with the ruling, volume and page it came from.

What I built

  • Hybrid vector and keyword search in Qdrant over 30,000+ Saudi court cases, 500+ regulations and 13 volumes of judicial rulings, with answers that cite the exact ruling, volume and page.
  • The first version on self hosted models on a GPU server: Qwen and Llama through Ollama, a custom Saudi law model, and the HunyuanOCR vision model, with a scheduler that shares one GPU between OCR and the LLM.
  • The Arabic OCR ingestion pipeline and a multi agent research pipeline, and a full rebuild of the embeddings when the platform moved to cloud models, which brought semantic search back.
  • A security audit of the Node.js and PostgreSQL backend with its critical findings fixed (an authentication bypass, cross user data access, unauthenticated WebSockets and a leaked API key), deployed through GitLab CI with test and secret scan gates.
  • Reworked Redis caching: a per user billing cache after the audit, and versioned search cache keys so a fix never serves stale results.
hukmai.com The Hukm landing page: the Arabic wordmark حكم in gold on a dark background with an early access button.
How an answer is built
  1. 1Question in Arabic
  2. 2Search, validation and web research agents
  3. 3Rerank the evidence
  4. 4Hybrid search in Qdrant
  5. 5Answer citing ruling, volume and page
The first version, on self hosted models
OllamaQwen, Llama and a custom Saudi law model
GPU schedulerLoads one model, frees memory for the other
HunyuanOCRReads scanned Arabic pages with PyTorch and CUDA

Case 02Education AISiyada TechJul 2026 to now

Jidd

AI preparation for the Saudi Qudurat and Tahsili exams

A live learning platform on the web and mobile: practice from a curated question bank, mock exams, games, and an Arabic voice tutor you can talk to.

What I built

  • Core backend engineer on the live platform: email verification, Google sign in, token revocation, API rate limits and card payments through Network International.
  • The React side of those features: Google sign in on the web and in the Capacitor mobile app, an email verification gate that accepts Arabic digits, unified error alerts across the app, and the question bank admin workbench.
  • The Nightly AI Study Coach: a tool calling LLM agent that compares each student's predicted score with their target, reads their progress through read only tools and proposes one next step, with an in app scheduler, a lock so a night never runs twice, a token budget and email alerts when a run fails.
  • Versioned MongoDB migrations with checksums, a lock across replicas and a verified backup before every schema change, tested against concurrent runners and crashes halfway through.
  • Guardrails for AI generated content: each generated question is solved again independently and wrong answer keys are quarantined, and translations that change math or numbers are rejected. With them I translated 1,898 live questions, and practice is served from a curated bank to cut LLM spend.
  • I run releases: a pre-push gate, GitHub Actions deploys to a Dokploy dev environment, and release pull requests gated on a 2,972 test backend suite and production checks.
  • Hardened the real time Arabic voice tutor and rolled it out to production.
jidd.ai The Jidd landing page in Arabic: the headline تعلّم بوضوح، تقدّم كل يوم، واجمع ثقتك في الطريق beside a map of the student journey, with a sign in button in the top bar and a start button.
How the Nightly AI Study Coach works
  1. 1Once a night the scheduler starts a run, and a lock stops it from running twice
  2. 2Students already on track for their target score are skipped, with no AI cost
  3. 3The agent reads scores, mock exams and voice tutor notes to find the weakest topic
  4. 4It proposes one step, like practice at the right difficulty, and the student accepts or dismisses it
A safe database change
  1. 1Check what is pending
  2. 2Back up and verify the archive
  3. 3Take the lock so one replica runs it
  4. 4Run, then verify before serving
  • Python
  • FastAPI
  • MongoDB
  • React
  • OpenAI
  • ElevenLabs
  • Capacitor
  • GitHub Actions
  • Dokploy
Visit jidd.ai

Case 03GamesJidd

Jidd games

From a web game built from scratch to Jidd's Unity game platform

In Boss Battle, a student beats a skeleton knight by answering real exam questions. It plays like a game, but hearts, boss health, streaks and rewards all live on the server, so nothing can be faked from the browser and nothing drifts.

What I built

  • Boss Battle for the web, built from scratch: a sprite sheet animation engine, a fight state machine and synthesized sound.
  • Its game APIs in FastAPI (start, answer, parry and submit), where the server owns hearts, boss health, streaks and rewards with idempotent retries, plus the API contracts both clients follow and fixes for live defects in the multiplayer and runner games.
  • Jidd's Unity game platform, which I created, and a rebuild of Boss Battle in Unity 6 with an Arabic RTL interface, one WebGL build that ships every game, and a bridge that runs it inside the React app while the backend keeps all scoring.
  • A platform that is safe to ship from: a 14 rule CI gate that blocks client side scoring, headless runs that play each game and fail on any runtime error, and AI agents driving Unity through MCP. A teammate built and shipped a second game on it.

The web version of Boss Battle is live inside Jidd. The Unity rebuild with Faleh and Fulla is in final testing.

Pick a fighter

Faleh, in a red shemagh, blocks the skeleton's blade and counters. The caption reads صدّ وهجوم مضاد.
One hit, end to end
  1. 1Unity shows the question card
  2. 2The React page sends the answer with the student's token
  3. 3FastAPI grades it and updates hearts, boss HP and streak
  4. 4MongoDB stores the session and the attempt id
  5. 5Unity plays exactly the strike the server decided
The rules gate, on every pull request
  • R04No rewards, wallets or answer keys in the game client
  • R05Every scene has a proof script that plays it
  • R01 R02Arabic text only through the RTL text pipeline
  • R08Every art, audio and font file has a licence record
  • R11The pull request states its proof, playtest and coverage

14 rules with 18 self tests, run in CI and as a pre-push hook.

02

Automation you can try

These systems run on private WhatsApp numbers and n8n accounts, so there is nothing public to link. The demos below are working replicas with sample players and data that behave the way the real ones do.

Demo 01FreelanceWhatsApp, n8n, Node.js, React

School eLeague assistant

The School eLeague runs esports tournaments in EA FC 26 and Rocket League for school and university students. Players handle everything on WhatsApp: their matches, the rules, submitting results and reaching the admins.

What I built

  • One n8n workflow of 159 nodes that serves both tournaments from two WhatsApp numbers, routing every message by tournament, player status and message type.
  • An Arabic AI agent that greets the player by name and looks up players and matches in Google Sheets before it answers.
  • The Node.js webhook backend: one API for both tournaments' WhatsApp numbers, PostgreSQL data separated per organization, media handling, conversation logging, and an admin handoff that pauses the bot and tells the player when a request is resolved.
  • A React dashboard with admin accounts where the team takes over chats, replies and sends media, plus bulk messaging that resumes from a checkpoint if a send fails.

Try it: check your matches, ask a question, then submit a result screenshot and handle it from the admin dashboard. Switch tournaments to see that each one only sees its own chats.

Sample players, teams and rules. Arabic messages show an English translation.

Demo 02n8n workflows

The workflows behind them

The eLeague workflow is drawn here along its main paths; the real one has 159 nodes. Pick a scenario and run it to watch a message move node by node, or open any node to see what it passes on. The email outreach workflow writes each email with an LLM and skips anyone who unsubscribed.

Also built: WhatsApp agents for customer support and sales.

Scroll the canvas sideways to see the whole workflow.

Node details

Open any node to see what it does and what it passes on.

Execution log

  1. Press Run workflow to watch it execute.
03

Skills

AI and LLMs

  • Generative AI and RAG
  • Embeddings and hybrid search
  • AI agents and tool calling
  • Multi agent systems
  • LLM guardrails
  • Arabic NLP and OCR
  • Ollama, Qwen, Llama
  • PyTorch and CUDA
  • OpenAI, Anthropic, MCP, n8n

Backend

  • Python, FastAPI, asyncio, pytest
  • Node.js, Express, Socket.IO
  • C# and ASP.NET
  • REST API design and contracts
  • JWT and OAuth 2.0
  • Rate limiting, caching, payments
  • Idempotency and migrations
  • Secure coding, Playwright testing

Data and delivery

  • MongoDB, PostgreSQL
  • Redis, Qdrant
  • Docker, Git
  • GitHub Actions, GitLab CI
  • nginx, Cloudflare, Linux

Frontend and games

  • React, TypeScript
  • JavaScript
  • Capacitor mobile
  • Unity 6, C#
  • WebGL
  • Kotlin

Languages Arabic (native), English (professional working proficiency)

04

Education and credentials

Education

King Abdulaziz University

B.Sc. Computer Science, Jeddah · 2020 to 2025

  • GPA 4.25 / 5.00, Second Class Honors
  • Certificate of Excellence, 2025
  • Led the machine learning graduation project that recommends a university major from a student's grades

Certifications

  • Agentic AIDeepLearning.AI · Feb 2026
  • Introductory Artificial Intelligence Training ProgramKAUST Academy and NTDP · 40 hours · Jan 2025
  • Mathematics for Machine Learning and Data Science SpecializationDeepLearning.AI · 3 courses · Dec 2024
  • Supervised Machine Learning: RegressionIBM · Dec 2024
  • Exploratory Data Analysis for Machine LearningIBM · Dec 2024

Awards and hackathons

Persuasive Pitch Challenge 1st Place

Siyada Tech · Oct 2026

Won Siyada Tech's internal challenge on presenting a new idea clearly, answering client questions and earning the client's approval.

Water Hackathon 4th Place Nationally

Ministry of Environment, Water and Agriculture · Mar 2025

Built Miahi with Team AquaVision: a greywater reuse solution combining IoT sensors and machine learning, finishing in the top 5 against 100+ teams.

Industrial Hackathon

Team KAU · Sep 2024

Built a logistics tool that assigns delivery clusters to trucks by capacity and priority, with automated PDF reports.

05

Let's talk

Based in Jeddah, Saudi Arabia. Email is the fastest way to reach me.

ameralzubaiditech@gmail.com