Blog post cover illustration The story of Mihkel and Misha creating the Fussball app
Mihkel, Misha
23 Mar 2026

The story of Mihkel and Misha creating the Fussball app

We now have our own internal app called Fussball. We talked to its creators, Misha and Mihkel, about what it does and what motivated them to spend their free time building it.

Why table football matters at Codeborne

Table football has a special place in Codeborne’s history and everyday life.

The game and the table have been with us since our first office, which means the table is now only one year younger than Codeborne itself. That makes it 15 years old already. It is still the same table too, although by now it has definitely earned its wear and tear.

Legend has it that the table was originally bought under one condition: if the average number of reported working hours stayed above seven per day for a month, the table would be purchased.

At this point, probably everyone at Codeborne has tried playing at least once, and about half of the team plays regularly. A quick game after lunch is a good way to wake up both the senses and the wrists. As always, there are the usual suspects around the table, including Misha and Mihkel.

In the kitchen, an experienced eye or ear can immediately tell when the search for the four players needed for a game is underway. Looks and body language say enough. No words are really needed.

Regular players already know who to look at and who is likely to be playing. The game is also one of those small but important ways to bring new people into Codeborne’s internal culture.

Over the years, the more active players have kept the table in shape and even made a few upgrades. At one point, for example, Ular installed LED strips to make it easier to play when it was dark.

Codeborne's table football table with LED strip upgrade
The table football table in the Codeborne office “tower”

Now Mihkel has started looking for a new table. The board has once again set a precondition: if Mari, the heart and soul of our office, is satisfied with the quality of working-hours reporting for a month, the board will buy a new one.

Where did the idea for the app come from?

Misha says the original idea was simple: start recording historical results.

“We’ve been playing for so long already. I’m a bit of a numbers fan, and it turned out Mihkel is too.”

At first, both of them worked on the idea separately. Then, before Christmas, they started talking during a game, which was probably the most natural place for that conversation to happen. It turned out they had been thinking along the same lines.

During the holiday period, Misha put together a proof of concept in a single evening. When he started looking for a place to deploy the app on Codeborne’s servers, he discovered that Mihkel had already done similar groundwork.

After the new year, they sat down together and started moving forward as a team.

For Mihkel, the final push came in November or December of last year, although the idea itself had already come up many times among the regular players.

After some particularly heated games, people would start debating the obvious questions: who is really the best player, who has scored the most over the years, and who deserves bragging rights. The app had been discussed, but nothing concrete had happened yet.

Before the Christmas break, Mihkel asked colleagues how internal applications could be built technically so he could start tinkering on his own during the holidays. He got the repository running, but did not manage to build much during the break. Then, in the new year, he heard that Misha had already started working on something. That was the moment the project really began.

Building Fussball together

The two approached the project in a very familiar Codeborne way.

They opened a storyboard, wrote down user stories, prioritized them, and shared them with each other. New ideas emerged during the work: gamification, badges, ratings, and different ways of measuring progress.

Misha says they had a beta version ready in February and started testing it with the most active players. Because the feedback loop was so immediate and operational, weak points surfaced quickly and were fixed as they went.

Mihkel says one of the biggest open questions at the start was whether anyone else would actually care.

“We built it for ourselves as fanatics. Internally, the question was whether our colleagues would even want it. The test showed there was real interest, and it was rewarding to see that others enjoyed it too.”

From the beginning, their goal was to keep the app as simple as possible.

The format of their table football games is already straightforward: four players, three games, everyone plays with everyone else in turn, and the pace stays high the whole time. The app could not get in the way of that rhythm.

That led to very practical product decisions. One example was dropping the idea of counting every individual goal for every player. That would have meant too much time spent entering data into a phone instead of actually playing.

It fits well with a broader Codeborne principle: do not make things unnecessarily complicated. Less is more.

Taking it live

The next step was to introduce the app at one of our weekly internal TEX sessions.

The reaction was enthusiastic.

By now, the app is live and the games are underway. Misha and Mihkel have been building it step by step over a couple of months. In the end, the goal was not only to track results, but also to strengthen table football culture at Codeborne. Above all, it is a fun project.

Misha and Mihkel had not worked together on a project before, so this was also a chance to try that out alongside their main jobs. Because it is a hobby project, most of the work has happened in the evenings.

That, too, has value. It gives them a way to stop thinking directly about client work while still doing something they care about deeply. And often, that kind of focused hobby work creates room in the mind for new ideas that carry over into the next workday.

Mihkel puts it like this:

“Side projects help you grow. They are needed, among other things, to develop the skills you use in everyday work. You may have a big project and feel very confident in your scope. But when you step away from that daily routine and take on a completely new problem, the journey and the experience refresh your knowledge. Most likely, that will be useful in your daily work too. You start seeing things from a new angle.”

What the app lets you do

Fussball is designed to stay lightweight and useful during play. Right now it allows people to:

  • see who is currently playing
  • use a lobby to put together the next foursome
  • follow notifications around the flow of the game
  • enter results after a game
  • keep an up-to-date leaderboard and ranking
  • save match history
  • use a proper ELO-based ranking system
A screenshot of the Fussball app showing the current players, results entry, leaderboard, and ELO ranking.
Examples of the Fussball app interface and score tables

What comes next

The app is already useful, but Misha and Mihkel are not done with it.

Misha says there are still a few features in the pipeline that they definitely want to implement, and he expects more good ideas to come from users over time.

Mihkel is also happy to dream a little bigger.

In the ideal future, the table itself would be smart enough to send results directly into the app. That would be a dream feature for every player. Another anticipated addition is a betting system, especially for the people who do not play themselves but still follow the matches closely.

Fussball, after all, is not just for the regular players. It also brings joy to the fans.

AI as an important assistant

The project also became a practical way to explore how AI changes software development.

Mihkel tried using Claude to see whether it would help him work more efficiently, and found it very useful. Misha began in a more old-school way, but soon saw that AI was moving faster and started experimenting with it too.

Mihkel says they had already tried AI support back when he was working at kood/Johvi, but more as a third member of the team, someone on the sidelines offering advice.

Now, in his view, things have moved much further.

“AI is becoming a developer’s pair. My perception is that if we do not use its help, at some point we will be in a weaker position in the market. Day by day, developers are becoming more like business and system architects.”

For Mihkel, the project was also a chance to learn something new beyond AI. They used Golang as the backend language, which is not the default choice at Codeborne, where Java and Kotlin are used more often. It was a deliberate change of pace.

What did they learn?

For Misha, the biggest lesson was how much AI assistants are already changing the way software gets built.

If you can describe your application vision clearly as use cases and feed them to agents well, the assistant can already do a surprising amount. He points to the ELO ranking as a good example: it is mathematically quite deep, and would have been much harder to build from scratch without that help.

Mihkel’s takeaway is slightly different, but equally telling.

AI assistants have become so good, he says, that even when they do not understand what you want right away, they know how to ask. It can feel like working with a real person whom you need to brief properly before they can help.

Engineers stay engineers

At Codeborne, we rarely get bored. A good engineer remains an engineer even outside working hours.

And there is one more fun detail. When the guys presented their work at TEX, our HR manager Aho promised to keep an eye on this game index in the future and immediately asked whether the time spent playing could be added there as well.

That sounds very much like Codeborne too.

Join Codeborne!

Codeborne is full of interesting people and exciting challenges. We’re expanding our team and currently looking for a full-stack developer. If you love solving real-world challenges with a skilled team, we’d love to hear from you!

Experience at Codeborne

Our recent stories

The Codeborne Christmas beer brewing diaries

It was a sunny day in September. Quite warm for that time of year. We were sitting with my colleague Tiit on the roof terrace in the Codeborne office as we do every now and then. I ask him for advice on occasion - after all, what are the more experienced colleagues good for otherwise?

“Backing up” a good product owner

One of the key players in most successful agile projects is a product owner, at least in Codeborne’s practice. Our practice stretches for more than 15 years, during which we have successfully delivered over 100 projects.