Back to Insights
AI November 3, 2026

How ZmAI breathed fire on election weekend

My great-great-grandmother votes every year: ZmAI at parliamentary election weekend

On Sunday 25 October 2026 Serbia held early parliamentary elections. Over that weekend ZmAI, the election assistant we built with CRTA, answered about 6,200 questions: about 2,200 from voters and about 4,000 from CRTA's observers.

We wrote about how ZmAI was built in our first article. The name comes from zmaj, the Serbian word for dragon. In March, ZmAI only answered questions. For the parliamentary elections, we further improved its accuracy and added a citizen-reporting feature. The difference shows on hard questions: the new ZmAI answered many difficult questions correctly where the March version might have failed. This let ZmAI take load off the call center and freed CRTA to focus on other priorities. Questions came in through two parallel streams, the default ZmAI and a version specialized for observers. Here's what the weekend looked like.

The elections

The elections came after almost two years of student protests and citizens' struggle for justice. Protests began when the canopy at Novi Sad railway station collapsed in November 2024. Elections in Serbia were problematic under the Serbian Progressive Party (SNS) and had drawn criticism from international observers: after the December 2023 vote, the OSCE/ODIHR-led mission reported misuse of public resources, pressure on voters and cases of vote buying.

Turnout this time was 69 percent, according to CRTA's projection. The Student List won an absolute majority and Aleksandar Vučić conceded on election night, in what the Associated Press called a "seismic political shift".

CRTA observed the vote with about 2,500 observers and a representative sample of 500 polling stations. The day after, it said that manipulation at polling stations had been largely kept in check, because an unprecedented number of citizens had trained to monitor voting themselves.

Two versions, one library

Before election weekend, we improved ZmAI so that it now runs as two parallel versions: the default ZmAI for voters, and Vigilo, a version built specifically for observers. Vigilo formulates answers in its own specialized way and places extra emphasis on accuracy.

Both answer from the same library of laws, official instructions and CRTA training materials. A voter who sees a problem needs to know their rights and where to report it. They may also need a rule explained quickly and plainly. An observer is at the polling station in an official role, so for them, we need answers suitable for someone holding an observer's accreditation: what the rules allow them to do, what to write in their report, and when to call CRTA.

Question asked by a voter

"May I photograph my ballot in the voting booth?"

"No, photographing a ballot is not allowed. Although the law does not specifically mention 'photographing your own ballot', the Law on the Election of Members of Parliament expressly prohibits unauthorised filming and photographing of events at a polling station, which counts as disturbing order […] The ban also protects against pressure, blackmail and vote buying […] because a photo is often demanded as proof of how someone voted. No one has the right to ask you to prove or say who you voted for. If someone at the polling station pressures you, asks for a photo of your ballot, or you notice irregularities, you can report it to the polling board or the police, and you can also describe and report it right here in the chat […]"

Question asked by an observer

"Is a voter allowed to photograph their ballot in the booth?"

"It is not allowed. Photographing a ballot, like any unauthorised filming or photographing at a polling station, counts by law as disturbing order and directly threatens the secrecy and freedom of the vote […] Notes for the observer: The observer does not intervene, does not warn the voter or the polling board, does not suggest what to do and does not argue with those present. […] The observer keeps an exact count of voters using a phone behind the screen or in the booth, in the incident catalogue. The observer records the facts (the time, the circumstances and any reaction from the polling board) and reports the incident to CRTA's observation mission […] The observer does not enter objections in the records on their own, without explicit instruction from CRTA's legal support."

Observers used Vigilo the way they work on election day: short conversations, one or two questions on average, asked in the middle of something else. Their busiest hour was 6 to 7 on Sunday morning, while polling stations were being prepared and opened.  394 messages came in that over. Voters' busiest hour was 13:00 to 14:00, with over 200 messages.

AI assistant offers people easy way to access information and knowledge, so not all of those questions would otherwise have gone to CRTA's call center. Some might remain unasked. But still, at only two minutes a call, the weekend's 6,200 questions come to about 200 hours of phone time.

An observer's day in six questions

Six questions observers asked Vigilo on election day, with the time each one came in. The answers are shortened; the wording is Vigilo's.

06:32 "The list of people voting outside the polling station wasn't delivered at 6 a.m."

"At 6 a.m. the list of voters voting outside the polling station does not have to be final or delivered in full, because voters can apply to vote outside the polling station until 11:00 on election day."

08:00 "A lot of voters don't know where they vote, and they're asking me. As an observer, am I allowed to help them? So far I've said no."

"You were right to say no. As an observer, you have no right to communicate with voters, direct them or give them any kind of help at the polling station. Voters have to take any questions to the members of the polling board themselves."

09:39 "One of the board members is writing names on a separate sheet of paper. Is that an incident?"

"Yes, this is a serious incident: it amounts to keeping a parallel record of voters and disturbs order at the polling station. Board members in charge of the voter register may only make tally marks on a separate sheet to count turnout, not write down names."

10:44 "None of the lamps work. What now?"

"If no UV lamp at the polling station is working, the polling board must stop voting immediately until the fault is fixed. Voting must not continue without a working UV lamp, because checking voters with a UV lamp is a mandatory legal step before they are allowed to vote."

16:45 "A car has been sitting outside the polling station with its engine running for 15 minutes, with two men inside. Should I report it?"

"Yes, report it to CRTA's observation mission. Unknown people waiting in a vehicle right outside a polling station can point to parallel voter records, pressure on voters or vote buying. The observer does not approach the vehicle, but notes the time, make, colour and licence plate from a safe distance."

21:02 "Is a ballot valid if one list is circled and two are crossed out?"

"Yes, that ballot is valid. If the voter clearly circled one electoral list and crossed out the others, the ballot counts, because the voter's choice can be established with certainty."

The weekend in numbers

 

Voters (ZmAI)

Observers (Vigilo)

Questions over the weekend

about 2,200

about 4,000

Conversations

about 1,500

about 2,900

Busiest hour

Sunday 13:00–14:00

Sunday 6:00–7:00

Median time until the answer starts

about 5 seconds

about 5 seconds

Nine in ten answers started arriving within 6 seconds for voters and within 9 seconds for observers. Vigilo takes longer because it searches more deeply and pulls in more information. Most voters used ZmAI on CRTA's website, the rest on Telegram.

A new feature: reports

ZmAI now also takes reports, triggered by the context of the conversation. When a citizen's message describes something that should be reported, ZmAI switches to "reporting mode". It asks whether they want to file a report, asks for the details that matter, classifies the report by incident type, assigns a severity level, and sends it to CRTA.

Over the weekend citizens sent 358 reports, 328 of them on Sunday. CRTA's team reviewed about 330 and changed ZmAI's classification in 11. The most frequent were voters photographing ballots, voters not checked with the UV lamp, and suspicious gatherings outside polling stations. Thirteen reported a deceased person marked as having voted, the same problem someone first asked ZmAI about in July, when they wrote that their great-great-grandmother votes every year even though she has been dead for years.

Ivan, CRTA's election-day coordinator, described the change: "Letting citizens report through ZmAI has dramatically changed the way we work. People no longer have to call us, wait on the line and explain everything from the start. They describe what they saw in the chat they're already in, and the report reaches us already sorted. It's faster and easier for them, and it's faster and easier for us. Our team can spend its time deciding what to do about a problem instead of writing it down."

What comes next

The weekend showed that one library can serve very different people at the same moment. A voter unsure whether they may photograph their ballot and an observer who needs to know what to record when someone does it both got an answer within seconds. CRTA's team kept the decisions that need a person: reviewing reports, deciding what to act on, and approving anything new that goes into ZmAI's library. That split of work is what we would keep for any election, and it would work the same way in any other field where a chatbot has to answer from specialized knowledge.

Serbian presidential elections must be held by 27 December, so ZmAI continues answering questions at zmai.crta.rs.

 

Share this article

Have a project in mind?

Tell us what you're building. We'll tell you quickly whether we're the right fit.

Get in touch