Three real-world AI problems
Prizes & Rewards
- 2,000,000+ kr in prizes
- UTmessan tickets
- Lovable subscriptions
- Summer jobs at Íslandsbanki
Competition Starts In
Competition
January 14-21, 2027
Registration and team changes close at 20:00 UTC on Tuesday, January 19, when the final test set opens.
- University Division: Must be enrolled in an Icelandic university
- Open Division: Anyone not enrolled in an Icelandic university
- Teams with up to 3 members
- 3 Real-world challenges from Icelandic companies
- Kickoff, prize ceremony and support on Discord throughout the competition
- The competition will take place online, but a workspace will be offered in Mýrin, a community for entrepreneurs in Gróska in Science Park.
- CUDA-capable Spark machines are planned for students during the competition; access and capacity details will follow.
Prize Ceremony in Gróska
January 22, 2027 at 3:30-5:00 PM
- Free food
- Company presentations on AI usage
- Networking opportunity
The new challenge briefs will be published at 20:00 on January 14, 2027.
Competition challenges 2027
Looking for the old problem descriptions? Select 2026 above.
C1 · Problem 1
Details comingProblem 1
The challenge brief, data and scoring rules will be published at 20:00 on January 14, 2027.
C2 · Problem 2
Details comingProblem 2
The challenge brief, data and scoring rules will be published at 20:00 on January 14, 2027.
C3 · Problem 3
Details comingProblem 3
The challenge brief, data and scoring rules will be published at 20:00 on January 14, 2027.
What is confirmed
- The competition runs January 14–21, 2027.
- There will be three new real-world AI challenges.
- Challenge briefs, datasets, metrics and submission rules will be published at 20:00 on January 14, 2027, when the competition starts.
Student support being prepared
- A kickoff event, prize ceremony and support on Discord throughout the competition.
- We expect to make CUDA-capable Spark machines available to students while the competition is live.
- Compute capacity, access, support and any usage limits are still being finalized.
Planned Lovable presentation challenge
Teams will be invited to use Lovable to create a clear, standalone website that explains the problem, their approach, results and the most useful lessons they learned. The purpose is to make strong competition work understandable and reusable by the wider community.
Judging criteria, submission instructions and the deadline will be announced before the competition.
Summer opportunities
The top team in the University Division receives a summer job at Íslandsbanki. We aim to offer summer jobs for winners at additional companies.
Prepare for 2027
Use one account across every year, then confirm participation in the next competition.
Partners
Questions and answers
Frequently Asked Questions
Do I need AI experience to participate?
No! The competition is designed for all skill levels. We provide starter code and baseline models to help you get started. This is a great opportunity to learn.
How do teams work?
Teams can have up to 3 members. You can participate on your own and find teammates later, or form a team from the start.
What is the University vs Open division?
University Division is for students currently enrolled in an Icelandic university. Open Division is for everyone else, including professionals, international students, or anyone interested.
How can I prepare for the competition?
Review the problems from the first Icelandic AI Championship in 2026 and try the starter code and baseline models to prepare.
Can I compete in the University Division if only some of my team is enrolled?
No. To compete in the University Division, all team members must be currently enrolled in an Icelandic university. If even one member is not enrolled, the team will compete in the Open Division.
What tools can I use?
You can use any programming language, framework, pre-trained models or APIs allowed by the problem rules. Your final model must respond within the predefined time limit for that problem, usually 10 seconds.
How does submission work?
Run your model as a server with a public HTTPS address, on your own computer through a tunnel or on a hosted server. A team member enters the address and API key on our website and confirms with a passkey, and the evaluator then calls your server. Keep it running until evaluation finishes.
What are the prizes?
Over 2,000,000 kr in prizes, tickets to UTmessan and Lovable subscriptions. The top team in the University Division receives a summer job at Íslandsbanki. We aim to offer summer jobs for winners at additional companies.
Submission Guide
How to set up, test and submit a solution for GKÍ 2027.
Using Claude Code, Codex or another coding agent? The starter's AGENTS.md gives it the context it needs. A team member still approves each score: submitting needs a passkey on a team member's account on this website.
01
What you need
- Python 3.11 or newer, and git.
- cloudflared for the public address that
connectcreates. - A device that supports passkeys: Face ID, Touch ID, Windows Hello or a security key.
- An account on this website and a place in a 2027 team.
02
Get the starter
The 2027 starter repository is published at kickoff. Once you have it, run:
python gki.py setupsetup creates .venv and a .env file with your own API key. Organizers never issue keys. Never commit .env or paste the key into chat. Use python3 if python is not found.
03
Test on your computer
python gki.py test # unit tests
python gki.py run # server on http://localhost:8000
python gki.py check # in a second terminalcheck sends example requests to your server with your API key. Local testing is unlimited and never touches hidden data.
04
Make it public
Stop run first: connect starts the server itself on the same port (8000).
python gki.py connect # prints the public address and API key; keep it open
python gki.py check https://<address> # in a second terminalconnect starts your server behind a Cloudflare quick tunnel and prints a public https://…trycloudflare.com address. The address changes each time connect starts.
Any public HTTPS host works instead: your own server or cloud service, Docker behind HTTPS, or another tunnel such as ngrok.
05
Submit on the website
- Sign in and join a 2027 team.
- Set up a passkey for your device on the submission page. You confirm your password first (or a code we email you, if you sign in with Google).
- Choose the problem and Validation, paste the base address and API key, and confirm with your passkey.
Enter only the base address: https:// and the host name, with no path (not …/predict), no port other than 443, and no ?, #, user name or password. Private and local addresses are not allowed.
A team member takes this step. The passkey confirms that a team member's account approved the score; it does not prove who wrote the solution. Coding agents can prepare the address and key, but a team member submits.
Keep the server running until the score is finished.
06
Rules that affect your plan
- Validation has a daily limit per team and problem. The submission page shows how many are left; the count resets at 00:00 UTC.
- Failures caused by the website or the evaluator do not count against the limit.
- Each team can have one queued or running score per problem.
- The final test is one attempt per team and problem. A started run uses the attempt; a run the evaluator refuses before contacting your server does not.
- Final-test scores stay hidden until results are published.
- Your server is never told whether a request is for validation or the final test.
07
Troubleshooting
- The website cannot reach my server
localhostis not public. Useconnector a hosted server, and open<address>/healthfrom another network, such as a phone with Wi-Fi off.- The address is rejected
- Enter only the base
https://address on port 443, with no path,?,#, user name or password. Private and local addresses are not allowed. If the host name cannot be found, the form says so: check the address and thatconnectis still running. - 401 Invalid API key
- Paste the exact key from
.envor theconnectoutput, without quotes or the wordBearer. - 422 error
- The request does not match the API contract. Run
python gki.py testand compare with the example requests infixtures/. - 500 error
- Your code raised an error, returned the wrong number of answers or an invalid output. Check the terminal where the server runs.
- Timeout or the tunnel dropped
- Keep the computer awake, load the model at startup rather than on each request, and answer within the problem's time limit.
- A score is stuck or failed on our side
- Keep the submission ID and contact an organizer on Discord. Organizers can restore a final-test attempt after a verified infrastructure failure.
- Before the final test
- Run validation first and use a host that stays up for the whole evaluation. A quick tunnel stops when
connectstops.
Questions and answers
Technical FAQ
What is a model?
A model is a system that produces outputs from inputs, such as a large language model like ChatGPT or a simple linear function. Most models are trained on pairs of inputs and expected outputs. Training minimizes a loss function so the model's predictions come as close to the expected outputs as possible.
How is model performance measured?
With a scoring metric computed on data the model has not seen. Accuracy, the share of correct predictions, is the most common. Others include MSE, F1 score and AUC. Each problem's metric is published with the problem.
What is an API, and why does the competition use one?
An API (application programming interface) is an agreed way for programs to exchange requests and responses, usually JSON over HTTPS. Your server provides one; the evaluator sends it hidden inputs and scores the answers. The starter already implements the API, so you write the model code.
What is the API key?
A secret the evaluator sends with every request, so your server knows the request is genuine. python gki.py setup generates it; organizers never issue keys. It is stored in .env. Never commit it or paste it into chat, and enter it only on the submission page.
Why can't I just upload my model?
Teams use different languages, libraries and hardware, and running all of it on our side would be slow and fragile. With an API, the evaluator only needs your address and key, and you keep full control of your code. This is also how models are usually served in industry.
What does gki.py connect do, and what is a tunnel?
A tunnel gives a server on your computer a public HTTPS address without changing your router settings. connect starts your server and a Cloudflare quick tunnel through cloudflared, then prints the address and key. The address works only while connect runs and changes each time it starts.
Can I run the server on my laptop?
Yes. Keep it awake, plugged in and online until the score finishes. For the final test, use a host that will stay up for the whole evaluation.
Why must the address be public HTTPS?
The evaluator runs in the cloud, so it cannot reach localhost or a private network. HTTPS encrypts your key and answers in transit. The form accepts only the base address on port 443; the evaluator adds the API paths itself.
What does the passkey step do?
Every score must be approved with a passkey on a team member's account on this website, for that problem, dataset, address and key. It confirms that a team member's account approved the score; it does not prove who wrote the solution. The step is deliberately manual: your coding agent can prepare the address and key, and a team member submits.
What counts against the daily validation limit?
Every validation submission your team starts for that problem, including ones still queued or running. Failures caused by the website or the evaluator do not count. The submission page shows how many are left, and the count resets at 00:00 UTC.
About Us
Why Did We Create This?
We are a group of friends that have competed in many competitions from elementary school math competitions to robotics hackathons. These competitions have taught us so much and they are one of the best ways to learn topics quickly. You dive deep into problems, try a bunch of wild solutions you have never touched before, and figure out what actually works. This is way different from school projects where the teacher has already spoon-fed you everything you need to solve the tasks. Since Iceland doesn't have a yearly competition like the ones we learned from, we decided to build one ourselves. We believe this will be a fun and hands-on way to grow Iceland's AI community.
What Makes This Different?
- Clear objectives. You know exactly what you are supposed to do. No finding an idea of a project.
- Real industry problems. Each task is built with an Icelandic company, so you're solving actual engineering challenges, not toy problems.
- Deploy your models. You'll run your solution as a server that our evaluator calls over HTTPS. No more notebooks that only work on your laptop.
- Pure numbers, no bullshit. Everything is judged quantitatively. No pitches, no prototypes, no subjective human judges picking favorites.
- A full week. You have time to experiment, fail, and try different approaches.
The thought behind the logo
Our mark draws on the neural connections of artificial intelligence. It is built on a solid grid where connection points create flow and innovation, and on closer inspection you can spot the competition's abbreviation, GKÍ, where the dots connect. The idea behind the website and the whole look is the Icelandic highlands: bright green moss on black sand. That is where the colours come from, the dark background and the moss green, and the three creatures that stand for the problems are hidden beings of the highlands from Icelandic folklore.
Special thanks to Guðrún Sara Örnólfsdóttir for the design and implementation.
















