Software Engineer

Systems · Code · Badminton

"Discover · Learn · Create"

Vibe coding — what next?

AI is boosting how fast we ship. But if the person who built it doesn't understand it, how do we keep the product sustainable?

Read more

Rewriting is a beautiful trap

Developers hate spaghetti code and love the idea of starting fresh. But rewriting not always goes the way you think it will.

Read more

You ain't gonna need it

We built our new gateway multi-regional by default. It sounded great. In practice the gains were small and the cost was real. A reminder that YAGNI applies to architecture too.

Read more

Know your unknowns

Frameworks come and go. The anxiety comes from fear of the unknown. Here's my 2 cents to mitigate the anxiety.

Read more

AleOJ

A LeetCode-style online coding judge built end-to-end — from sandboxed code execution in Docker to the React frontend — driven by curiosity about runtime isolation and secure multi-tenant execution.

Read more

Helbus: Turning Open Data into a Public Good

A real-time bus tracking app for Helsinki, born from a personal painpoint in Finnish winters and built on HSL's open MQTT data — reached top 10 in the App Store travel category before HSL shipped their own.

Read more

Realtime Chat Room

A WeChat-style responsive chat room built as a single-page app from scratch.

Read more

Smart Campaign

A recommendation pipeline that models customer preferences from social media, matches them to live events worldwide, and generates personalized Finnair campaign offers with flight tickets.

Read more

Smart Receptionist

A chatbot that replaces the reception desk — connects building sensors, Slack, and indoor maps to handle visitor check-in automatically.

Smart Receptionist
Read more