All posts
HackathonKotlinMobile

Sfera at HackaTUM

2025-11-15

HackaTUM. Two days. Four people. Two challenges. One app built in a language I'd never touched before. Looking back, I'm not sure whether to call it a triumph or controlled chaos — probably both.

Sfera at HackaTUM

The Setup: One Hackathon, Two Fronts

When I signed up for HackaTUM, I decided to go all-in. Rather than picking a single challenge track, my team took on two simultaneously: the JetBrains Challenge and the City of Munich Challenge. Ambitious? Absolutely. Smart? Debatable.

The idea behind our project was something that genuinely resonated with both tracks: Sfera, a community-first social platform designed to reconnect neighbors through shared sustainability goals. Think of it as a hybrid between a social feed, an eBay-style marketplace of community offers, and an interactive sustainability map — built for real neighborhoods, not just online echo chambers.

The core problem we wanted to solve felt real and a bit overlooked: people live meters apart from each other and are complete strangers. Sustainable initiatives already exist in most cities, but they're invisible. Newcomers want to belong but don't know how to start. Sfera was our answer to all three.

Sfera dashboard
Sfera interactive map
Sfera social feed
Sfera web view
Sfera logo

Building It: Kotlin Multiplatform, From Zero

Here's the part that still makes me laugh a little: I had zero prior knowledge of Kotlin going into this.

We chose Kotlin Multiplatform as our stack — targeting both web and Android — partly because it aligned perfectly with the JetBrains challenge, and partly because, well, why not make it harder for ourselves? KMP lets you share business logic across platforms while writing native UI for each target. In theory, elegant. In practice, at 3am with a deadline looming, a steep learning curve.

The app we shipped had a community feed where neighbors could post offers and events, an interactive map of sustainable facilities (bike rentals, recycling stations, second-hand shops, community gardens), and a gamification layer where eco-friendly actions earn points and badges. We kept the design warm and grounded — deep forest greens, natural tones, a logo that merged a human figure with a leaf.

The Google Maps Saga

My teammate spent hours trying to get Google Maps to work on the web client. We were debugging, second-guessing the implementation, questioning our own sanity — until I dug in and discovered that Kotlin Multiplatform simply doesn't have Google Maps support. At all. Not a bug. Not a misconfiguration. Just a wall. We had to pivot and implement a workaround on the fly.

The Pitch: Messy, Memorable, and Honestly Kind of Fun

I won't pretend the pitch was polished. It was not.

For context on the sleep situation: I spent both nights at the TUM venue. Not in a bed. Not even on a couch. On a chair. Two nights in a row, head against a wall somewhere between the coding stations and the snack table, in the kind of sleep that doesn't really count as sleep. So when I say we were running on fumes by pitch time, I mean it quite literally.

But there was something genuinely fun about it too. The energy in the room, the other teams around us all equally sleep-deprived and wired on caffeine, the weird camaraderie that only hackathons seem to generate. When you've spent two days building something from nothing alongside three other people, the pitch stops being a performance and starts being a story you're actually excited to tell — even if you're telling it slightly incoherently.

Sfera team at HackaTUM

The Result: Top 10 for JetBrains

We placed top 10 in the JetBrains Challenge. The City of Munich track didn't go our way, but honestly, given everything — the dual-challenge split, the Google Maps saga, the chair-sleeping — I'll take the JetBrains result with zero complaints.

What I'd Do Differently

Honestly? Focus on one track.

Splitting attention across two challenges sounds good on paper — double the exposure, double the shot at placing — but it fragments your energy in ways that compound over 48 hours. Every design decision, every feature call, every pitch preparation moment was happening against the backdrop of “but does this also address the City of Munich brief?” That mental overhead adds up.

If I do HackaTUM again, I'm picking one track and going deep. Better to build something exceptional for one audience than something good-enough for two.

Final Thoughts

HackaTUM was exhausting, messy, genuinely fun, and one of the better things I've done. Building Sfera — a real idea, with real people, on a real deadline — taught me more about shipping under pressure than months of side-project tinkering ever could. Learning Kotlin on the fly was less scary than I expected, and more useful than I anticipated.

Grow together. Live sustainably.

Enjoyed this post? Check out what else I've been building.

See my other posts