Markus Oberlehner
banner
markus.oberlehner.net
Markus Oberlehner
@markus.oberlehner.net
Working on modernizing Austria's digital tax services. Vue / Nuxt, React / Next.js expert, TDD practitioner, Node.js enthusiast, ML padawan.
Is AI able to write code? I think we can stop asking this question: yes, it can!

Actually, it is way too good at writing (a lot of) code. In a surprising number of cases, when I ask an AI to write a moderately complex piece of code, it will produce an output that works.
November 18, 2025 at 10:58 AM
I’m in both screenshots. I wonder if there should be two types of commits:

1. Quicksave: part of what I’m trying to achieve works, I want to be able to safely go back there and diff new changes against this state.
2. End-of-Level Save: I’ve finished a piece of work that is fully usable.
there are two types. of git authors. it would seem
November 13, 2025 at 9:36 AM
I find it frustrating that a lot of AI critiques out there are completely off the rails, claiming that AI does not provide any value at all and hallucinates 99% of the time.

The only thing this achieves is to discredit any legitimate critique.
November 10, 2025 at 2:09 PM
Is it worth automating things?
I'm a software developer. My job is to automate things. Automation, over the last couple of hundred years, has made many of us rich (compared to our ancestors). So the answer should be simple, and yet it isn't... markus.oberlehner.net/blog/what-we...
What We Do - Markus Oberlehner
As AI threatens to automate jobs, this article poses the question whether automation is even worth it, whether it makes us happy, and whether happiness is even a worthy goal.
markus.oberlehner.net
November 1, 2025 at 11:35 AM
Can you spot the button one has to press to add this boarding pass to Apple Wallet? Liquid Glass is an accessibility nightmare even for people with A+ eyesight.
October 27, 2025 at 7:34 AM
The pattern I see when I read from people I respect, who describe how they make AI coding work for them, is treating AI more like a natural language input modality:

Tell it exactly what you want and it will be able to understand and do it for you.
people saying ai is a fad don't know what they're talking about. i'm definitely not giving up my claude now; the ability to do structural refactors "change this thing to be layered like this thing in this other project" is fantastic. i *do* want the model to be local and hope we'll get there in time
October 23, 2025 at 5:50 AM
Sitting in a hotel lobby in Amsterdam, I began chatting with a Swiss neuroscientist. At the end of our chat, I was more convinced than ever: always choose Open Source software!
October 11, 2025 at 9:12 AM
Reverse JSX? Instead of HTMLish syntax in JS, JSish syntax in HTML 🤭
Introducing Rendu: JavaScript Hypertext Preprocessor

Not just a template engine — Rendu bridges SPA and SSR using modern Web APIs with multi-streaming and async support.
October 8, 2025 at 1:19 PM
I have a hard time getting excited about a future of even more centralisation where all of us (developers) are merely building widgets for OpenAI.

And probably having to pay a hefty 40% tax. Yay!
OpenAI just dropped the Apps SDK, built on MCP. This is the future of how users will interact with your apps.

You won’t need to build a chatbot anymore.
OpenAI is the chatbot.
You just expose your tools through MCP.

Exciting progress toward Jarvis! youtu.be/9e581mYtrrs
youtu.be
October 7, 2025 at 6:04 AM
Reposted by Markus Oberlehner
If you want to follow my journey to regain digital sovereignty, you can read about it here: markus.oberlehner.net/blog/escapin...
Escaping the Apple Ecosystem - My Journey to Digital Sovereignty - Markus Oberlehner
Follow my journey as I leave the Apple ecosystem and search for alternatives to regain my digital sovereignty.
markus.oberlehner.net
October 5, 2025 at 11:08 AM
Typing this on my MacBook, I think about this picture at least once a day. It has completely changed how I see my Apple devices, from loving how tightly integrated everything is to feeling like a prisoner of the Apple ecosystem. Not a single day passes without me making plans for my escape.
October 3, 2025 at 5:24 AM
In preparation for next week's @viteconf.org, I gave @vitest.dev v4.x-beta a try.

Let's look at how to use the new Visual Regression Testing feature and run it in a Docker container for consistent results across environments.

markus.oberlehner.net/blog/visual-...
Visual Regression Testing With Vitest - Markus Oberlehner
Learn how to set up visual regression testing with Vitest 4 browser mode and run Playwright in a Docker container for stable results.
markus.oberlehner.net
October 1, 2025 at 6:11 PM
Reposted by Markus Oberlehner
Vercel ➝ Netlify migration made simple.

✅ Checklist
✅ Next.js tips
✅ Best practices

Start here → docs.netlify.com/resources/ch...
Vercel to Netlify migration checklist
A comprehensive guide for migrating your projects from Vercel to Netlify, including Next.js setup, configuration migration, and production readiness steps.
docs.netlify.com
September 30, 2025 at 5:07 PM
I asked the AI to impersonate me, and it did so without hesitation, following my writing about how to write good tests for Vue applications. A couple of thoughts about this:
September 22, 2025 at 12:01 PM
Underappreciated upside of AI code reviewers: you can bluntly tell it that it's wrong!
September 19, 2025 at 6:56 AM
Reposted by Markus Oberlehner
Looking for my next role!
I thrive where I can help others grow, and where my Vue.js open-source work is supported with time
Frontend, AI, remote-friendly, and open to (some) relocations!
September 11, 2025 at 9:28 AM
So @nuxt.com gets stable chunks! Seems like a small improvement, but it is huge!

Big JS bundle sizes don't matter because they're downloaded once and then cached. Right? Wrong!

Up until now, caching has barely done anything if we were deploying daily.

Stable chunks fix that! youtu.be/eryRM-ovpyY
Nuxt has BETTER CHUNKING now!
YouTube video by Alexander Lichter
youtu.be
September 5, 2025 at 4:10 PM
I get that as a tech CEO, you sometimes have to play the game, and you need a healthy dose of pragmatism.

But how those tech CEOs can look themselves in the mirror kowtowing to this US president is beyond me.

I find it frightening. Is there anything they won't do for financial gain?
September 5, 2025 at 2:52 PM
Funny thing is: whenever I travel to North America I’m having a reverse Sputnik moment on the state of public transport.

Luckily for @economist.com many Americans don’t have a passport so they’ll never know 🤫
Will the absence of robotaxis in Europe mark the moment its citizens notice how far their continent has fallen behind?
Robotaxis will be the Sputnik Moment for a declining Europe
A slow-motion car crash on Europe’s roads
econ.st
September 5, 2025 at 9:16 AM
Happy to be back talking about @vuejs.org! First time in Prague!
LINEUP CHANGE: Previously announced Juan Andrés Núñez unfortunatelly cannot make it to Prague due to personal reasons. But that doesn't mean we are cutting our schedule short as @markus.oberlehner.net will drop in with his talk combining UI with AI. Curious to find the answer? Join us next month!
August 19, 2025 at 9:04 AM
Controversial take: AI is merely a new I/O modality.

In the past, we had structured text, graphical UIs, and "structured" voice (already AI-driven); now, with LLMs, we also have unstructured text (and voice).

The unstructured text I/O modality allows us to do some impressive things, no question.
August 16, 2025 at 5:09 AM
Reposted by Markus Oberlehner
Recently I told my fiancé about my angst that I’m just not good at AI coding because I’m just not getting the results other on social media claim to get. She offered a great insight:

“Maybe you’re expecting more from it than others?”

I think that hits the nail on the head!
August 12, 2025 at 1:15 PM
Enlightening perspective on the current state of LLM discussions.
danabra.mov dan @danabra.mov · Aug 9
the gamble is that you won't ever have to learn or understand what you're doing — so you don't need to start now. each day you don't learn stuff you have to double down on that bet because you're losing time. and peer pressure reinforces it
August 9, 2025 at 6:10 PM
Disabled GitHub Copilot a couple of weeks ago and forgot to turn it on again. 🤷‍♂️

Current thinking about AI coding:
- Autocomplete is as useful as it is annoying
- Vibe coding is fun, until it isn’t (and somewhat addictive)
July 20, 2025 at 9:10 AM
If you want to have a particularly bad time, I recommend spending some time with Google Cloud (Console). How can this be a real product running significant portions of the internet? 🧐
July 19, 2025 at 1:36 PM