Markus Oberlehner

Talks

I'm available for speaking engagements about Vue.js, React, Test-Driven Development, and Software Architecture. Get in touch if you want me to speak at your conference.

2026

  • MadVue – Adaptive UIs with Vue and AI: What If Your UI Could Build Itself?

    We carefully craft the design of current-day apps and websites tailored to a specific use case. Yet the needs of our users often don't fit neatly into the boxes we put them in when we imagine how they use our applications. What if we could take it a step further and build interfaces that adapt on demand to the specific needs of our users? With the power of modern, state-of-the-art LLMs, we can dynamically generate and adapt the UI of our application to meet the exact needs of our users in real-time. In this talk, we explore how to build a single AI-powered component that automatically responds to all UI requirements in a fast and reliable way.

2025

  • JoyConf Amsterdam – Adaptive UIs with AI: What if Your UI Could Build Itself?

    We carefully craft the design of current-day apps and websites tailored to a specific use case. Yet the needs of our users often don't fit neatly into the boxes we put them in when we imagine how they use our applications. What if we could take it a step further and build interfaces that adapt on demand to the specific needs of our users? With the power of modern, state-of-the-art LLMs, we can dynamically generate and adapt the UI of our application to meet the exact needs of our users in real-time. In this talk, we explore how to build a single AI-powered component that automatically responds to all UI requirements in a fast and reliable way.

  • ViteConf Amsterdam – Visual Regression Testing with Vitest

    Visual regression testing is the perfect tool to catch regressions within our UI component libraries and applications early. Yet few teams practice it. This is often due to reasons like complicated setup, cumbersome workflows, and difficulties syncing tests across different operating systems. In this workshop, we'll explore how to use Vitest to power our visual regression tests and how we can set up a straightforward workflow every team can adopt to create fast and stable tests. Additionally, we'll explore how to use Docker to create visual regression test snapshots that are stable across different operating systems and development machines.

  • PragVue – Adaptive UIs with AI: What if Your UI Could Build Itself?

    We carefully craft the design of current-day apps and websites tailored to a specific use case. Yet the needs of our users often don't fit neatly into the boxes we put them in when we imagine how they use our applications. What if we could take it a step further and build interfaces that adapt on demand to the specific needs of our users? With the power of modern, state-of-the-art LLMs, we can dynamically generate and adapt the UI of our application to meet the exact needs of our users in real-time. In this talk, we explore how to build a single AI-powered component that automatically responds to all UI requirements in a fast and reliable way.

  • Frontend Nation – Stop Doing E2E Tests! Write Better Tests with Contract Tests

    Tired of brittle end-to-end tests? It’s time to write better tests with contract testing. In this session, I share how to test web applications that communicate with HTTP APIs more effectively. Discover why mocking network requests can lead to false confidence and learn how contract testing with Specmatic allows you to test your entire app in isolation without mocks.

  • Craft Conference – Stop E2E Testing Your Next.js App! Write Better Tests with Contract Tests

    For a long time, I wondered how to test Next.js applications that talk to HTTP APIs (e.g., microservices) more effectively. How can I test the whole application in isolation without mocking the requests to the microservices? I was at a loss until I discovered Contract Testing with Specmatic. In this talk we'll learn the basics of OpenAPI specifications, contract testing with Specmatic, and how to use these tools to run a stub server to test Next.js, Nuxt, or Remix applications. We'll write tests with Playwright without mocking any requests between the frontend and backend parts of our application. No mocking means we can have 100% confidence that our application will work as expected while avoiding expensive E2E tests, thanks to contract testing methodologies.

  • enterJS – Modernizing Austria's Tax Services with Next.js Microfrontends

    Let's go on a journey to explore how we're working hard to modernize digital tax services for Austrian citizens, betting on microservices and microfrontends. We'll dive deep into the techniques and tactics we developed to replace our current monolithic system with modern Next.js-powered microfrontends.

2024

  • VueConf Toronto – Don't Mock! How to Use Contracts to Write Better Tests for Nuxt Applications

    Let's explore how to create more resilient software systems employing API-first techniques. By utilizing the contract testing tool Specmatic and the Playwright test runner, we can develop tests that ensure our Nuxt applications work perfectly and communicate correctly with microservices they rely on to get data.

  • vuejs.de Conf – Navigating a Transition to Vue with Nuxt and Microservices

    Nuxt or Next.js? Monorepo vs. Multirepo? Cloud or self-hosted Docker containers? And how the heck can we get rid of legacy applications? Let's talk about the big problems that can arise during a large-scale modernization effort, offering solutions and preventative measures to ensure a successful migration. We delve into the intricacies of transitioning from a hodgepodge of diverse projects and technologies to a more streamlined architecture using Nuxt with Vue.js, and Microservices. Let's explore leveraging Domain-Driven Design (DDD) to structure teams, their responsibilities, and project boundaries, creating a more efficient and effective tech environment.

  • vuejs.de Conf – Workshop: No More Mocking! Write Better Tests for Microservices-powered Server-side Rendered Applications with Contract Tests

    For a long time, I wondered how to test SSR applications (Nuxt, Next.js, Laravel, etc.) that talk to HTTP APIs (e.g., microservices). How can I test the whole application in isolation when I can't mock the API requests to the microservices? I was at a loss until I learned about Contract Testing with Specmatic. In this workshop, we learn the basics of OpenAPI specifications and contract testing with Specmatic, how to run a stub server to test a Nuxt application, and how to write Playwright tests without mocking any requests between the frontend and backend parts of our application.

  • JSNation – Navigating a Large Scale Modernization With DDD

    Which technology stack to choose? What to do to get rid of legacy applications? And how the heck can we structure our teams to support our efforts? Let's talk about the big problems that can arise during a large-scale modernization effort, offering solutions and preventative measures to ensure a successful migration.

  • daily.dev – How to Write Better Tests for Your Web Application with Contract Tests

    Let's explore how to create more resilient software systems employing API-first techniques. By utilizing the contract testing tool Specmatic and the Playwright test runner, we can develop tests that ensure our web applications work perfectly and communicate correctly with microservices they rely on to get data.

  • VUE.JS LIVE – No More Mocking! Write Better Tests For Your Nuxt Application With Contract Tests

    Let's explore how to create more resilient software systems employing API-first techniques. By utilizing the contract testing tool Specmatic and the Playwright test runner, we can develop tests that ensure our Nuxt applications work perfectly and communicate correctly with microservices they rely on to get data. We will take a closer look at how to write OpenAPI specifications that aid us in documenting our APIs and enable us to ensure they work correctly. Furthermore, we can use those specifications to automatically spin up a stub server, which we can use to test our application in a controlled environment with Playwright. The techniques I'll show you will help you write tests that enable you to rapidly iterate without fearing regressions.

2023

  • DevConf Łódź – There and Back Again: Build Resilient SPAs Faster Adopting the MPA Mental Model

    A story about how and why we moved to SPAs, later realized that there are some considerable drawbacks to this approach, and are now slowly moving towards new meta frameworks that bring back the best of classical MPAs. We look at the drawbacks of SPAs and the benefits of server-side rendering. Furthermore, we explore the long-forgotten art of progressive enhancement and why it is still important today. Finally, we'll compare popular meta frameworks for React, Vue, and Svelte and their ups and downs.

  • DevConf South Africa (Cape Town & Pretoria) – There and Back Again: From MPAs to SPAs and Back

    A story about how and why we moved to SPAs, later realized that there are some considerable drawbacks to this approach, and are now slowly moving towards new meta frameworks that bring back the best of classical MPAs. We look at the drawbacks of SPAs and the benefits of server-side rendering. Furthermore, we explore the long-forgotten art of progressive enhancement and why it is still important today. Finally, we'll compare popular meta frameworks for React, Vue, and Svelte and their ups and downs.

  • Vue.js Live London – Writing Good Tests for Vue Applications

    The emergence of SPAs, and therefore logic-heavy client-side code, drastically changed the game for front-end developers. Let's walk through how to come up with a solid testing strategy (tools and practices) and work on a real-world example of how we combine E2E testing with component testing. We'll highlight some general principles from testing theory and then go into the practical application, live coding in a TDD manner.

  • Vue.js Amsterdam - Writing (Really) Good Tests

    E2E tests, integration tests, unit tests, components tests?! On what kinds of tests should I focus? Why do I regularly deploy bugs to production despite having 100% test coverage? And why do my E2E tests take ages and are flaky as hell? Let's find answers to those questions and learn how to write good tests!

2022

  • VueConf Toronto – Vitest or Cypress? Why not both?! Tools and Practices for Good Tests

    The general wisdom is to use Cypress for E2E and Jest/Vitest for Unit and Component Tests. But nowadays, Cypress can also do Component Testing, and we can use Vitest (with Playwright) for E2E testing. So how do we decide which tool we should use? Or should we use separate tools for different kinds of tests? And how can we use those tools to write good tests? The answer is not what you think!

  • vuejs.de Conf – Vitest or Cypress? Why not both?! Tools and Practices for Good Tests

    The general wisdom is to use Cypress for E2E and Jest/Vitest for Unit and Component Tests. But nowadays, Cypress can also do Component Testing, and we can use Vitest (with Playwright) for E2E testing. So how do we decide which tool we should use? Or should we use separate tools for different kinds of tests? And how can we use those tools to write good tests? The answer is not what you think!

2017

  • WeAreDevelopers – Monorepos in the Wild

    Monolithic approaches to software development have quite a bad reputation, and rightfully so. Modularization and microservices dictate the current landscape, especially in the web development world. But still there seems to be a new trend coming up contradicting this: the Monorepo. Let's take a closer look at what Monorepos are, why popular open source projects like Babel, Angular, or React are using them, and how they can be utilized for managing modularized codebases efficiently with Lerna.