Nik Brunner's personal website - a black and white photograph of a modernist house representing his digital home

About

Hi there!

I'm Nikolaus Brunner (Nik for short), a Software Engineer based in Landshut, Germany, specializing in frontend architectures and design systems for 6 years now.

I have a strong sense for UX (user experience) and DX (developer experience). I love collaborating with designers or making design decisions independently.

I naturally identify priorities and manage my own work, but I also know when to reach out for input. Being part of a good team working towards a shared goal is what I enjoy most.

I genuinely love building and using products. I'm probably the guy who contacts support about features or bugs, and regularly checks changelogs and GitHub releases.

I was born in 1984, and outside of code I enjoy hiking, running, bouldering, cooking, reading, and photography. I also have a strong interest in design in all its forms, like architecture, art and typography... Plus I have a slight keyboard obsession.

I know that every sentence above (and this one) started with "I", but it felt absolutely awkward trying to speak about myself without using "I". :)

AI

I entered the industry before AI became a thing. I climbed that hill without ChatGPT or tab completion.

That foundation was invaluable, and still is. For juniors I think AI shines as a teacher and reading partner, but not as a writing partner during the early phases. I think it's important to learn to solve problems yourself and to also write down the solutions... or the attempts.

The technology is fascinating, but it has real limits. Relying too heavily on it means actively unlearning skills and knowledge, and maybe most importantly, losing the fun.

That's why I'm deliberate about how I use it. I use Claude Code as my primary AI assistant. I don't jump from model to model each week, but rather try to learn to get the most out of what I'm given. I think that for the last 1,5 years, Anthropic has built out the best integrations and DX for AI assistance.

AI Tools

I also use personal slash commands and various AI tools where applicable.

These are my most used tools for AI-assisted development.

Documentation Lookupref.tools
Better Web SearchExa
Issue TrackingBeads

Employment

Looking for a Senior Frontend role starting February 2026.

DealerCenter Digital

I worked across the full spectrum of frontend development—from feature implementation and bug fixes to code reviews, mentoring, and cross-team coordination for a mature Electron application serving hundreds of bike retailers.

A major focus was architectural migrations: I championed TanStack Query adoption and migrated the codebase from legacy Redux to Redux Toolkit. This included authoring comprehensive code guidelines and best practices documentation. I also completely rebuilt a Vendure storefront from Remix to TanStack Start/Router with TanStack Query, Form, GraphQL, ShadCN and Tailwind CSS.

On the design system side, I created a comprehensive 10-variant color system with Figma integration, affecting 1.6k files across the codebase. BikeCenter's entire component library was built from scratch using React, TypeScript, and SCSS—no third-party UI frameworks.

Improving internal APIs and establishing developer experience patterns across the team were another focus. As a trusted decision-maker for UX and technical feasibility, I bridged design and engineering, collaborating with designers as both implementer and advisor.

Mentoring junior developers through pair programming and code reviews was another key part of the role. I established technical standards and conventions across the team, including translation guidelines, BEM naming, and TypeScript best practices, and served as a technical hub between management, backend, and frontend teams.

diva-e

PositionJunior Frontend Developer
PeriodMar 2020 – Sep 2020

Contributed to a major e-commerce platform and built an internal social platform using React, GraphQL (Apollo), and SCSS. When DealerCenter Digital offered a frontend position, I made the move — an opportunity better aligned with my goals.

Campudus

PositionIntern
PeriodDec 2019 – Feb 2020

I built a fullstack accessories ordering application from scratch—design, architecture, backend, and frontend—during a 3-month internship at DealerCenter Digital's sister company.

Projects

Personal projects I actively maintain and evolve.

Black Atom Industries

Status:Active
Topics:
Theming SystemsAdapter PatternColor TheoryCross-Platform DesignTemplate Systems
Platforms:Neovim, Zed, Ghostty, WezTerm, Tmux
Themes:27+

Open-source cross-platform theming system generating 27+ cohesive themes from a single source.

Built with an adapter pattern for consistent theme generation from a central source using OKLCH color space.

Maintained with focus on developer experience and cross-platform consistency.

AWDCS

Status:Active
Stack:
Topics:
Modal EditingWorkflow DesignDeveloper Experience

AWDCS (App, Workspace, Document, Change, Symbol): A scope-based keymap architecture for modal editors organizing bindings by operational context rather than tool-specific functions.

Features systematic prefix patterns and semantic naming for consistent, memorable keybindings across workflows.

kōyō

Status:Active
Stack:
Topics:
Keyboard LayoutsQMK FirmwareErgonomicsWorkflow DesignCLI Tools

Custom QMK keyboard layout for 36-key split keyboards featuring vim-inspired navigation, smart layer design, and comprehensive CLI tooling for Moonlander and Corne keyboards.

nbr.nvim

Status:Active
Stack:
Topics:
Neovim ConfigurationDeveloper ToolsFrontend DevelopmentWorkflow DesignAWDCS

Highly customized Neovim setup for frontend development featuring AWDCS-based keymaps, Lazy.nvim plugin management, and workflows tailored for React and TypeScript.

nbr.haus

Status:Active
Topics:
SSRFile-based RoutingThemingi18nBEM

Personal portfolio built with TanStack Start featuring SSR, file-based routing, and a custom theming system with hue selection and color modes.

Lightweight i18n implementation using URL search params as source of truth with localStorage persistence.