Microsoft-hosted Hackathon

4 min

How it started

I was in a phase where I’d stepped back from hackathons for a while.

My dopamine was running low, and work life felt boring.

Maybe because I had been mildly interested in hackathons, Instagram’s algorithm started showing me every hackathon on earth.

It was a hackathon hosted by Microsoft, and it was about generative AI!

When I came back from Goormthon, I immediately hit up a coworker who was bummed that I went without them.

The hackathon started on Saturday, and I ended up applying on Friday.

The topic was public sector innovation, and that day my coworker pitched an amazing idea.

We kept fleshing it out until early Friday morning and prepared for the hackathon.

Hackathon training

We arrived at Microsoft’s HQ next to Gyeongbokgung!

The view was incredible, so I asked for a photo right away.

These days, AI hackathons always start with a quick session on how to use the tools.

As you’d expect from Microsoft, they walked us through using OpenAI on Azure from A to Z.

But for a company with the biggest market cap, the token limits were so tight that some people ran out of tokens and couldn’t even complete the training.

Team building

Time passed and team building started. Most people were developers, but not everyone.

During intros, we learned there were managers from the Ministry of Gender Equality and Family and other public agencies in senior roles.

Some came to automate tasks in their own work and to learn AI.

But team building is cold. Microsoft probably anticipated it too, but

developers look for developers, so non-developers often couldn’t find a team by the end.

Some ended up like lost ducklings. It hurt to see, but we had our own ambitions too.

Both of us had used Langchain to build simple services, so we considered just teaming up ourselves if it came to that.

But more teammates is better, so we approached people who seemed like a good fit.

Luckily, someone who uses AI in their day job liked our idea and joined the team.

Hackathon starts

We weren’t dead set on using our idea, but we felt the idea we brought first was the most fresh and interesting.

So we named the team 악성민원 수호자 and jumped into planning and execution.

The idea is simple: a service that filters and softens malicious complaints when citizens submit petitions to Sinmungo or individual ministries.

This is possible because the models’ cognitive ability has improved a lot.

I wanted to implement the logic myself with Langchain.js, but the AI developer said they could handle it all in Python, so I focused on the front end.

I reviewed the AI developer’s logic together. They had no web dev experience, so they also spun up a FAST API service in a hurry.

Thankfully, deployment wasn’t required.

We couldn’t find a Korean-specialized model, and the dataset for abusive language that would make people feel offended was extremely scarce.

So the AI developer came up with a technique called Jail Breaking. Using it, GPT-3.5 could be prompted past OpenAI’s restrictions.

We generated tons of dummy data with profanity for the scenarios we needed, then used the higher model, GPT-4.0, to build a dataset.

We fine-tuned our GPT-3.5 to boost performance. And in the end, thanks to a coworker’s Supabase super-carry, we quickly set up a temporary DB

and were able to build the MVP we envisioned.

Demo

I think the presentations were around 11 PM, and I was so exhausted that I couldn’t focus on others and ended up falling asleep.

Our turn came, and we split the presentation.

There were many strong teams so I was nervous, but the judges’ reactions were better than expected, so I got hopeful.

We were lucky to make it into the top 4 that advanced to the finals.

It was called a hackathon, but it didn’t end in one night. The real finish was going to the finals a week later and presenting to public officials. Haahaha..

Over that week, we debated whether to further develop the MVP we built overnight, but ultimately we didn’t.

We did try one thing: training with the KISO profanity dataset to see if we could get a big performance boost.

But…

For that reason, we put more energy into the presentation and storytelling and prepared like crazy.

Finals and thoughts

The finals were held at the Government Sejong Convention Center, and I took PTO to go.

The first thing waiting for us was a random photo of us… lol

We presented the MVP we built overnight in front of about 400 public officials and collected votes, and the scale overwhelmed me first.

Watching the other three teams’ presentations made me break out in a cold sweat.

Everyone brought a dramatically improved version of their MVP.

From multimodal… one team even brought a custom ChatGPT, which was wild.

But maybe our presentation hit the officials emotionally, because thankfully we took 2nd place.

Winning was great, but unlike other hackathons, the judges didn’t decide everything. Actual potential users (about 400 people) voted on-site, and being recognized as something that could actually help the public sector made my heart warm.

To the public officials who suffer because of abusive complaints, even if it’s not our service… I hope things improve in some way so you can work without that burden!

Retrospective