48 hours of pure happiness — #hacksummit hackathon
Whenever i hear people say, this or that guy built his (or her) big company or website within a small amount of time like a weekend or so, i‘m thinking:
you can do that too?! sure, you can!
But actually i’ve never tried and when i was, i didn’t really tried. With pure motivation i started to build something and planned to spend the whole weekend or the whole vacation i took only for this project and everything went full procrastinating and binge watching one (or maybe two) whole series in one week.
The project itself was started, but never finished. And myself was sitting in the corner crying but enjoying another episode of Prison Break, Scandal, Suits or something else, which i didn’t wanted to see, but wanted to see as i was sitting on this huge project of mine from which i needed a break.
All you’ve got is this bad feeling about failing which you don’t need to have but you need to handle with it because, you planned to build this project and instead you have had not enough focus to finish it.
This is no lack of focus or motivation by itself. It’s an result of bad planning and the missing ability to cut short on expectations.
Dream about the stars, the moon, the solar system…
… but aim for the sky.
The hardest part of building something in the smallest possible amount of time is differentiate between the project, how it could be after several months of development and the most valuable product (MVP), which you have to create in your planned period. That’s why so many projects just dying from the planning point of view, because someone wants something this big. But in that amount of time there is just the possibility to create a small piece of that, which is why the whole project is on hold until there is time (which will never happen) or canceled completely.
There are only two scenarios in which you have to build something of that size within this short period of time to reach your ridiculous deadline on point: dangerous situations (like building a hut in the wild within a few hours after your plane crashed) and huge opportunities (“if we get this website up and running within the next two days, we save the world and earn cash… cash no one will ever be able to count!”).
Everything else needs clean planning and clear focus on what to reach on the long term and how to reach the milestones to lay out the base for this big product. If there is no room for good planning, the execution will always lack.
Is it creativity or maybe productivity. The bigger the target, the smaller the motivation to actually work on this project, just because the effect of achieving something within a big project is much lower as it would have been in a much smaller perspective (like the MVP).
It’s like cleaning your room. If you focus on the main spot: your desk, your couch or the dinner table, you’re more likely to start actually cleaning instead of start repairing the vacuum cleaner or try to rub the dust out of your shelves.
Don’t get me wrong, i’m not there yet, i just wanted to share my experience on this topic. It’s hard for me too, to actually get things done because everything i see is always the ways i want this project to get past before it even can walk by itself.
#hackathon for hack_summit 2016
This opportunity is huge. I’ve got aware of this hackathon as my mate Nico Prananta shared his attendance on facebook so i sent him a PM to collaborate on this one.
Maybe everything would be nicer if we’re two guys fighting together to ship this thing instead of two guys fighting against each other (and the many other participants) to, maybe, fail hard.
So we went for brainstorming real fast, we just hit every idea into a Google Doc to discuss this idea, talk about those aspects of that part with that thing and what we really wanted to develop. And everything seemed technically like a waste of time after Nico told me one or two days before the event, that he wants to develop a problem solving platform especially for his daily problem, BUT in fact the hackathon could be just a beginning for our partnership so everytime we want to collaborate again in the future we could just pick one of those ideas with a little bit of distance as we’re moving on and get a new point of view on things we saved within that document.
I was straight all in on his plan to build this thing and wanted to know everything he got on his mind so we talked about the project and how we need to solve this issue.
Astrobash was the name, nothing self explanatory but as he went further, it made sense to me.
As an developer you often run into problems like renaming 400 documents for a specific pattern within 1, 2 or `n` directories, or you need to generate an GIF-File out of 250 JPEG and so on. Tasks you can try to solve manually (with programs)… once. But after your first time doing that you’re forced by your own quality demand for your working time to create a script to solve this task.
So instead of trying to get this problem out of your way, you’re spending your time to learn how to build your own script and, if you succeed, you can just hit your command in your terminal and everything is fine but when you fail to create this script, you waste a huge amount of time. Time most of us people never have.
Since the script creation part is the most time consuming part, we thought about a nice interface in which you can drag and drop your needed actions (like moving to a different folder, actually renaming a file, deleting temporarily created directories and so on) or simply add new functions like showing your script version or help texts and so on.
After you’re done, composing your script, you have it compiled with a single click of a button.
The second thought was: what if you can share your script with other people and they can even improve your script if you’ve got some logical issues or something like that. So we thought about sharing functions and so on which ended in our project astrobash.
Who does what and how do we do it?
After making clear, what our project was and what we want, we planned the tasks and who is in charge for which part?
We went with Nico building the front end and me creating the back end which i preferred a bit, because the front end would be a pain in the ass to create since there are so many interface elements to consider to get your script compiled.
I planned the backend really simple just because i’ve got enough experience with building an API, so i created everything API-based and made all elements of our project per REST-API available.
The hardest part for me was to consider all needed variables into the specified models and actually get everything bound up to each other.
My experience so far, all i can say: i had a huge amount of fun and frustration, just because sometimes you head into a dead end with a bug you can’t think of a fast solution because you’re tired, hungry and so on. But you keep concentrate on this piece of code like a bull staring on this wall which will never move but you keep staring until you finally think “you know what? f*** it!”. And after you stood up, you immediately sit down again and fix that shitty thing you used to call bug in the past. And you got this feeling of solving everything like a badass. And then you realize, everything was just the code you entered, which doesn’t made sense at all which caused you those problems and you’re falling into the hole again.
These ups and downs made this event so awesome and everything i can say is:
In the End, it doesn’t even matter
We built everything as fast as we could, we tried to hit the deadline and we tried hard. In the last half of a day or so we constantly talked about simple things and were trying to achieve the best user experience.
I jumped in to help Nico with the frontend and built the landing-, registration- and loginpage but after we got just 2 hours on the clock we talked about everything we need to get done till then and realized, there was not enough time left to achieve the working project.
I don’t really know, what exactly went wrong but from my perspective i think we shouldn’t had to split the project with this hard cut because we both were thinking the other guy builds his stuff so i need just to make sure my stuff gets delivered on point. This cost a huge bite of hour timeframe and got us maybe a bit out of our estimations in the beginning.
Nico himself did an awesome job and after i sat down and tried to look into his code i realized, if we were sharing every kind of task with each other i would have been a better support for his kind of problems and vice versa.
I loved working with Nico and i loved working on this projects because even after not getting our project done on time, i achieved to focus on this projects for at least 30 hours of this 48 hour timeframe.
Which is amazing.
Thanks for your time and since this is my first post here on medium i would love to hear your feedback guys. Maybe i can learn a few thinks (and to be honest, i’m sure i can learn a lot! haha).