Back to Insights
AI September 15, 2026

Black panther on the polling station - How we built ZmAI: CRTA's Election Chatbot

Six days before Serbia's local elections on 29 March 2026, a citizen opened a chat window and typed: "What if I see a black panther walking around the polling station?"

CRTA trains citizen election observers and staffs a hotline on election day, and most of the calls repeat every cycle: can I photograph my ballot, what happens if the power goes out, can someone help me vote if I have a disability. The constraint for CRTA is time. A small team can only take so many calls at once, and the calls all arrive during the same few hours.

ZmAI is CRTA's answer to that: an election assistant built on our AI assistant platform, Fronisa, available on the web embedded in CRTA's own site, on Telegram, and, as a pilot, by voice. Since March it has answered more than 5,700 questions across 2,500 conversations, including 3,400 in March alone, the month of the local elections. It takes the repetitive questions off CRTA's hotline.

Where the answers come from

A chatbot that invents an answer about election law does real damage, so most of the design work went into preventing that. ZmAI answers only from a knowledge base CRTA curates: 154 documents, split into about 8,500 searchable passages, organized in tiers by how much authority each source carries.

Level What it contains Examples
Laws (highest) The Constitution and about 25 statutes

Law on the Election of MPs (2026), Law on Local Elections (2026), Law on the Unified Voter Register

Official rules Instructions from the Republic Electoral Commission (RIK) and the media regulator (REM)

The RIK polling-board manual, rules for home voting due to illness, the observer code of conduct

CRTA expertise CRTA's own training materials

Observer and polling-board training, a handbook on election-day manipulation, an explainer on how votes become seats

International standards OSCE/ODIHR, the Venice Commission, UN and NDI declarations

The Venice Commission's Code of Good Practice, OSCE reports on Serbian elections

Field experience CRTA's own observation missions, 2018–2025

Reports from the 2022 and 2023 elections, and the 2025 Kosjerić and Zaječar local elections

Local election data Polling stations, candidate lists, turnout

2026 polling station data for Bor, Kula, Kladovo, Knjaževac and others

 

Laws take priority when a CRTA training document and a statute disagree. When Serbia adopted new election legislation in 2026, CRTA marked the 2022 versions as replaced rather than deleting them: ZmAI answers from current law, and the older material stays on record for reference. Every answer names its source, ie. "Source: RIK polling-board manual, 2023," so a journalist or an observer can check it directly. When an answer isn't in the library, ZmAI says so and gives CRTA's contact details instead of guessing.

It's also built to stay neutral: no political opinions, no predicting results, no personal legal advice.

Keeping it accurate without a developer in a room

A knowledge base like this goes stale unless someone keeps it current. CRTA has delegated the role of "librarian" to a person inside their team, but we have also built options in Fronisa for CRTA to update it themselves. CRTA's team uploads a document, a new law, an updated polling-station list, a revised training manual, and ZmAI can use it within minutes. No retraining, no developer involved.

When ZmAI can't answer a question well, the platform logs it, groups similar questions together, and drafts a candidate answer from trusted public sources. A CRTA staff member has to approve that answer before it goes live. About a dozen have been added this way so far, on topics like photographing ballots and which ID documents are valid at the polling station.

CRTA also gets a dashboard of the most common questions and how they trend over time. That data is also a read on what confuses voters, separate from the chatbot itself, and something CRTA can use to plan its own outreach. Because the same knowledge base powers the website, Telegram, and the voice pilot, one update improves all three at once.

There's a hard daily spending cap on the infrastructure behind it, so a traffic spike or a deliberate attack can't produce a surprise bill. Important thing here: this will work as long as someone curates documents and approves queued answers. Stop doing that and the knowledge base will go stale for the next election cycle, regardless of how the system is built. That ongoing curation is the real cost of a project like this.

What people asked it

"My great-great-grandmother votes every year, and she's dead." In various phrasings, this is one of ZmAI's most frequent questions, which says something about how much people trust Serbia's voter register. ZmAI gave a specific path: check the register at upit.birackispisak.gov.rs, submit a request to the municipal administration with a death certificate if she's still listed, and report it as a possible criminal offense if someone suspects the vote was cast in her name.

The panther question, and how ZmAI handled it. ZmAI didn't invent a rule. It pointed to the absurdity of the situation: "There is no procedure or recorded case involving a wild animal such as a black panther at a polling station. The rules focus on electoral irregularities and on the safety of people at the polling station, but they don't cover unusual situations like this. If it really happened…"

The same person followed up: are wild animals common in cities? ZmAI found nothing on wild animals, but then found the one animal Serbia's election rules do mention: guide dogs, which voters with disabilities have the right to bring into the polling station.

Some questions went straight to what CRTA exists to catch. Someone asked what to do if they were being blackmailed into voting for a particular party. ZmAI named it as a criminal offense, reminded the person that voting is secret and nobody can demand proof of who they voted for, and gave both the public prosecutor's office and CRTA's own channels as places to report it.

On election day itself, someone asked what to do about threats at the polling station. The answer was procedural rather than reassuring: tell the polling board chair immediately, get the incident recorded in the board's minutes with the time, details and any witnesses, insist the chair call the police, which is their legal obligation once there's a threat or a breach of order, and avoid confrontation while waiting for help. CRTA's own contact details were attached as a second channel.

What does it know about trains in Bulgaria? The most specific question used the Serbian name for a fraud scheme better known in English as carousel voting: "bugarski voz," a "Bulgarian train," where a voter carries a marked ballot out of the polling station instead of casting it, the next person in the chain casts it as their own and brings a blank ballot back out, and the cycle repeats. It came up 23 times across 18 separate conversations. Asked what to do on spotting one, or a parallel voter list guarded by "thugs or the gendarmerie," ZmAI said not to confront whoever was guarding the activity, especially if armed, to note the time, place and people involved discreetly rather than risk taking photos, and to report it to the police, the prosecutor, and CRTA. It added one detail most guidance skips: a complaint won't be taken up by the polling board itself, so reporting it to authorities and to CRTA separately is what gets it documented.

Other questions were lower stakes. Someone asked what to do about a cat wandering into a polling station (remove it gently, without force, and let voting continue). Someone asked whether kefir or sour milk is better (ZmAI declined to have an opinion, as it's outside its scope, and suggested asking a nutritionist). Someone claiming to be planning a CRTA youth campaign asked it to write a story starring Spider-Man and Harry Potter guarding a ballot box; it declined and redirected the conversation back to elections.

Some carried more weight. A deaf voter asked whether anyone could help them vote: yes, they can bring a trusted helper of their own choice, anyone except a polling-board member or an observer, and board members are expected to be patient and use written notes if needed. Someone asked whether photographing a ballot for Instagram was allowed: no, not even as a personal keepsake, and never the ballot itself. Someone asked whether a pregnant voter or a parent with a baby could skip the queue: the law doesn't grant that right explicitly, though polling boards often allow it as a courtesy, so it's worth asking the board chair directly.

From the local elections to the parliamentary elections

We treated the March local elections as a real test for ZmAI. The busiest day wasn't election day. It was three days before, on 26 March, with 711 questions. Election day itself, 29 March, brought 469. Across 26–29 March combined, ZmAI answered about 2,170 questions, a pattern that points to observers and polling-board members getting ready rather than to a single day of demand.

Ivan Đurić from CRTA, put it this way: "Beyond constantly improving ZmAI to be more useful to voters, we use it a lot within the team too, to remind ourselves, to check. Everyone uses Google and other chatbots for information; we keep improving ZmAI precisely so it's reliable and trustworthy, which is an increasingly rare place to land online."

Demand didn't stop once the votes were counted: questions about the voter register and accessibility kept coming through the summer.

CRTA and Appworks continued to build on ZmAI ahead of the parliamentary elections: expanding the knowledge base, refining the voice pilot, and tightening the review loop so fewer questions fall back on "I don't know." The fundamentals stay the same: every answer traceable to a source, law before opinion, and a person at CRTA approving anything new before it goes live.

ZmAI is anonymous, so the logs can't say who's an observer and who's a voter, but the questions show voters used it too, and 55% of public questions came outside weekday office hours (09:00–17:00 CET), the hours when CRTA's own phone line is harder to reach.

Try ZmAI yourself 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