• business
  • case study
  • web applications

Why the wealthiest company from Poland has choosen our hacking solution?

Have you ever wondered about winning a hackathon? We did not — to be honest, we didn’t even participate in any single hackathon before. So what happened that we won a task from the most valuable company from Poland at the second biggest stationary hackathon in the world?

You can lose your chance if you do not try

Hour by hour, minute by minute — days are just passing by. Meanwhile, you are hearing about another story of the success — yep, that’s fine, congrats, but right now it’s not for me, maybe I’ll try in the future. That’s the way how people sometimes look at the world around them — and we weren’t different.

When our colleagues from Coding Dojo Silesia offered us free tickets for the Hack Yeah hackathon in Warsaw we weren’t so sure if waking up early on Saturday, spending 3 hours in the car, and going back home without sleeping on Sunday is a good idea. But eventually, our thoughts went in the direction where trip, coding, and 0 hours of sleep combined into a fun adventure so… Why not?

Forming a gang of four

At the very beginning, there were only me and Mateusz — but for You, it would probably be easier to read if We call him Matt. So if language considerations are behind us we can move to an easier part — convincing your friends to join your dream team of two, waste money, and a whole weekend just to code and have some fun.

As you can imagine it wasn’t a piece of cake. Our first victim was Marcin (or Martin for you!) — he opposed and wasn’t sure. But if you take into consideration that I’m sitting next to him every day at work and I could use my gift of persuasion he finally said yes! Last but not least there was Kamil — here Matt used his superpowers as they were friends earlier.

So here we have our team:

– Igor Podlawski — it’s me and I’m co-founder of Software Things,
– Mateusz Stopka — he was working at Kava Studio (from where Software Things originates) and currently is working as a front-end developer at Rockwell Automation,
– Marcin Sabat — front-end developer at Software Things,
– Kamil Jędrkiewicz — our fullstack developer.

From Katowice to Warsaw at one tank

Ahead us was 318 km and circa 3-hour road. In the worst situation was Kamil, who had to take another 82 km from his town to Katowice. When we’ve arrived at the place where Hack Yeah was about to happen it has impressed us how big this event would be. They even parked a military APC opposite the front door!

Is it a coincidence that some teams looked like they were preparing for a war? I don’t think so! There were people carrying their iMacs 27″ or other desktop computers — so if you don’t remember — this was our first hackathon and we -with our tiny MacBooks, Dell and Lenovo- felt unsure. So we’ve made a decision — it’s time for our preparations… We had only one hour before the start of the event, so we decided to move to a local Mc Donald’s and eat some breakfast. After this tasty feast it was time to acquire some useful resources:

Ready, steady, go!

But wait, where we should really start? We could choose one of the 17 tasks prepared by Hack Yeah organizers and their sponsors. We had chosen the Transportation Management task held by PKN Orlen — the most valuable polish company.

As task description stated:

Objective statement: An in-house web application for transportation management and a mobile application for quick access to internal routes and timetables available to the public.

Below is full task description and all public details:

There is a network of routes which accommodates vehicle movement and freight needs on the premises of PKN ORLEN’s Production Plant in Płock. Generally, as one can easily check on the Google map, some roads run from north to south or from east to west. Each route has an assigned number or letter. Individual roads or their sections may also be completely excluded from traffic (temporarily or permanently), as well as traffic may be restricted to a specific group of vehicles or persons. In addition, each section of the road may have its own restrictions for vehicles, such as maximum width, height or tonnage. There is also internal bus communication with designated stops on the premises. Buses operate on strictly defined routes according to the set timetable. As far as large-size vehicles go, it is necessary to plan the route in advance due to technical constraints of individual road sections. The task is to build a web application for internal transportation management that would cover bus timetable planning, defining bus stops and large-size vehicles route planning, taking into account the limitations described above. One of the forms of route presentation should be a base map of the plant. A mobile application for quick access to internal routes and timetables should constitute an additional functionality.

Our first step was to really look at their plant roads. It was really big! Many questions came to our heads like for example. we weren’t sure who should plan these routes. But thankfully Orlen team was very helpful and after one short chat, we had the first idea.

Tools, process and management in 24hrs deadline

Because our time Was limited we’ve decided to not try to reinvent the wheel and find some good pathfinding solution. And had we found it quite fast:

https://qiao.github.io/PathFinding.js/visual/
https://briangrinstead.com/files/astar/
https://www.easystarjs.com/

Finally, our choice was EasyStar.js. It looked for us as the most modern and the easiest solution. Okay, we have a pathfinding algorithm, it is good, it is fast and it’s working, but on what should we draw? We thought about different solutions, but finally, we established that drawing SVG would be the best suited to our needs.

Now we had to manage our team and assign roles to everyone. In the very beginning, Matt’s role was to get to know with our pathfinding algorithm, Kamil was responsible for the part of drawing SVG, Martin was responsible for styling views, and — unlucky, but someone has to — I was a graphic designer.

To help our process we chose some basic tools like Slack, Bitbucket, and Adobe XD.

Our last discussion was about the front-end framework. Is it even needed? Finally, our answer was: yes. Why? One of the requirements was to make a mobile application, of course in this size of team it Was unreal to make a dedicated mobile app, but hey, isn’t PWA considered a mobile app?

To solve the above case we had chosen Vue.js — it made handling our forms easier and also we had the box simple PWA app — thanks to great Vue CLI service — even better in v. 3.0.

It’s easy, it’s not easy

On the paper, our solution was easy to implement but time was running out faster than we thought and after few hours our fatigue was just getting worse. Later we also introduced basic firebase services to save somewhere route details. Finally, we fucked up few things, but on the other hand, we also came up with many good solutions. Some of the problems cost us minutes or even hours of precious time. To be more accurate I will mention few examples:

  1. Of course we were using GIT, but we weren’t using any git flow or even simple branches, we thought that in this type of MVP fast project master branch would be a key to our heart… finally it wasn’t.
  2. We hadn’t used Firebase earlier, so getting to know with this tool ended up with few hours spent on testing solutions.
  3. EasyStar.js was good and very fast solution.
  4. Vue.js was a good solution in this case with some minor drawbacks (like half of the team having experience in it).
  5. We had some stupid case sensitive problems in integration of our api.
  6. Using SVG map was an good idea.
  7. We had also some unnecessary quarrels.
  8. One of our best decisions was to put some effort on good UI and UX of our app. We’ve picked some PKN Orlen identification key values like red color, font type etc.

What was the outcome?

Our effort wasn’t useless, at the end of the time we were tired, angry at some mistakes but also finally happy about what we had made. We were sure that we made good work. But you can only imagine our surprised faces when they told us that we are in the finals as one of the 5 teams.

In the final stage, we had to debate with Orlen’s jury. We had only 8 minutes to sell our product and We’ve made it! We think that our confidence in our solution was very helpful. We’ve made also done some researches about other teams' work and used this knowledge in the discussion.

Finally, we won our category at the second biggest stationary hackathon in the world. Our prize was 10.000 PLN (around 2400€) but money wasn’t the most important at this time. We surely met our first goal — to have fun and make some good work but also we won with ourselves. Working for 24hrs is quite a challenge but sometimes the sky is just the beginning.

Websites

Hi, we are Software Things, and we can help you with your website idea. If you are looking for a team to implement useful, well designed and lightning fast website – you are in good company.

Contact us if you wish to make good products together