About
Frontend architecture, component systems, and codebases built to last.
I'm a senior frontend engineer in Vienna. Since 2019 I've worked on the frontend of Geizhals, one of Austria's largest price comparison platforms — where we're currently migrating a Preact and Less codebase to Svelte 5 and SvelteKit step by step, after moving the build tooling from Webpack to Vite together.
Most of my work is migration work: changing the engine of something that thousands of people are using right now. That rules out the big rewrite. It means finding seams in the existing code, replacing one piece at a time, and having enough automated tests — Playwright end-to-end and visual regression, in our case — to know nothing broke while you weren't looking. The first one I did was a corporate blog coming off TYPO3 in 2015, with the whole archive of articles, authors and galleries to bring across intact. Different decade, same job.
Before Geizhals I spent four years at an agency here, which is where the other half of this comes from. Campaign platforms that collected photos from Twitter and Instagram, a like counter standing in for trees planted in Ethiopia, sign-up forms feeding a research project's database, the site for the first trade fair of the Austrian games scene. Someone else's design, a fixed date, and usually the server it ran on as well.
That last part stuck. I still build client sites as a freelancer with Laravel and WordPress, databases and payment flows and the Linux boxes underneath included — which keeps me honest about what a frontend decision costs everywhere else. Accessibility and performance aren't a phase at the end of those projects; they're the reason most of the earlier decisions get made.
I also wrote Laravel in 60 Minutes and produce video courses on modern web development.
Tools
- TypeScript
- Svelte / SvelteKit
- React / Preact
- Vue
- PHP / Laravel
- Tailwind CSS
- Sass
- Vite
- Playwright
- WordPress