About
Innovation fair in Bangkok, Thailand
Hi, I’m Jakub. I’m an Elixir developer based in Wrocław, Poland, with degrees in both software engineering and philosophy.
I build web applications with Elixir, Phoenix and LiveView at Curiosum
I started out as a developer: C#, ASP.NET and later Java and PL/SQL at Comarch. I spent over a decade on the other side of software, leading projects and teams:
- Microsoft (Lisbon): ran the speech data collection programme for Cortana across ~20 countries, and designed a pipeline that cut operating costs by 90%.
- UNICEF (Bangkok): Innovation Lead for Thailand, bringing Human-Centred Design into programmes and running an award-winning hackathon for marginalised youth.
- Sirius (Bangkok): led a digital transformation for a top-3 Colombian bank, with four teams across Thailand, China and Colombia, in three languages.
Along the way I built a reading platform for the European Capital of Culture Wrocław 2016 and worked on a youth employment project in Lima for Polish Aid. In 2024 I came back to hands-on development, this time with Elixir.
What I write about
- Elixir and Phoenix LiveView: practical patterns, such as adding
stream_asyncto LiveView or reporting Postgres custom errors in Ecto changesets. - Software design: Domain-Driven Design, EventStorming and modular design. A good place to start is DDD Strategic Design Explained.
Some of my articles were written for the Curiosum blog. They’re listed among the posts and open on curiosum.com.
Open source
- live_stream_async: assign LiveView streams asynchronously with a
stream_async/4macro. - key_validator: compile-time checks that map and keyword keys exist in the target struct.
Talks
- Hooked on Widgets: A Better Pattern for Reusable LiveView Components, ElixirConf EU 2026, Málaga. Watch the talk.
Elsewhere
I speak Polish, English, Spanish and Portuguese, so feel free to write in any of them.
To see what I’m focused on at the moment, check my Now page.