HackNation – the new heavyweight player on the hackathon map
Do you know HackYeah? You definitely do! If you're regular followers of our social media, you surely know that members of Solvro have already won this prestigious hackathon twice in a row. The organizers of this event decided to raise the organizational bar even higher. That's how "HackNation" was born - an implementation hackathon that, in addition to thousands of lines of code written, included numerous additional attractions, many familiar faces, and a huge prize pool.
As the KN Solvro, just like at HackYeah!, we played a dual role - we were a promotional partner, and also conventional participants, fielding as many as three teams. The strategies of each were different - some focused on developing projects in several categories to increase their chances of making it to the finals in at least one of them, while others focused on thoroughly developing just one solution to improve its quality to the limits of programming possibilities over the next 24 hours.
What is an "implementation" hackathon?
Why was this hackathon labeled "implementation"? In the club, we usually use this term to refer to an internal programming event that introduces new members to the club or project work. In the case of HackNation, such an association would be very misleading. The term "implementation" came from the fact that the presented solutions are indeed to be implemented in the institutions that were the authors of the tasks. Each of the hackathon challenges was proposed by different government organizations and was intended to solve real problems. Thanks to this, the winners of the selected categories not only became richer by 25 thousand PLN but also gained the opportunity to collaborate with the respective institution in developing the technology they created.
The challenges were very diverse and required many unconventional skills. Among them were those that required only a working module that could be used in the code of a larger government application, others assumed creating a full-stack application. Challenges included creating RAGs, experiments with computer vision, web scraping, implementation of machine learning algorithms, and creating complete web systems meeting very strict requirements.
Total Controller: How we tightened control over gambling in 24h
One of the teams was the charmingly named "Total Solvro" (you'll never guess what words were synthesized into this team name). They worked exclusively on one project with the equally catchy name "Total Controller" for the category "Control of Mutual Bets" for 24 hours. Contrary to the name, the application had nothing to do with the most popular (and de facto the only legal) casino in Poland, and the titular control concerned eight registered sites conducting mutual bets.
The problem faced by the National Revenue Administration was the need for manual control of such organizations, which is slow, inefficient, and limited only to the working hours of a clerk. As a result, after 4:00 PM, when every official had finished work, all unwanted changes on the sites offering bets could escape KAS's watchful eye.
As part of the challenge, we had to check the compliance of the offered bets with the regulations, scan the site for aggressive marketing or links to unauthorized betting sites as vetted by KAS, and check if the site offered exactly the type of bets it was authorized for. A large part of the challenge was acquiring domain knowledge, which KAS facilitated by sending us a link to a NotebookLM containing verified knowledge on Polish law regarding mutual bets.
Tech Stack: Django, Playwright, and racing the clock
Even though Python frameworks were not specified in the project's requirements (suggested were .NET or Node.js), we almost immediately decided to use the Django framework in the project. Thanks to this, we easily integrated the modules required for web scraping in this project using the Playwright and BeautifulSoup libraries. The frontend was consistently built on the Next.js framework, like the vast majority of Solvro projects.
As part of the application, we had to scrape all the regulations, links, and content of the bets themselves. Of course, since dynamically loaded JavaScript pages cannot be retrieved by BeautifulSoup, we also had to leverage a library that renders the entire browser, and due to automatic waiting and greater operational efficiency, we chose Playwright over Selenium. Our application was also expanded to search for illegal advertisements promoting unauthorized betting sites using keywords and classic regexes. Furthermore, the whole had to be integrated with a small (in our case exactly 13B) LLM model, to automatically understand the context of the regulations and extract keywords from them in a standardized form (and, analogously, in the case of site content).

The division of tasks in the team was quite fluid, but by observing the work of each team member, a clear division of roles could be distinguished:
-
Marvin Ruciński - Backend Developer and Pitch
-
Antoni Czaplick - Fullstack Developer and DevOps Engineer
-
Maciej Król - Frontend Developer
-
Amelia Sroczyńska - Project Manager and UI/UX Designer
-
Jakub Morawiec - Data Engineer and Pitch
-
Piotr Wojdas - Data Engineer
Interestingly, all the people mentioned here, except Marvin, were participating in a hackathon for the first time. We couldn't have dreamed of a better debut!
UX/UI: A dashboard you can comprehend in 3 seconds
The application was a fully automatic orchestrator. Speaking with other finalists, the other teams decided to create semi-automatic options where the action of checking a site had to be triggered manually. In contrast, we wanted to emphasize the application's usefulness outside office hours. The limitation of the clerk's time to just 4:00 PM seemed to us the biggest pain point in the current solution, and we prioritized fixing this problem. The orchestrator automatically launched at a set time (for us, every 15 minutes), and scanning all sites took about 10 minutes (15 minutes is thus a safe limit to ensure the server doesn't handle a huge queue of requests). The end result was a clear dashboard, modeled after those from PowerBI (but, thanks to Amelia, Maciek, and Antek, much prettier than PowerBI), which provided a clear cockpit for a KAS employee. In designing it, we followed the 3-30-300 rule, whereby all key elements (and in this case - information on whether irregularities occurred) are visible in the first three seconds, additional information can be analyzed within 30 seconds, and access to all details should be possible to analyze within 300 seconds. The jury appreciated our idea, and we finished the first stage with the second-highest score.
Pitching: A lesson in humility and improvisation
Subjectively, the most important part of any hackathon is the pitch, a short presentation given before the jury by selected teams. While waiting for the pitch, as well as after returning from it, we exchanged ideas with the remaining finalists in our category. We hoped to leverage our advantage from distinguished public speaking skills (I know, I wrote about myself very immodestly), but the jury surprised us with the expected form of presentation. Instead of presenting a prepared presentation in Figma, we were asked for a live demo showing a specific use case. It's hard to hide that this thwarted our plans to gain an advantage through effective sales skills and a particularly aesthetically pleasing presentation created by Amelia, but improvising, we performed quite well. However, it wasn't enough to take first place. After the pitch, we had the opportunity to talk with the future winners for a long time and we showed each other our projects. The competition was very fierce and both teams agreed that the battle for first place would be between us and that the quality of the presented solutions was very similar. The jury appreciated the work of our competitors more and, in our opinion, it was a very well-deserved win. Congratulations!

The unique atmosphere of the event
It must be admitted that immediately upon entering the Bydgoszcz Exhibition Center, where the hackathon was held, it was clear that the entire event was organized with great flair. The event was hosted by Katarzyna Więsiarska, who not only served as the host and face of this year's edition but also provided many valuable tips before the pitch based on her experience with public speaking. During the event, there were also numerous additional attractions, including several substantive lectures (although we can't say what they were about because we were too busy coding), a general knowledge quiz with prizes, and even... a group dance of the Belgijka at midnight. It must be stated that even if someone didn't come there with winning in mind, the organizers went to great lengths to ensure the experience was unforgettable. Moreover, some of the most important people from the current political world were invited to the event - Minister of Digital Affairs Krzysztof Gawkowski and Minister of Foreign Affairs Rafał Sikorski, who participated in awarding the first-place prizes in each category.
We would like to thank GovTech Polska for this unforgettable experience and the opportunity to support this event. See you next year in Bydgoszcz, and let's wish us this time to return to Wrocław not only with a podium but also with first place.
Jakub Morawiec
Head of Promo 24/25Pasjonat pracy kreatywnej, od pisania artykułów po obróbkę wideo. Wieloletni działacz społeczny w Samorządzie WITa i Social Media Specialist dla Solvro.