Aleksander Lisiecki’s prize-winning eArangoDB at SpawnFest 2021

What is SpawnFest?

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: 

Why did you enter the competition?

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!

What inspired this project?

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.

Sounds great, where can we see the work? 

A full demo with code and description is available here: https://github.com/spawnfest/eArangoDB/tree/master/demo/demo_cities

The judges loved your project, how did you feel it went?

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.

Any thoughts on how this project could be improved in the future? 

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.

How do you find remote vs in-person hackathons?

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.

Any advice for participants for next year?

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!

Keep reading

Blockchain Tech Deep Dive| Meaning of Ownership

Blockchain Tech Deep Dive| Meaning of Ownership

What does 'ownership' really mean in the era of rising prominence of digital assets Let's explore this in third instalment of our blockchain blog series.

Blockchain Tech Deep Dive | Innovating with Erlang and Elixir

Blockchain Tech Deep Dive | Innovating with Erlang and Elixir

We're exploring why Erlang and Elixir are a good fit for innovation in the ever- growing blockchain space.

A Guide to RabbitMQ

A Guide to RabbitMQ

Unlock the fundamentals of RabbitMQ, a powerful messaging broker that plays a pivotal role in modern distributed systems.