About

Developer. Musician.
Builder.

I'm Tjaco — a curious developer and musician from Amsterdam with a deep love for Elixir, Phoenix, and building things that work beautifully in the real world.

From music to code

My journey into software started from an unexpected place — music education. After years of teaching, I discovered that the tools available to manage lessons, students, and schedules were either clunky or non-existent. So I started building my own.

That curiosity led me deep into the world of Elixir and Phoenix. What started as a practical need turned into a genuine passion. The elegance of functional programming, the power of the BEAM, the productivity of Phoenix — it all clicked. I was hooked.

Why Real World Phoenix?

I started Real World Phoenix because I noticed something in the Elixir community — plenty of tutorials on getting started, but not enough content on what it actually looks like to ship Phoenix apps in production. The deployment, the infrastructure, the testing strategies, the real decisions you face when building for actual users.

This blog is my attempt to bridge that gap. Every post comes from hands-on experience building and deploying real applications. No toy examples — just practical, battle-tested knowledge.

Smartcode

I run Smartcode, where we help teams build robust, scalable applications with Elixir and Phoenix. Whether you're starting a new project or need expertise to level up an existing one — we'd love to talk.

|>

Ship early, iterate often

The best way to learn what works is to put it in front of real users. Perfect is the enemy of shipped.

{}

Simplicity wins

The best code is the code you don't have to write. Choose boring technology, write clear code, avoid premature abstraction.

fn

Share what you learn

The Elixir community is incredibly generous. Writing about what I learn is my way of giving back.

Let's connect

Want to chat about Elixir, Phoenix, or your next project? I'm always happy to talk.