The GenAI for Good Challenge is a global innovation initiative led by IEEE Humanitarian Technologies, connecting teams building generative AI solutions with local stakeholders to develop and deploy responsible, open-source generative AI for real-world challenges. In the Cities Edition, IEEE Humanitarian Technologies and UNDP are working together to bring the Challenge to city governments across Europe and Central Asia, combining IEEE’s global network of engineers and technical experts with UNDP’s expertise and its network of cities. Ideal for teams building generative AI, the Cities Edition offers a funded, structured pathway to build solutions city governments can actually use; grounded in real, city-owned use cases identified by UNDP, with access to a global network of technical and institutional expertise.
Pristina is growing fast, and its bus routes need regular review to keep pace. This use case explores a multilingual GenAI assistant that helps municipal planners pull together transport routes, traffic data, and residents’ feedback so that the public transit system can adapt as the city grows. *References to Kosovo shall be understood to be in the context of Security Council resolution 1244 (1999).
Residents, homeowner associations and small businesses in Rivne want to cut costs and build energy resilience, but don’t know where to start. This use case explores a GenAI-powered energy efficiency assistant that walks users from a building profile to indicative costs, financing options, and a ready-to-share report.
Skopje’s digital Green Cadastre keeps track of the city’s green infrastructure, including trees and green spaces. However, the records behind it are scattered across formats and departments. This use case explores how GenAI could connect those records to the Cadastre to support decision-making, ultimately safeguarding the city’s green infrastructure.
Step 1: Review Key Guidelines: Carefully review all eligibility requirements, challenge phases, and the project timeline (challenge landing page)
Step 2: Select Your Use Case: Read the full details of the specific Use Case you are applying to. (challenge landing page)
Step 3: Submit Required Materials: Complete and submit both application components on their designated platforms:
For more information about the challenge, see the GenAI for Good Challenge: Cities Edition landing page.
City teams need reliable information to plan transport, improve buildings and energy use, and manage urban greenery. However, that information is often scattered across reports, spreadsheets, technical guidance and spatial datasets. Answering a practical question can require connecting several sources, interpreting geometry and checking that the evidence supports the conclusion.
Your task is to build a generative AI question-answering system that works with these diverse sources and produces clear, accurate answers with supporting references. Some questions will require calculations or spatial analysis; others will involve comparing records, interpreting exceptions or recognising when the available information is insufficient.
You may use retrieval-augmented generation, agents, GIS and other permitted tools within the model and compute limits in the Datasets, packages and general principles section of the full challenge rules. Submit your answers and supporting evidence in a file. The provisional top 100 teams will undergo technical verification before panel evaluation. This assessment is a first step towards a municipal assistant that makes complex information easier to use and verify.
Answers will be assessed using an LLM judge against checked reference answers and source evidence. Equivalent wording will be accepted. The score combines correctness and completeness (80%) with supporting evidence (20%).
Each question has a predefined set of required answer elements. For each element, the judge assigns:
Evidence credit is multiplied by correctness credit, so citations cannot earn points for an incorrect conclusion. Unsupported or contradictory statements relevant to an element prevent full correctness credit for that element.
Question score = average of (0.8 × correctness + 0.2 × correctness × evidence support).
Final leaderboard scores range from 0 to 1, with higher scores being better.
Before evaluation, organisers independently verify the reference facts, calculations and spatial results, including units, assumptions and acceptable tolerances.
The LLM judge then checks whether the submitted answer matches those results, interprets them correctly and provides supporting references. For example, a matching number with the wrong unit or geographical scope is incorrect.
Automated checks validate the submission file and question IDs, then aggregate the judge's component scores; they do not independently verify arbitrary calculations written in free text. Scores are averaged within each case, across cases within each domain, and equally across the three domains.
The judge model and rubric will be calibrated against reviewed examples and fixed before launch. Technical evaluation failures will be retried or reviewed rather than scored as incorrect answers.
During the challenge, the public leaderboard scores a hidden subset of Test questions. After submissions close, organisers will evaluate the withheld questions for each team's two selected submissions and calculate their full-Test scores using the same scoring method. The better full-Test score will determine final ranking, subject to eligibility, reproducibility and rule-compliance checks. Final rankings may differ from the public leaderboard.
This challenge represents Step 1 of Phase 1 of the GenAI for Good Challenge: Cities Edition. The top 100 teams on the Zindi leaderboard when the challenge closes on 13 December move to panel evaluation. If you are eligible for panel evaluation, you will be contacted by the challenge organisers after 13 December.
If selected as a finalist, you must provide executable code, model details and data provenance. Organisers will reproduce the selected submission and run your solution on fresh cases under the published model and compute limits (See Datasets, packages and general principles section of the full challenge rules.
Final rankings will be based on private leaderboard scores, subject to eligibility and reproducibility checks. Finalists must run their submitted solutions on previously unseen cases under the published model and compute limits. This run will verify execution and compliance with the rules. Lower accuracy on fresh cases alone will not be grounds for disqualification.
If your technical assessment and narrative proposal are accepted, you will be notified before 28 February 2027.
For the broader GenAI for Good Challenge: Cities Edition, you can win up to $40,000 in funding – $10,000 to build your prototype, plus up to $30,000 more if your team is selected to pilot it with a city.
NB: This is a technical assessment and as such, there are no financial rewards associated with this phase of the challenge.
There are 5 000 Zindi points available. You can read more about Zindi points here.
ENTRY INTO THIS CHALLENGE CONSTITUTES YOUR ACCEPTANCE OF THESE OFFICIAL CHALLENGE RULES.
The rules on this page represent rules for Step 1 of Phase 1 of the Gen AI for Good Challenge: Cities Edition i.e. the technical assessment task hosted on Zindi. View the full rules of the Gen AI for Good Challenge: Cities Edition here.
The Gen AI for Good Challenge: Cities Edition is open to legal residents of the United States and international jurisdictions where permitted by local law, provided that no team member is subject to applicable sanctions or listed on relevant restricted-party lists, including United Nations and United States sanctions lists. Residents of any country or jurisdiction subject to U.S. Treasury Department (OFAC) sanctions are excluded from participation.
Teams must be informal groups of at least two (2) individuals (corporate entities or organisations are ineligible). Every team member must be 18 years of age or older. Only one teammate needs to make a submission on Zindi.
When creating a team, the team must have a total submission count less than or equal to the maximum allowable submissions as of the formation date. A team will be allowed the maximum number of submissions for the challenge, minus the total number of submissions among team members at team formation. Prizes are transferred only to the individual players or to the team leader.
Multiple accounts per user are not permitted, and neither is collaboration or membership across multiple teams. Individuals and their submissions originating from multiple accounts will be immediately disqualified from the platform.
Code must not be shared privately outside of a team. Any code that is shared, must be made available to all challenge participants through the platform. (i.e. on the discussion boards).
The Zindi data scientist who sets up a team is the default Team Leader but they can transfer leadership to another data scientist on the team. The Team Leader can invite other data scientists to their team. Invited data scientists can accept or reject invitations. Until a second data scientist accepts an invitation to join a team, the data scientist who initiated a team remains an individual on the leaderboard. No additional members may be added to teams within the final 5 days of the challenge or last hour of a hackathon.
The team leader can initiate a merge with another team. Only the team leader of the second team can accept the invite. The default team leader is the leader from the team who initiated the invite. Teams can only merge if the total number of members is less than or equal to the maximum team size of the challenge.
A team can be disbanded if it has not yet made a submission. Once a submission is made individual members cannot leave the team.
All members in the team receive points associated with their ranking in the challenge and there is no split or division of the points between team members.
The solution must use publicly-available, open-source packages only.
You may use the provided datasets and additional datasets listed in AllowedDatasets.csv on the Data page. Additional datasets require organiser approval before use. All sources and licences must be declared.
You may use openly available pretrained models. To process test materials and produce answers, you may use one generative model with no more than 3 billion parameters, with a maximum of 15 model calls and 12,000 generated tokens per question, including thinking, retries and self-checks. Quantisation does not reduce the parameter count.
Other tools for retrieval, OCR, embeddings, reranking, spatial analysis and calculations are permitted, provided they do not invoke additional generative models.
Test questions, Test source materials, their public copies and derivatives, and any answers generated from them must not be used for training, fine-tuning, distillation, self-training, pseudo-labelling or other learned adaptation. Test sources are inference-only. OCR, parsing, indexing, retrieval, spatial analysis and calculations are permitted without training or adapting models on Test materials. Generating answers at inference time for submission is permitted within the stated model limits.
Automated machine learning tools such as automl are not permitted.
Each supplied source retains its original licence and attribution requirements, as recorded in SourceManifest.csv. Use and redistribution must comply with those terms and the challenge restrictions on Test materials. No single licence applies to all source materials.
Teams must agree to release their original solution code and documentation under an approved permissive open-source licence (e.g., Apache 2.0, MIT or equivalent), without seeking personal financial gain or patent rights. Third-party datasets, packages and pretrained model weights retain their existing licences and must not be relicensed contrary to those terms. Any released model adaptations must comply with the base model licence.
You must notify Zindi immediately upon learning of any unauthorised transmission of or unauthorised access to the challenge data, and work with Zindi to rectify any unauthorised transmission or access.
Your solution must not infringe the rights of any third party and you must be legally entitled to assign ownership of all rights of copyright in and to the winning solution code to Zindi.
You may make a maximum of 1 submission per day.
You may make a maximum of 20 submissions for this challenge.
Before the challenge closes, select two submissions for final evaluation. If you do not make a selection, your two best public leaderboard submissions will be selected automatically.
During the challenge, your best public score will be displayed regardless of the submissions you have selected. After submissions close, organisers will evaluate the withheld questions for your two selected submissions and calculate their full-Test scores using the same scoring method. The better full-Test score will determine your final ranking, subject to eligibility, reproducibility and rule-compliance checks. Final rankings may differ from the public leaderboard.
Note that to count, your submission must first pass processing. If your submission fails during the processing step, it will not be counted and not receive a score; nor will it count against your daily submission limit. If you encounter problems with your submission file, your best course of action is to ask for advice on the challenge page.
If you are in the provisional top 100 after final evaluation, we will email you to request your code. On receipt of email, you will have 48 hours to respond and submit your code following the Reproducibility of submitted code guidelines detailed below. Failure to respond will result in disqualification.
If your solution places in the top 100 on the final leaderboard, you will be required to submit your winning solution code to us for verification.
If two solutions earn identical scores on the leaderboard, the tiebreaker will be the date and time in which the submission was made (the earlier solution will win).
You acknowledge and agree that Zindi may, without any obligation to do so, remove or disqualify an individual, team, or account if Zindi believes that such individual, team, or account is in violation of these rules. Entry into this challenge constitutes your acceptance of these official challenge rules.
Zindi is committed to providing solutions of value to our clients and partners. To this end, we reserve the right to disqualify your submission on the grounds of usability or value. This includes but is not limited to the use of data leaks or any other practices that we deem to compromise the inherent value of your solution.
Zindi also reserves the right to disqualify you and/or your submissions from any challenge if we believe that you violated the rules or violated the spirit of the challenge or the platform in any other way. The disqualifications are irrespective of your position on the leaderboard and completely at the discretion of Zindi.
Please refer to the FAQs and Terms of Use for additional rules that may apply to this challenge. We reserve the right to update these rules at any time.
If your submitted code does not reproduce your score on the leaderboard, we reserve the right to adjust your rank to the score generated by the code you submitted.
If your code does not run, your solution may be disqualified from advancement. Please make sure your code runs before submitting your solution.
Set random seeds where supported and document all model versions, settings, dependencies and data sources. Code review will check end-to-end reproducibility, source eligibility, the separation of Train and Test materials, and compliance with the model-call and token limits. Organisers may run the submitted solution on fresh cases to verify execution and compliance. A lower accuracy on fresh cases alone is not grounds for disqualification.
Custom packages in your submission notebook will not be accepted.
You may only use tools available to everyone i.e. no paid services or free trials that require a credit card.
Read this article on how to prepare your documentation and this article on how to ensure a successful code review.
First offence: No prizes for 6 months and 2000 points will be removed from your profile (probation period). If you are caught cheating, all individuals involved in cheating will be disqualified from the challenge(s) you were caught in and you will be disqualified from winning any challenges for the next six months and 2000 points will be removed from your profile. If you have less than 2000 points to your profile your points will be set to 0.
Second offence: Banned from the platform. If you are caught for a second time your Zindi account will be disabled and you will be disqualified from winning any challenges or Zindi points using any other account.
Teams with individuals who are caught cheating will not be eligible to win prizes or points in the challenge in which the cheating occurred, regardless of the individuals’ knowledge of or participation in the offence.
Teams with individuals who have previously committed an offence will not be eligible for any prizes for any challenges during the 6-month probation period.
We will review the top 100 solutions of every challenge when the challenge ends.
We reserve the right to request code from any user at any time during a challenge. You will have 24 hours to submit your code following the rules for code review (see above). Zindi reserves the right not to explain our reasons for requesting code. If you do not submit your code within 24 hours you will be disqualified from winning any challenges or Zindi points for the next six months. If you fall under suspicion again and your code is requested and you fail to submit your code within 24 hours, your Zindi account will be disabled and you will be disqualified from winning any challenges or Zindi points with any other account.
About Gen AI for Good Challenge: Cities Edition
The GenAI for Good Challenge: Cities Edition is a global innovation program connecting teams building generative AI solutions with city governments across Europe and Central Asia to co-develop and deploy responsible, open-source AI for real urban challenges.
The IEEE Humanitarian Technologies mission is to support impactful and ethically informed volunteer-led initiatives, programs and projects, and mutually beneficial partnerships, as well as to inform policy formulation that harness technology and innovation to address societal challenges (including disaster recovery) in a responsive, effective, and sustainable way.
UNDP is the United Nations’ lead agency on international development. It supports countries and communities as they work to eradicate poverty, implement the Paris Agreement on climate change and achieve the Sustainable Development Goals.
Join the largest network for
data scientists and AI builders