Hi, I'm Joonas

CTO by day, tinkerer by night, and always a dad. Building things with code, circuits, and occasionally running shoes.

CTO at Mezzoforte Oy / Huutokaupat.com
Joonas Pihlajamaa

Code & Craft

1990s

The Beginning

Started with Amiga BASIC at twelve. It kinda sucked and I dreamed about C programming until I finally got a PC two years later. Soon I was deep into graphics programming, chasing the dream of writing great games. None of those projects fully materialized, but along the way I wrote a game programming tutorial called "Laaman tie DJGPP-peliohjelmointiin" that became quite popular among aspiring Finnish game coders in the mid-90s.

1997-2001

Demo Scene

Co-founded Bad Karma demogroup with a few friends (named after a cool nickname in a navy seals movie, I hear). We made quite a few demos pushing hardware limits and exploring creative expression through real-time graphics — I mostly handled the coding. The demos are still available at pouet.net if you have suitable hardware or DOSBox to run them.

2001-2010

Professional Development

Started more serious software development in summer jobs, beginning with VB.NET and Perl web development with CGI.pm, later moving to Java and PHP. After deciding to study Industrial Engineering & Management instead of games or software development — "as there is no career in them compared to working for Nokia" (since proven very wrong) — I still did freelance work on the side. Built sites like Stadissa.fi and Asunnonvuokraus.com among others.

2010s-Now

Hobby Projects & Competition

Programming became more of a hobby alongside my professional career. Built jGoBoard JavaScript go library and many other published and unpublished projects. Tackled Project Euler problems in order (which is quite a bit harder than skipping the tricky ones) and reached 146. With a history in Datatähti (Finnish high school programming contest), I also competed at Codeforces reaching ~1800 ELO — now unfortunately surpassed by the best AI tools. Currently following AI developments very closely since the AlphaGo era.

Code and Life

Code and Life blog screenshot

Electronics, Code & AI

In spring 2011, a friend suggested I could use AVR microcontrollers to build a go game clock. I was sold from the very beginning and have been expanding my electronics knowledge ever since. What started as documenting that project evolved into a broader exploration of technology — from microcontrollers to web development to artificial intelligence, which I've been following closely for about 10 years now.

Visit the blog

Beyond the Screen

📷 🎹

Photography & Piano

Got a Nikon D80 in 2008 and dove into serious hobbyist photography — shot a few weddings and some live music events. The camera sees less action these days, but it taught me to see the world differently. Around age 33, I picked up piano as a new creative outlet. Dreaming of getting an actual grand piano some day, but in the meanwhile I'm pretty happy with my Kawai Novus NV10 hybrid.

Go & Chess

A friend once showed me Hikaru no Go — I thought the whole concept of an anime about a board game was crazy, definitely something only Japanese could think of. I forgot about it until boredom struck, I typed it into YouTube, and watched all 75 episodes in a week. Started playing on September 13th, 2009 and eventually reached 1 kyu, just below the "strong amateur" 1 dan rank. Nowadays I've switched to Chess where I'm at a more modest 1370 ELO on Chess.com.

1 kyu Go / 1370 Chess
🏊

Triathlon

At the start of the pandemic in 2020, I combined my separate jogging, biking, and swimming habits into a beginner triathlon programme with Triathlon Suomi. I started (and maybe finished?) my triathlete career by competing in the 2022 Finnish Championships for Olympic distance, finishing with a time of 2 hours 50 minutes — 18th place in the 40-44 age bracket. Out of 18 participants, but who's counting? Half distance remains a distant goal.

2:50 Olympic distance

Let's Connect

Whether it's about technology, a potential collaboration, or just saying hi — I'd love to hear from you.