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

I build the backends behind products Arabic speakers rely on: APIs that decide every score and reward, legal search that cites the exact ruling, and the AI, React and Unity work on top.

Portrait of Amer Alzubaidi
AI Automation Engineer at Siyada Tech
Now
AI Automation Engineer, Siyada Tech
Backend
Python, FastAPI, Node.js, MongoDB, PostgreSQL
Also
RAG and LLMs, React, Unity
Studied
B.Sc. Computer Science, King Abdulaziz University
01

How I work

I studied computer science at King Abdulaziz University and now build AI products at Siyada Tech. My work sits where models meet real users, so I care about what still works on the thousandth request, not only the first.

  1. Prove it runs

    Passing tests are not the same as a working product. The game platform's CI plays the game, records it and fails the build on any runtime error, and I open features in a real browser before I call them done.

  2. Find the real cause

    When Hukm's semantic search quietly degraded to keyword matching, the cause was embeddings left over from an older model. I rebuilt the whole corpus instead of tuning search weights around the problem.

  3. Protect what people rely on

    Students and lawyers act on these answers. AI output is checked before anyone sees it, translations that change a number are rejected, and database changes run only after a verified backup.

02

Selected work

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

Case 01Legal AISiyada Tech

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

  • 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.
  • 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.
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 Tech

QTPrep

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 work on the live platform: email verification, Google sign in, token revocation and API rate limits.
  • 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.
  • 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. Practice is served from a curated bank to cut LLM spend.
  • Hardened the real time Arabic voice tutor and rolled it out to production, alongside code reviews and production releases.
qtprep.ai The QTPrep landing page in Arabic, with a student journey map and a start button.
From sign up to the first AI request
  1. 1Sign up with email or Google, on the web or in the mobile app
  2. 2A 6 digit code or link confirms the email, Arabic digits accepted
  3. 3The app stays locked until the address is verified
  4. 4Paid AI requests are rate limited and refused for unverified accounts
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

Case 03GamesQTPrep and qtprep-unity

QTPrep games

From a web game built from scratch to the qtprep-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.
  • The qtprep-unity repo, 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 repo 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 QTPrep. 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.

03

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 01WhatsApp, 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.
04

Skills

Backend

  • Python, FastAPI, asyncio
  • Node.js, Express, Socket.IO
  • REST API design and contracts
  • JWT and OAuth 2.0
  • Rate limiting and caching
  • Idempotency and migrations
  • Secure coding, pytest

Data and delivery

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

AI and LLMs

  • RAG and hybrid search
  • Multi agent systems
  • LLM guardrails
  • Arabic NLP and OCR
  • Ollama, Qwen, Llama
  • PyTorch and CUDA
  • OpenAI, Anthropic, MCP, n8n

Frontend and games

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

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

05

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

Hackathons

Water Hackathon Top 5 National Finalist

Ministry of Environment, Water and Agriculture · Mar 2025

Built Miahi, a greywater reuse solution combining IoT sensors and machine learning, competing 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.

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