Aleksander Lisiecki’s prize-winning eArangoDB at SpawnFest 2021
- Erlang Solutions Team
- 13th Dec 2021
- 5 min of reading time
It’s tempting to say that SpawnFest is an event that doesn’t need an introduction, but we’ll give it one anyway. SpawnFest is an annual remote hackathon, where teams have exactly one weekend (48 hours to be exact) to create the best BEAM-related applications they can. It is the biggest event of its kind in the Erlang and Elixir community, with fantastic sponsors, prizes, participants and judges coming together to learn, inspire and hack. This year, we’re extremely proud to announce that our very own Aleksander Lisiecki claimed a podium finish in a number of categories for his project eArangoDB. His final haul was: Maintainability – 1st 🥇, Correctness – 2nd 🥈 and Completion – 3rd 🥉. You can see the full results for overall winners and other categories here. We invited Aleksander to the blog to share more about his project, the inspiration and the competition as a whole:
Aleksander: I enjoy the convenience of participating in a remote competition, which is self-explanatory regarding the current COVID situation. Another advantage is that all teams are accepted, which is not the case in other hackathons. And last but not least the prizes this year are awesome!
I have had an interest in graph databases for a while. The possibilities they give are exciting, and they can be used in a variety of really interesting ways from social media modelling to fraud detection and many more. In last year’s SpawnFest I worked on a project to provide an API from Erlang to Noe4j, a graph database. This year I wanted to try doing a similar concept but for ArangoDB. It is a more complex challenge as it is not a pure graph but a multi-model database. There were many more API calls to be implemented. I wanted to have an option to choose between different databases picking the best one depending on the use case and requirements.
A full demo with code and description is available here: https://github.com/spawnfest/eArangoDB/tree/master/demo/demo_cities
Overall I am satisfied with the result. I managed to implement the main part of my project. There are some rough edges here and there, but that is always the case with hackathon-style projects.
There is always space for improvement. The competition only lasts for 48 hours, which means that you are not able to polish the project with a shiny finish, but it is important to have the basic concept working. In the future, I think it will be beneficial to use property-based testing in test suites. Another thing left to do is to implement some validation options and some helpers regarding response handling, especially focusing on more readable error messages. The project might also benefit from adding logging or, even better, adding telemetry events.
In a remote hackathon usually, all teams are accepted. That is not the case in most hackathons, as they happen in person, and organisers have to limit the number of participants due to limited room size. Moreover, you work from the comfort of your desk, using the equipment setup you have built and improved over the years. Last but not least, you can sleep in your bed, which is not the case for in-person hackathons. On the other hand, if a hackathon happens in person, there are some extra attractions available like free pizza and coffee, some games to be played in the break like foosball or some board games.
SpawnFest, like any other hackathon, is about two things: a great idea and bringing the idea to life, or at least a prototype of it. I highly recommend you start thinking about ideas as soon as possible. Do not go too big, it is better to pick a slightly smaller project and deliver it within a limited time than it is to try to implement a huge idea that you won’t have time to finish. Read the rules carefully and check what the prizes are awarded for, and focus on those aspects of your project.
Last but not least, do not forget that it is about having fun! See you next year at SpawnFest!
Meet Erik Schön, Managing Director and and Nordics Business Unit Lead at Erlang Solutions. He shares his 2025 highlights and festive traditions.
Attila Sragli explores the BEAM VM's inner workings, comparing them to the JVM to highlight their importance.
Pawel Chrząszcz introduces MongooseIM 6.3.0 with Prometheus monitoring and CockroachDB support for greater scalability and flexibility.