Summary: An AI-powered learning platform for government training holds up when the AI drafts, explains and hints, and an instructor signs every change to a record. 10ⁿ Tech built a working demo for a federal academy in the UAE with five AI processes (a development plan, spaced reviews, a tutor, an Emirati Arabic voice assistant and an absence follow-up) on top of Moodle, BigBlueButton and a learning record store. All data in it is synthetic.

The trainee types 5. Wrong. The exercise shows a training passport that expires on 25 August 2032 and asks for the check digit that date must carry in the machine-readable zone. Then, to the tutor: “I am not sure where to start, can you help?” The tutor answers with a question. How will you write 25 August 2032 as six digits, in the order YYMMDD?

It can’t hand over the number. Nobody gave it one.

In an AI-powered LMS for government training in the UAE, agents propose and instructors decide

Agents talk, draft and explain. Code computes scores and schedules. A named person signs anything that changes a record, and each change writes an audit row whose SHA-256 hash covers the row before it.

ProcessWhat the AI doesWhat stays with people or code
Development plana coach agent explains itcode computes it from an assessment the instructor signed
Spaced reviewsnothingan open-source memory model sets each date
Tutorasks questions, gives the author’s hintsthe platform holds the answer
Voice assistantanswers by voice, with a citationthe platform picks what this user may read
Absence follow-updrafts the messagethe instructor edits, approves or rejects

The plan comes from a signed assessment, and an agent only explains it

First the instructor signs the trainee’s assessment, including the role-play level an agent proposed. That signature generates the Individual Development Plan in code: largest gap first, prerequisites first, each module in the trainee’s preferred format, fitted into working days at 30 minutes a day by default. Same inputs, same plan.

The coach agent writes the “Why this plan” note and may not add modules or change the order or dates. Once a competency’s modules are mastered, a re-check of three questions, unseen ones first, produces a new plan version and a list of what changed.

Learning plan, version 2, generated when the instructor signed a new assessment: readiness went from 40% to 60%, the coach agent's note explains the new focus and states that the agent cannot change modules, order or dates, and the change panel lists the levels that moved and the modules removed
Learning plan, version 2, generated when the instructor signed a new assessment: readiness went from 40% to 60%, the coach agent’s note explains the new focus and states that the agent cannot change modules, order or dates, and the change panel lists the levels that moved and the modules removed

Spaced reviews run on a memory model an instructor can read

A module is mastered after two correct answers in a row with no revealed solution. It then enters spaced review on FSRS-4.5, an open-source memory model, set to a 90% recall target: the next review falls when predicted recall drops to 90%. A wrong review answer brings the next one closer.

No agent is involved. Dates come from replaying an append-only practice log, so an instructor asking why a module is due gets the last review, grade and memory stability in days. The demo course has 11 micro-modules and 22 exercises.

The tutor never holds the answer

A field experiment published in PNAS in 2025 gave nearly a thousand high-school maths students a chatbot during practice. Unrestricted, it lifted practice scores by 48%, and once it was taken away those students scored 17% below students who never had it. A tutor version with safeguards largely removed that harm.

So our tutor sits inside the exercise. It gets the course author’s three hints one rung at a time, plus the trainee’s attempts, and never the answer. After two wrong attempts in a row the platform can release the worked solution, and only then does the tutor walk through it. Replies are meant to be two or three short sentences, and aren’t always clean: one Arabic capture shows raw markdown asterisks in the bubble.

A check-digit exercise on a training passport after a wrong answer: the platform shows the first hint, and the tutor beside the exercise answers a request for help with a question, because it does not have the answer until the platform releases the worked solution
A check-digit exercise on a training passport after a wrong answer: the platform shows the first hint, and the tutor beside the exercise answers a request for help with a question, because it does not have the answer until the platform releases the worked solution

The voice assistant speaks Emirati Arabic and cites the handbook

A 3D persona answers by voice, with lip-sync. The trainee speaks or types and can cut in; Azure AI Speech in UAE North transcribes. The agent is told to use everyday Emirati words such as شو and الحين.

The platform searches first, filtered by the user’s role, and hands the passages to the agent. Its instructions cap answers at three short sentences and 45 words. The closing citation shows on screen, and the voice skips it. Searching before the agent runs cut the wait for the first word from about 6.7 to about 4.5 seconds. A natural spoken exchange wants about 800 ms. We’re not there.

Every voice we tried garbled Arabic years written in digits, so the platform spells them out. An Arabic voice once read a short English answer in Arabic, so the language is now pinned on every request. More in lessons from Arabic AI avatars.

The academy voice assistant with its 3D persona: an answer in Emirati Arabic about the next exams and an English answer about missed classes, each ending with a citation to the synthetic trainee handbook
The academy voice assistant with its 3D persona: an answer in Emirati Arabic about the next exams and an English answer about missed classes, each ending with a citation to the synthetic trainee handbook

An agent drafts the absence message, and the instructor sends it

A trainee’s second unexcused absence in a course opens a case. An agent drafts the follow-up in Emirati Arabic and English from five facts: first name, course, dates missed, instructor and the handbook rule. Its instructions allow 90 words per body, and it cannot send. The approval is bound to the exact text and expires after seven days, and an instructor’s edit is recorded as an amendment. In the demo the message lands in the trainee’s portal inbox and the e-mail is logged, not sent.

A registrar changes the rules without code: threshold, channels, Emirati or formal Arabic, and who approves. Each change is a new version; open cases keep theirs. It is the gate we described for human-in-the-loop AI agents.

Absence follow-up in the instructor view: the registrar's settings on the left (portal and e-mail, Emirati Arabic, approval by the instructor, with the published versions below) and the agent's Arabic and English draft on the right, waiting for Approve and send or Reject
Absence follow-up in the instructor view: the registrar’s settings on the left (portal and e-mail, Emirati Arabic, approval by the instructor, with the published versions below) and the agent’s Arabic and English draft on the right, waiting for Approve and send or Reject

Moodle, BigBlueButton and a record store do the classroom work

Moodle runs courses, quizzes and grades. In our design, learners reach them inside the portal through an API layer we own, and authoring stays in Moodle’s own screens behind single sign-on. BigBlueButton, a core Moodle activity since 4.0, runs live classes. The learning record store is meant to collect xAPI statements from Moodle, classes and simulations, on premises.

We stood all three up on Azure UAE North: Moodle 5.2, BigBlueButton 3.0 and an open-source SQL record store. Instructor single sign-on landed in a Moodle course, and a recorded test class published in presentation and video formats. Then we parked them, and the portal isn’t wired to them yet.

We stayed on BigBlueButton 3.0 because, when we checked, the 4.0 installer didn’t configure its default media path for 1:1 NAT, which is how an Azure VM sits.

Platform layer of our reference architecture: learner portal, instructor desk and chat and voice on top; adaptive learning, Moodle and BigBlueButton among the platform services; learning records and the audit chain among the records; MCP tools for integration
Platform layer of our reference architecture: learner portal, instructor desk and chat and voice on top; adaptive learning, Moodle and BigBlueButton among the platform services; learning records and the audit chain among the records; MCP tools for integration

Two parts of the demo leave the UAE, and the screen says so

The language-model deployment is global, and a badge under each knowledge-assistant answer reads “Processed outside the UAE (demo only)”. The Emirati voice is a hosted service outside the country, noted under the microphone; if it fails, an Azure AI Speech Arabic (UAE) voice in UAE North takes over. The production design runs on premises, on the customer’s own AI platform, and the voice is its open gap: the best open Emirati voice model we found carries a non-commercial licence. See on-premise AI in the UAE.

In an internal test round, two staff testers working in English and Arabic logged 15 passed steps, two blocked and 18 issues. We fixed the top two priority levels and reran the end-to-end tests.

What to check before you commission an AI learning platform

  1. Ask which records an agent can change on its own. The answer should be none.
  2. Generate the plan twice from the same signed assessment. It should come out the same.
  3. Pick a review date and ask why it is due. The answer should come from a log.
  4. Ask the tutor for the answer three times. It should not have it.
  5. Ask the voice assistant something the handbook doesn’t cover. It should say so and point to a person.
  6. Edit an agent’s draft, approve it, then read the audit row.
  7. Ask where speech, voice and the language model run, in the demo and in production.

Frequently asked questions

Does the AI decide a trainee’s level?

No. Technical questions run as a computer-adaptive test scored with item response theory, and no language model touches that score. For a role-play, an agent proposes a level and quotes the trainee as evidence; the instructor confirms or changes it and signs.

Can a trainee get the answer out of the tutor?

Not from the tutor, which never receives it. After two wrong attempts in a row the platform can release the worked solution, and that exercise then doesn’t count toward mastery.

Which Arabic does the platform use?

The voice assistant speaks Emirati Arabic. The tutor uses Modern Standard Arabic unless the trainee writes in Emirati, and the registrar picks Emirati or formal Arabic for absence messages.

Is this running in production?

No. It is a working demo with synthetic data on Azure UAE North, and Moodle, BigBlueButton and the record store stay parked until we wire them into the portal.

Next step

If you run training for a government entity, we can walk you through the demo in Arabic and English. See AI agents for government in the UAE, or get in touch.

Connect with us