Our first remote hackathon at jobvalley

· Alexander
Blogartikel Coding

The winter had been long, COVID-19 was omnipresent, social distancing the norm, and the office closed. January of 2022 were hard times for social beings like you and me, with no end in sight. Far away seemed the times of coding together happily at the office, exchanging ideas and working together on something bigger than the next sprint goal. Something clearly needed to happen. Something to bring people together, something to have fun for once in a while, and something to draw out those big ideas in people that had been simmering in people's heads for months, waiting for a release.

What better event than a hackathon to bring everyone together and remind them why they started careers in tech: To learn new things and build exciting stuff. And that is exactly what we asked people to do: "Work on whatever excites you, dare to think big, inspire others and show what you have done." These were the only objectives in the call for people to join the hackathon. Soon, ideas started flowing in. Discussions arose and teams began to form. Many ideas were generated, some were abandoned, others refined. In the end, six teams materialized during the kick-off event, each with their own mission.

Our projects

  • A Slack-bot that automatically posts user-reviews of our app, so we can quickly react to criticism and praise.

    It is really important for our teams to know if the products we are creating meet the standards of our clients. This Slack-bot makes it much easier to keep track of user reviews, so that we can change and improve things for the future.

  • A recommender system prototype that takes in student profiles and matches them with job profiles.

    Jobvalley brings employers and students together. To make the perfect match between the two, we prototyped a recommender system that takes in data and preferences of students and jobs and then ranks jobs based on how likely it is a student will actually accept the job offer.

  • A plugin for Miro that applies OCR to handwritten notes and converts them to a sticky with text.

    Do you have a fancy writing tablet on your desk, but your colleagues are complaining about your handwriting when you take notes with it in Miro? OCR to the rescue! This Miro plugin extracts raw 2D drawing data from Miro, recreates it as a picture file and feeds it into an optical character recognition system to output legible text.

  • A Jobvalley crypto-token that allows clients to easily and securely make payments to students.

    Students receive their pay from Jobvalley, who receives money from our clients. But why the detour? This team created Jobvalley-token based on the Ethereum blockchain that allows clients to pay students directly and securely. 

  • A dashboard that shows all important Jobvalley staffing data at a glance.

    To Make business decisions, information about the current data is crucial. But how to view this data in a meaningful way if you don't have the time and skills to exctract it from a database and plot it in a way that makes sense? This team created a dashboard that automatically plots important business-metrics for everyone to use.

  • A Slack plugin that works as a glossary for acronyms to keep everyone in conversations on the same page.

    Is technobabble wearing you out? Same for this team. They created an integrated Slack bot that automatically translates cryptic acronyms into plain, understandable language.


Prototyping a recommender system

My team was the one that set out to build a recommender system, something that I am interested in personally and has the chance of being incorporated in our product. The idea was to produce a proof of concept in the 2 days ahead. Searching for people to join me in my quest, I quickly found six team members during the kick-off meeting who were equally interested in learning about recommender systems. We soon realized that none of us had any hands-on experience with these kind of models, which was great because to learn about them was exactly the goal of the hackathon.

To learn more about how they work, we decided to give ourselves some individual learning time to read up and have a basis for discussing the next step. I read in 2 book about recommender systems that had been sitting idly on my (digital) shelf for some time, and was grateful that I had the time to dive deeper into the topic without the bustle of meetings and Slack messages. After that, the team regrouped and we shared the information we had gathered. This took up the remainder of the first day, after which it was time for the pizza party, which few people attended, probably because we had already all been talking remotely for the largest part of the day and all needed some time to rest our eyes.

On to day 2, which was all about building a basic version of a recommender system that matches students and jobs. The day before we had decided to build a model that would consider times and locations of jobs, as well as time preferences and locations of students. Students should be matched with jobs that were within their time preference and as close as possible. To measure similarity, we had decided use a one-hot encoding for both time preferences and locations, which allowed us to use cosine similarity to calculate a matching score. We generated random data that we would use, which we could conveniently do in the right format so that no data wrangling and normalization was required. Because the final presentations were scheduled for 15:00 already, there was no time to visualize the recommendations made by the model on a map, which is surprisingly difficult to do (in 30 minutes).

I personally really enjoyed the experience of the hackathon, because it allowed me to explore a topic for which I did not allow myself the time during the everyday madness. I already look forward to the next hackathon in May, where I plan to further develop my system.