Hi 👋🏻, I'm Stefan

Senior Software Engineer at Microsoft Logo Microsoft

I care personally about great developer experiences and write about Monorepos, TypeScript, Frontend Architecture, Web Technologies.

ALL ARTICLES

Vanilla Web - Part 1
12 min read

Vanilla Web - Part 1

Let me take you on a journey with me to build SPAs with Vanilla Web. No frameworks, no runtime dependencies, just pure JavaScript and TypeScript. Let's figure out a way to build web components without a huge DX downgrade. We might re-invent the wheel, but we will do it in a way that is fun and educational.

Web Components Zero Dependencies JavaScript Web Development Vanilla Web
Read article
Monorepos with PNPM Workspaces
18 min read

Monorepos with PNPM Workspaces

PNPM is not just a modern package manager but also a great tool for managing lean monorepos. Learn how to set up and use PNPM workspaces from scratch including TypeScript Project References for building and typechecking incrementally.

Monorepos PNPM Workspaces TypeScript Project References
Read article
Introduction to Frontend Monorepos
19 min read

Introduction to Frontend Monorepos

Commonly used in large enterprise codebases by companies likes Meta, Google & Microsoft, monorepos are a way to manage multiple projects within a single repository. This article introduces the concept of monorepos, their benefits, and the most popular tools used to manage them.

Monorepos Nx PNPM Workspaces Turborepo Rush.js Bazel Buck2
Read article
Creating a TypeScript ES Lint Plugin
10 min read

Creating a TypeScript ES Lint Plugin

Learn how to create a custom typescript-eslint rule for your TypeScript project. If you ever wanted to enforce a certain pattern in your codebase, this article is for you. I will show you how to create a custom rule based on a real-world example.

Angular TypeScript ES Lint
Read article
Incremental Builds with Nx
6 min read

Incremental Builds with Nx

If you have a monorepo with multiple projects and libraries, you might run into the problem of long build times. This article explains how incremental builds with Nx work under the hood and we will explore Nx's internal codebase to understand how it works.

Nx Monorepo Angular CI Incremental Builds
Read article
Refactoring at Scale
8 min read

Refactoring at Scale

Refactoring a large codebase can be a daunting task. In this article, we will explore some strategies for refactoring at scale using the TypeScript Compiler API to programmatically analyze and transform TypeScript code.

TypeScript AST TS Compiler API
Read article
Module Boundaries with Nx
8 min read

Module Boundaries with Nx

Module boundaries are a great way to enforce architectural rules in your monorepo and manage dependencies. They allow you to define strict boundaries, which can be used to enforce architectural rules and prevent accidental dependencies between modules.

Nx Monorepo Angular Architecture
Read article