Special thanks to the great folks at CraftHub.
They featured my lessons-learned in this article on their CraftHub blog.

Caffeine, Code, and Collaboration

CraftHack 2023

In May, we participated in the CraftHack 2023 hackathon. To our delight and surprise, our team was awarded the grand prize from among forty competing teams. It was an unforgettable experience. This is what happened, these were the mistakes we made, and this is what we learned.

May 2023

The finalist presentation at the CraftHack 2023 Hackathon
CraftHack 2023 at the CraftHack Arena in the Hungarian Railway Museum. (Photo: CraftHub)

On May 18 and 19, 2023, the brilliant team at CraftHub hosted a large tech conference aptly named the Craft Conference, alongside the CraftHack hackathon, at the historic Hungarian Railway Museum in Budapest.

The conference was touted as an "international, festival-like conference about software delivery craft". Housed within a structure reminiscent of imperial times, hundreds of enthusiastic participants, developers, and entrepreneurs gathered to converse, market their ideas, seek employment, listen to diverse perspectives, and most importantly, to learn.

The Railway Park, a facility showcasing impeccably preserved trains, railway tracks, and other transportation equipment from bygone eras, served as a stunning backdrop. Within this stylish industrial hall, we explored numerous sponsor stalls presenting their products and services, and importantly, introducing their brand identities. We attended workshops and listened to speeches delivered by representatives from renowned companies such as Google, Spotify, Netflix, Tesla, and Apple.

The hackathon occurred as a concurrent event. Our team participated in CraftHack, and consisted of the following members:

  • Gabriella Feliciano (Brazil): Concept, research, logo design, presentation design (has participated at multiple hackathons in the past).
  • Gábor Pásztor (Hungary): Concept, backend development, video moderation (first time at a hackathon).
  • Bikash Kumar Mahanti (India): Concept, data scientist, video moderation (first time at a hackathon).
  • Marin Balabanov (Austria/Bulgaria): Concept, frontend development, video editing, pitch (first time at a hackathon in person, participated at last year's CraftHack online).

Remarkably, we began as complete strangers, initiating communication a few days prior to the hackathon via Slack, and meeting in person for the first time on Thursday in picturesque Budapest. Our collaboration proved fruitful, resulting in a highly effective team.

The Health Crew
The Health Crew, our team at CraftHack: Bikash, Marin, Gabriella, and Gábor. (Photo: A kind member of another team using Marin's iPhone)

CraftHack in a Nutshell

Much like other hackathons, CraftHack was a high-energy collaborative event where participants either worked individually or in teams to conceive and present an innovative project within a 24-hour timeframe, addressing the challenges set forth by the organizers.

We registered using the hackathon's Junction app, and established communication amongst ourselves as well as with the organizers through Slack. The CraftHack team enlisted mentors from sponsor companies and their own organization to assist participants. Throughout the hackathon, we were able to reserve time slots with a mentor via Booked4 to help refine our ideas, and to meticulously craft our concepts and solutions.

Over forty teams of exceptionally talented individuals came together to compete, collaborate, and showcase their solutions to one of the three proposed challenges. The opportunity to engage with such a multitude of skilled and motivated individuals was both amazing and inspiring.

The three main topics to choose from for the challenges were:

  1. SEON - Online fraud detection
  2. Hack & Heal - Healthcare
  3. CraftHack - How to improve hackathons

Official CraftHack 2023 Links

CraftHub's official site for CraftHack 2023 can be found here: CraftHack 2023.

This is a bit of a spoiler but here are all the projects submitted at the end of CraftHack2023: CraftHack 2023 Project Gallery.

You can also see the CraftHack photo gallery in the CraftHub Hackathon Facebook Group.

All the winners were announced on the official CraftHub Hackathons LinkedIn account.

For high-res photos, you can check out the CraftHub Flickr page.

Our Choice for the Challenge

A couple of weeks before the hackathon, our team members found each other on Slack using the "Team building" channel. We only ever "met" virtually for our first call on May 17, a day before the hackathon started. After some discussions, we chose to tackle the "Hack & Heal" challenge. This is the description from the infopack:

  • "How would you improve the patient's customer experience while making the waiting lists for CT scans and other interventions as transparent as possible?"
  • "How is it possible to look through the patient journey in the healthcare system from the physician's point of view? How would the patient logistics be effective?"
  • "How would you predict the medical equipment needs in the hospitals nationwide in order to make the logistics procedures and the necessary healthcare spending as smooth as possible?"

During the two days of the hackathon, we had to adhere to the following three deadlines.

  1. May 18, afternoon Submit the topic and draft concept.
  2. May 19, noon Submit the finished proof-of-concept, link to the GitHub repo, and a short video on Youtube.
  3. May 19, afternoon: Everyone was encouraged to finish a slide deck and practice their presentation. If you get selected as one of the eight finalist teams, then you'd have to present infront of the jury.

The CraftHack ArenaA birdseye view of the CraftHack Arena. (Photo: CraftHub)

Day One: Of Rains and Trains

The weather on the first day was notably cold and rainy. Prior to our meeting, each one of us registered and took the opportunity to explore some of the stalls at the Craft Conference. The relentless rain outside initially distracted us from appreciating the sheer vastness and beauty of the Railway Museum Park. It was only after some navigation that we were able to locate each other in the CraftHack arena, the designated hackathon area situated adjacent to the main conference.

We collectively decided on a team name, "Health Crew", and christened our product "HealthHub". In a nod to the Hungarian flag, the letters "H" and "u" in our product name were colored red and green. Gabriella initiated a Miro board, and we immediately began amassing our initial ideas. However, the clock was relentlessly ticking. In response, we swiftly sketched out the preliminary draft of the concept in a slide deck using Canva.

The initial Miro boardOur shared Miro board with our first ideas.

We had been quite productive, so we decided to break for lunch, which was generously provided by CraftHub. The event's catering organization was impressive, with multiple buffets offering a wide variety of dishes lined up along the sides of the halls.

After lunch, the organization team used Slack to encourage everyone to book a time slot with one of the mentors. Our team secured an afternoon session with Bálint Horváth.

Later this afternoon, another mentor, Dora Kádás, held a workshop presentation on the art of effective pitching, emphasizing that "The pitch is for the audience, not for presenting yourself". We listened attentively and gleaned several critical insights that proved instrumental later on.

During our mentoring session with Bálint, we made our first attempt at articulating our initial concept. As we presented, we recognized that something wasn't quite resonating. Bálint was exceptionally gracious and offered us vital feedback. He also candidly remarked, "You're not selling me on it. I'm not buying your pitch".

This critique was beneficial as it validated our initial hunch that our pitch needed more refinement. Sometimes, brutal honesty is the necessary catalyst to initiate progress. Bálint further suggested, "How will this product be monetized?" and "What is the tagline? Something akin to the Google of X, the Uber of Y, the Apple of Z".

The mentoring session imparted the necessary direction for us to pivot from our original idea. We were able to sketch out a more robust concept and subsequently proceed with the implementation.

Craft ConfA view of the Craft Conference Hall. (Photo: Marin)

Our Idea for HealthHub

We came up with the concept for the app we described as "Uber for CT scans". Below is a polished and streamlined version of what we ended up submitting.

HealthHub: the Doctor's AI-assisted portal for CT scans.

The Problem

In most healthcare systems, the distribution of resources is uneven. Expensive equipment like computed tomography scanners can be utilized much more efficiently if doctors can assign patients to free time slots with the right priority.

An early diagnosis can save a patient's life, shorten the treatment time and save money.

The Solution

Introducing HealthHub, the Doctor's portal for CT scans:

  • HealthHub analyses the patient's data
  • Finds a free CT appointment
  • And shows the average historic CT waiting time

How does HealthHub work?

Doctor's can find their existing patients or create a assessment for new patients.

They can enter the patient's details manually from their initial medical consultation including lifestyle and exercise habits as well as known medical history of relatives.

The AI system makes a first evaluation and responds with a risk score and the reasons for this assessment. This is AI generated, the doctor can always make adjustments and has final approval.

After choosing the date range for the CT scan, the app pulls the available CT appointments close to the patient's home address. The doctor then reserves a time slot for the patient.

Transparency for Improvements in the Long Run

Two additional dashboards show the average waiting times for a CT scans and the geographic distribution of the machines. By making this data transparent to stakeholder, the app show which areas need improvement, the waiting time trends and the demand forecasts.

Monetization

The web app can be monetized as a software-as-a-service for two potential groups:

  1. Large private hospital providers with a large number of CT scanner in Hungary and other countries. The optimized allocation of patients to the available CT scanner will result in a better utilization of these costly resources.
  2. The hungarian public healthcare system. An improved priorization and allocation of patients to CT scanners will decrease patient mortality rates and reduce the overall treatment costs because an earlier diagnosis results in more effective and shorter treatment times.

These were the scribbles we settled on to kick us off into the implementation.

Concept scribbles
The concept scribbles that we ended up following. (Photo: Marin. Scribbles: All of us.)

Crunch Time after Lunch Time

Our top priority was developing a functioning proof-of-concept. We acknowledged that it wouldn't be perfect and that we would resort to using mock data, but we were resolved to create something that a user could access and utilize.

Plan for the app views
The sketches for the app views. (Photo: Marin. Scribbles: All of us.)

Gábor embarked on working on the backend using Python and Django. An API endpoint was created to receive an address, compute the distance from the patient's address to the nearest few CT stations located in hospitals or laboratories, and then relay the list to the frontend.

Bikash generated a substantial amount of data for frontend usage, and then began exploring methods to map out the distribution of CT scanners per hospital over time and across different regions. He proceeded to share the CSV files containing the mock data via Slack.

Gabriella, having already made headway with research, shared her findings with us. She then discovered several questionnaires used to evaluate terminal diseases, and we ultimately decided to employ the cancer evaluation. She then proceeded to refine and articulate our concept in the presentation.

I busied myself with setting up the frontend using some mock data and adjusting the questions sourced from the questionnaires.

We continued to meet each deadline, regularly submitting the required deliverables. Before long, we had the first version of our application up and running in our test environment.

Craft ConfThe Craft Conference was the main event held in the large hall next to the CraftHack Arena. (Photo: Marin)

Day Two: Deadline Panic

On the second day, we were pressed for time. We needed to put the final touches on the frontend, complete the data views, and deploy the backend.

As Gabriella tirelessly worked on the project submission within the Junction app, Bikash, Gábor, and I took charge of filming the video. The CraftHack arena was rather noisy, so we opted to film outdoors - behind the catering area near the trash. We borrowed a standing table to serve as a makeshift camera stand. Reflecting back, we realize we forgot to return it to its original location. We hope that the catering company managed to retrieve it.

Regrettably, we didn't have a microphone, which led to the sound quality being less than ideal. Bikash took on the role of presenting the video introduction while Gábor detailed the monetization strategy at the end of the video. I recorded a walkthrough of the user interface and hastily edited the video. The final cut had to be two minutes or less.

Just in the nick of time, we submitted all of our materials on our project page within the Junction app. This included links to the Proof-of-Concept (POC) prototype and the GitHub repositories, our uploaded YouTube video, screenshots, and ultimately, the product and project descriptions.

We had done it! We successfully submitted everything by the final submission deadline.

Marin taking a nap
Looks like Marin is taking a nap, while the others are working. (Photo: CraftHub)

What Did We Build?

We built a proof-of-concept for "HealthHub: The Uber for CT Scans". This tool utilizes AI to aid doctors and other healthcare professionals in evaluating a patient's need and priority for a CT scan, and subsequently, booking an available time slot at a nearby institution. The proposed monetization strategy involves offering this as a Software-as-a-Service (SaaS) to large private hospital providers and the public healthcare system.

The UI for a doctor to request a CT scan
The doctor can evaluate the priority of a patient's CT scan and request an open time slot. (These screenshots show the revised version of HealthHub that we improved after the hackathon)

By rendering the historical waiting times for CT scans transparent and presenting them to stakeholders, the app aims to highlight areas needing improvement, identify general waiting time trends, and suggest future purchases that may be required to meet projected demand.

Dashboards CT scans
Dashboards showing the average waiting times and distribution of CT scans. (These screenshots show the revised version of HealthHub that we improved after the hackathon)

We also made sure that the web app works on mobile devices including smartphones and tablets.

The UI on a mobile device
The web app at the breakpoint of a small smartphone. (These screenshots show the revised version of HealthHub that we improved after the hackathon)

Walkthrough Video of HealthHub UI

Above is the video we created after the hackathon because we were not too happy with the one we submitted (the old one can still be found in the Junction app linked below).

Our Delivered Project Material for HealthHub

1. HealthHub Demo Prototype

You can try the proof-of-concept demo (using mock data) here: HealthHub POC.

2. Hackathon Submission

This is all the material submitted to the CraftHack team in the Junction app: HealthHub Submission.

3. HealthHub Video

Here is the polished Youtube video we produced after the Hackathon: HealthHub, the better video. (You can find the original video at the submission link above.)

4. HealthHub Slide Deck

Here is the slide deck we used for our presentation: HealthHub Presentation

5. HealthHub Repositories on GitHub

The frontend Bootstrap/JavaScript code repository for the proof-of-concept (incl. the data views) can be found here: HealthHub Frontend GitHub Repo

This is the Python/Django API code repository (the deployment to platform.sh would have incurred costs, so we removed it again): HealthHub API GitHub Repo

Our finalist certificates
Our team has been certified as finalist! Now we'd better practice our pitch presentation.

All the World is a Stage

Eight finalist teams presented before a jury composed of industry experts and entrepreneurs, and there were indeed some exceptional pitches.

The jury consisted of the following members:

Each presenting team took to the stage, with a large screen behind them displaying slides from their presentation deck. The presenter used a clicker to navigate through the slides while describing their product. Once their time elapsed, an obtrusive humming noise signaled the end. There was a little leeway, but not much. After a strict cutoff, the jury posed their questions to the team.

The Jury
The Members of the Jury (Photo: CraftHub)

My personal heroes were the members of the CraftSphere team, most of whom were just fifteen years old. They performed extraordinarily well. At their age, I certainly would not have been capable of presenting before an audience of a hundred people and a discerning jury. They confidently presented their effective solution for the CraftHub challenge on improving hackathons.

The CraftSphere Team
The jolly members of the CraftSphere team during their presentation. (Photo: CraftHub)

As the other teams made their presentations, we grew a bit concerned. The others merely displayed their slide decks and described their products based on screenshots included in their presentations. None of them demonstrated their actual product. The strength of our project was in the product itself. A presentation wouldn't suffice. We needed to showcase our prototype.

Gábor seized the initiative. During the presentation of the team preceding us, he persuaded the technician to assist us in connecting a computer to the large screen in time for our turn.

We then proceeded to present and demonstrate HealthHub. I believe this is what swayed the jury: unlike most teams, we showcased a working demo of our product and thoroughly described its potential for monetization.

Our finalist presentationPresenting HealthHub before the jury. (Photo: CraftHub)

An Unexpected Ceremony

The organizers didn't announce the winners until the very end, making it quite suspenseful. The final awards ceremony took place on the main stage of the Craft Conference in front of what appeared to be hundreds of audience members.

Accompanied by dazzling lights and uplifting music, Vanda Széplaki, the manager of the CraftHub organization team, announced the winning team of each category.

CraftHack 2023 Grand Winners
The overjoyed Health Crew team (Bikash, Marin, Gábor, Gabriella) receiving the grand winner award on the stage of the Craft Conference (on the right: Tai Tran, Junction Global Operations, and Vanda Széplaki, CraftHub Organization Manager, the only one on the photo who actually knows which camera lens to look at). (Photo: CraftHub)

I believe I can speak on behalf of our entire team when I express our deep humility and elation! We won a shared prize of 3,000 Euros, and we also earned the opportunity to participate in the Junction super-hackathon in Helsinki this coming November. (Here's the official announcement on the CraftHub Hackathons Linkedin account.)

I still can't fully grasp our achievement, and I'm finding it difficult to articulate just how incredibly grateful I am. This is truly extraordinary!

Gabriella holding the large award voucher
Gabriella taking the award for a "spin". Bikash ended up taking home the giant-sized voucher. (Photo: CraftHub)

Group photo of all the winners at CraftHack 2023
All the happy winners at CraftHack 2023. (Photo: CraftHub)

Each member of the team received a final certificate after the event
Each member of the team received a final award certificate after the event

Official CraftHack 2023 Aftermovie

Lessons Learned

The hackathon was an enriching experience. Here are some of the lessons we learned.

1. Preparation Before the Hackathon

There are numerous aspects you can prepare before the hackathon. Read the organizer's information, create accounts in the necessary tools (e.g. Canva, GitHub, Miro), and familiarize yourself with their functionality. Set up your IDE. Secure a webspace. This way, you'll be ready to hit the ground running. Uncertainty is a given, and things will invariably go wrong. Don't make your life harder by being unprepared.

2. Time Management

Always keep an eye on the clock. If a deliverable is due, ensure you submit it on time. While CraftHack organizers might occasionally show kind leniency, an incomplete project with essential pieces missing will lead you nowhere.

3. Keeping Track of Deliverables

All team members should stay aware of all deliverables. As humans, we tend to forget things. Each team member may forget different aspects, and it's through collective vigilance that you cover all bases.

4. Read the Material Provided by the Hackathon Organizers

This point may seem repetitive, but its importance merits repetition: read all the materials provided by the organizers. Doing so ensures you're clear about the objectives, the schedule and the deadlines.

At multiple points we were either going to deliver at the wrong time or deliver the wrong thing, if one of the team hadn't taken a close look at the organizers' instructions to get us all back on track and saved our bacon.

5. Pitch Your Project Not your Team

The culmination of a hackathon is the pitch. And yes, this is a sales pitch. You need to sell your product, not the team that created it. Explain the problem your product solves, how it does it, and how it generates revenue.

The product doesn't have to be perfect (yet) because you will be able to fill in the details during the presentation.

No one cares which team member came up with an icon, who made the wireframes, and who researched the topic for the presentation. You are a product team, so show your product!

6. Practice the Presentation

Rehearse your presentation by presenting it to your teammates multiple times. At CraftHack, the finalists only have four minutes for their presentation. Perfecting it takes time and practice.

We took nearly seven minutes when our team practiced the presentation the first time round!

Of course, the nice and quiet spot we had chosen in the park to practice the presentation quickly turned into a hellhole of noise. Four landscapers spontaneously decided to cut down the innocent little tree right next to our practice spot... With a frigging chainsaw! Once we moved to a different location, our presentation took just over four minutes!

Don't stop practicing just because you think you know it all. You don't. The more often you rehearse, the better you will get.

7. Let the Hackathon Team Help You

The hackathon organizers are invested in your success. They want you to succeed! Utilize their resources and take their advice seriously. Dora Kádás' presentation on how to pitch was invaluable for us. Our mentor Bálint Horváth's advice put us on the right track.

Reach out to the organization team in a focused and productive manner and they will provide you with the help you need. Of course, you will have to do the work yourself but they will be there for you at every junction (pun very much intended).

After the hackathon was over, Bálint told us that consulting a mentor early on in the hackathon is one of the most important things. It helps the team eliminate mistakes early on and quickly find their path.

A week before the main event, CraftHub organized a hackathon preparation workshop for first-time participants. Unfortunately, none of our team could join. If I could do it again, I definitely would have participated.

8. Treat Ideas like Resources

Embrace the ideas within the team. Some seemingly innocuous ideas may turn out to be extremely valuable, while others that seem good initially might lead to a dead end.

Don't be too much in love with your own ideas. Be willing to sacrifice them if something else works better.

9. Each Team Member Has Their Strengths

Our team composition wasn't meticulously planned out, yet in hindsight, we had an ideal mix of talents and skills: a marketing and design lady, a backend guy, a data science geek and me as a frontend dude. While we did have some discussions, we worked together suprisingly harmoneously. We worked out the concept together, then everyone brought their specialization without much ado. In the end, we delivered (and I still don't know how we did it).

10. Overcome Your Doubt and Deliver Your Project

It's okay to experience self-doubt, as long as it doesn't hinder your progress. Fulfill the requirements, tick all the boxes, and deliver the project. Remember, you can't win if you don't play till the end.

Impressions from the Railway Museum
Outside of the event hall: a large assortment of vintage trains, carriages and railway equipment (Photo: Gabriella Feliciano)

Things We Could Have Done Better

Despite our successes, we made some avoidable errors. The silver lining is that we'll prevent these from occurring next time (while probably making new ones, whoohoo!). Here's what you can learn from us.

A. We Neglected Design

In all honesty, our design left much to be desired. The version you see in this article has been improved and refined from what we submitted, which was not particularly appealing.

B. We Hastily Created the Video

Our preparation for the video was insufficient. With more practice and the proper equipment, such as a microphone, we could have produced a higher-quality video. The sound quality was poor and the editing was choppy. We overlooked many opportunities to create an impressive video, instead settling for an adequate one.

C. We Were Unaware of the Location's Advantages Until It Was Too Late

We didn't realize the potential benefits of the location until after we had completed our project and video. In fact, we only appreciated the tranquility and beauty of the surrounding park after we were done with everything.

If we had noticed this earlier, we certainly wouldn't have shot the video next to the trash cans behind the catering area.

D. We Could Have Provided Better Screenshots

The Junction app, used for managing the teams and submissions, offers a space to upload images and screenshots for the project. This platform is an invaluable opportunity to showcase your product.

Each image could contain multiple screenshots, showcasing different views and screen sizes (like the full desktop version and the mobile version of the app). We didn't take full advantage of this, but we should have.

E. Some Of Us Could Have Benefitted from a Change of Clothes

Lastly, a personal reminder for myself: bring a spare shirt to change into. The first day was cold, while the second day was hot. The excitement of the second day resulted in a lot of sweating. In all the pictures, there are dark spots around the armpits of my shirt, which, to put it delicately, are not just shadows. (This is a tad embarrassing.)

Impressions from the Railway Museum
The well preserved trains at the Railway Museum. (Photo: Gabriella Feliciano)

Objects in the Rear View Mirror May Appear Closer than They Are

My deepest gratitude goes out to my exceptional team colleagues Gabriella Feliciano, Bikash Kumar Mahanti, and Gábor Pásztor, as well as our mentor Bálint Horváth. Working with all of you was an honor and a privilege. We began as complete strangers, yet serendipitously formed an extraordinary team. We did it, and it's simply incredible!

I'd also like to extend my thanks to Vanda Széplaki, Ágota Kovács, and the entire CraftHub team for orchestrating such a meticulously organized event. A special note of appreciation goes out to the jury for entrusting us with their confidence.

And finally, to you, dear reader, my parting words are these: If you have the opportunity, please participate in a hackathon. Brush off any anxiety and hesitation.

The experience is exhilarating! Winning is not the goal here. The real victory lies in the process: creating something, collaborating on ideas, engaging in debates, and eventually reaching an uneasy compromise. You'll see your efforts through to the end and then present your creation.

There will be moments of doubt regarding the quality of your work. But please know that delivering something under pressure is an achievement in itself. The immense learning that takes place throughout this journey is invaluable, and once you've done that, it is something no one can take away from you!

More impressions from the Railway Museum
The beautiful park around the Railway Museum. (Photo: Gabriella Feliciano)