Journal

Notes from the atelier

Personal notes on creative development, 3D in the browser, design and the craft of building websites that stand out. Sometimes technical, sometimes reflective, always honest.

UXBrandCopywritingTaskAlarm

A mascot that never frowns at you

Designing encouragement instead of guilt. How TaskAlarm's smiley, its colors, its copy, one deliberate bit of friction and a few springs add up to a to-do app that's on your side.

Read more
UX WritingUICopywriting

Buttons are verbs

On the smallest copy in an interface. Why I banned "OK", how one product of mine allows zero exclamation marks while the other cheers you on, and why every error message gets exactly one sentence and one fix.

Read more
UImacOSInteraction

Designing for the menu bar

What I learned building two apps that live in a strip about 22 points tall. One icon carries all the state, overlays let your clicks fall through, and the hardest design decision is when to ask a question at all.

Read more
UIDesignmacOS

Glass is not a background

Designing with Liquid Glass on macOS 26 for meetre. Where glass belongs, where it absolutely doesn't, the exact recipe behind the floating panels, and why the same restraint ended up in my marketing images too.

Read more
MeetreAudioDebuggingmacOS

Who said what, and why my laptop kept getting it wrong

Labelling speakers in a call sounds like a solved problem until you take your headphones off. A week of echo, swapped names, a fix that muted me for my colleagues, and what Meetre does now.

Read more
SoundUXInteractionmacOS

Sound design without a single audio file

Both of my new Mac apps make every sound from scratch at runtime, out of sine waves and a bit of maths. Why I did it, how a reminder chime and an onboarding bell are actually built, and why sound is tone of voice you can hear.

Read more
TaskAlarmToolsmacOSSwiftUI

TaskAlarm, the to-do list that cheers you on

I built a tiny macOS menu bar app that reminds me of things like a friend would. A smiley that changes color, reminders you can type in plain English or German, warm synthesized sounds, and no network at all.

Read more
MeetreToolsmacOSSwiftUI

Meetre grew up and became a real Mac app

My meeting transcriber started as a Python script with a sparkle in the menu bar. Now it's a native SwiftUI app with a library, live captions and a Teams prompt, while the Python engine quietly keeps doing the heavy lifting underneath.

Read more
UXOnboardingMotion

An onboarding in six sentences

meetre's first launch says "Hi." and then barely anything else. On short lines, auto-advancing scenes, a slow aurora, permission screens that explain themselves, and why an installer should never show you its logs.

Read more
Design SystemsUIProcess

Write the rule book before the next screen

Why I stopped building meetre's Mac app halfway through to write a design rule book, what's in it (one red, seven spacing values, six principles), and why it made every screen after it faster.

Read more
UXUIInteraction

Progress bars that don't lie

A spinner is a shrug with animation. How I designed meetre's processing UI around honesty: five named steps in five colors, bars that never go backwards, results that show up before the work is finished, and errors you can actually fix.

Read more
MeetreAILocal LLMTools

Teaching a 7B model to write meeting notes, and then to answer back

Meetre switched to Parakeet for transcription and K2 Horizon for summaries, a prompt that looped for 141 seconds got rewritten into one that finishes in 14, and you can now chat with your meetings, with tools, and the audio never leaves your Mac.

Read more
Web DesignLegalGermany

Impressum, privacy policy, cookies: legal basics for websites in Germany

The legal pieces almost every German business website needs, explained in plain words by a web designer: Impressum, privacy policy, cookie consent, self-hosted fonts and the accessibility law that applies to online shops since 2025.

Read more
PerformanceWeb DesignSEO

Why a slow website quietly costs you customers

Visitors decide in seconds whether to stay. What makes small business websites slow, how to check yours in two minutes, and the handful of fixes that make the biggest difference.

Read more
Web DesignMaintenanceClients

After launch: what hosting, updates and maintenance really involve

A website isn't finished on launch day. What hosting actually is, which updates matter, what maintenance should cost and how to make sure you're never locked out of your own site.

Read more
Web DesignCoachingClients

Websites for coaches and therapists: trust before features

What a coaching or therapy website needs that a normal business site doesn't: a real person on the first screen, calm design, a clear path to a first conversation, and the restraint to leave the sales tricks out.

Read more
Web DesignProcessClients

How long does a website take? A realistic timeline, week by week

From first call to launch: what happens in each phase of a website project, how long each part usually takes for a small business site, and the three things that delay projects far more than design or code.

Read more
SuryaUIDesigniOS

Designing a dial for daylight

The interface decisions behind Surya: why the main screen is a circle, why it speaks in percent, why the sun and moon got names, and how much a widget has to leave out to be readable at a glance.

Read more
SuryaiOSSide ProjectApps

Surya, a clock that follows the sun instead of the time zone

I built a small iPhone app that tells you how much daylight you have left, where true solar noon is for your exact spot, and when the sun really disappears behind the mountains in front of you.

Read more
Web DesignClientsFreelance

Freelancer or agency? I've worked on both sides

An honest comparison of hiring a freelance web designer versus a web agency: cost, speed, who you actually talk to, what happens when someone gets sick, and which projects suit which setup.

Read more
Web DesignRelaunchClients

Seven signs your website needs a relaunch (and two signs it doesn't)

How to tell whether your website needs a full relaunch or just a few fixes. Seven honest warning signs from a web designer, and two common reasons to rebuild that usually aren't good enough.

Read more
SEOWeb DesignLocal Business

Being found locally: SEO for small businesses that isn't a scam

Most local customers find you through a map and a search on their phone. What actually helps a small business show up in Rosenheim, Munich or anywhere else, and which SEO promises you can safely ignore.

Read more
Web DesignClientsProcess

What to prepare before you hire a web designer

You don't need a perfect brief. You need answers to six questions, a folder of content and a few honest opinions. Here's what makes a website project faster, cheaper and a lot less painful.

Read more
Web DesignClientsStrategy

Template or custom website? When each one is the right call

Templates are cheaper and faster, custom design is more memorable. A web designer's honest take on when a template is plenty, when it quietly costs you customers, and the middle ground most people don't know about.

Read more
Web DesignClientsHiring

How to choose a web designer without regretting it in six months

A practical checklist for hiring a web designer: what to look for in a portfolio, which questions to ask in the first call, and the red flags that are easy to miss when someone is friendly and fast.

Read more
Web DesignPricingClients

What does a website cost? An honest answer from the person who sends the quote

Why two quotes for the same website can be thousands of euros apart, what actually drives the price, and how to get a number you can plan with before anyone starts designing.

Read more
PersonalBurnoutProcessFreelance

Working digital without burning out

A self-reflection on doing a job that lives entirely inside a screen. Why the digital age makes burnout so easy, the warning signs I've learned to take seriously, and the small, unheroic habits that actually keep me level.

Read more
HardwareESP32LightSide ProjectsEvents

The light installation finally worked

One day of warning, one test run, and a drive from Rosenheim to Munich. How the light installation finally got its night at Lieberscholli, with a main lamp in a tree, two dead support lamps, a laptop rescue mission through half of Munich, and lamps breathing on the DJ deck.

Read more
PersonalFreelanceProcessBurnout

The free time I promise away

On time constraints, vanishing weekends, and the future free time I keep handing out like currency during crunch — plus an honest chart of what workload does to my emotional stability.

Read more
HardwareESP32LightSide ProjectsPost-mortem

The light installation I never finished

A long, honest post-mortem of the project that beat me — two motor-driven mirrors meant to bounce ten PAR36 pinspots around a room, an ESP32 doing the thinking, and all the ways physics, heat and my own deadlines got in the way.

Read more
MunichNightlifePersonalCommunity

The work behind the party

What being friends with people in the Munich scene actually taught me — about how events run, the labour nobody sees, why Blitz closing matters, and the strange social economy of a room where everyone keeps doing each other favours.

Read more
Creative CodingResearchShadersMunich

Mood boards, artists, and the Munich night that fed my code

How I research a project before I write a line of it — collecting references, watching the visuals in Munich's music scene, and turning all of it into shader-driven laser ideas and a webcam projection library I keep meaning to finish.

Read more
MeetreToolsPrivacymacOS

Meetre — meeting transcripts that never leave your Mac

I built an open-source Mac tool that records a meeting, transcribes it with Whisper, labels the speakers and summarises it with Qwen — all on-device, no cloud, no accounts.

Read more
PersonalClients

When good work isn't enough

On working with creatives who have more vision than budget — why good work still gets turned down, how that rejection lands, and why even friendship deals need a shared vision strong enough to hold.

Read more
DesignAttitudeCreativity

The courage to be different

A small manifesto — why standing out beats blending in, and why it takes nerve to reject the template and dare to make something singular.

Read more
InteractionUXDelight

Interaction that delights

On the small, surprising moments — hidden puzzles, playful details — that make a website feel human and stay in memory long after the visit.

Read more
BrandingDesignProcess

Translating a brand's feeling

How I turn the intangible feeling of a brand into color, type, motion and structure — and why real listening always comes before any design.

Read more
AICreativityFuture

AI and the future of creativity

A 2026 reflection on what artificial intelligence changes, what it can't, and why human taste, story and intent only become more valuable.

Read more
PerformanceDesignWeb

When performance meets poetry

Why beautiful websites also have to be fast — and how craft and Core Web Vitals can live together without ever killing the magic.

Read more
AteliersDesignWeb

Designing websites for ateliers

What ateliers, studios and artists need from a site — conveying a feeling, letting the work breathe, and avoiding templates entirely.

Read more
Creative CodingCreativityCode

Creative coding as expression

Code as an artistic medium — canvas, shaders and generative systems as a way to make something, not just build it.

Read more
DetailUXCraft

The detail makes the difference

On micro-interactions, hover states, transitions and easing — the small touches that separate the good from the unforgettable.

Read more
3DWebGLThree.jsDesignPerformance

Why 3D on the Web Makes Brands Stand Out

How interactive 3D experiences in the browser capture attention — when they're actually worth it, what makes them feel good instead of heavy, and the craft that separates a scene people remember from one that just loads.

Read more
MotionUXWeb

Scroll experiences that captivate

How scrolling becomes a narrative device — through pinning, parallax and reveal pacing, carried by restraint rather than spectacle.

Read more
AIPrototypingWorkflow

AI-assisted prototyping

How AI speeds the messy early phase of a project, so more of my time goes to the craft that actually makes a site stand out.

Read more
ColorDesignBranding

Color that creates memory

Color as identity and emotion — on restraint, a signature accent, contrast, and the mood that lingers long after the visit.

Read more
DesignUXWeb

First impressions: hero sections

How I design hero sections that hook in seconds — clarity, atmosphere, and a single strong idea instead of crowded promises.

Read more
GenerativeCreativityCode

Generative design

How I use code and randomness as a design partner — rules that produce surprising, organic, one-of-a-kind visuals every single run.

Read more
DesignAteliersBranding

Websites for Ateliers That Want to Stand Out

What sets an atelier website apart from a template — and why attitude matters more than features.

Read more
AIToolsCreativity

AI as a tool, not a replacement

An honest look at AI in the design and dev workflow in 2026 — fast assistance for drafts and boilerplate, but taste and intent stay human.

Read more
TypographyDesignWeb

Typography that stands out

How I choose and pair expressive typefaces — display against body, type as the loudest design decision a page ever makes.

Read more
ShadersWebGLCreativity

Shader poetry in the browser

Fragment shaders as a medium for generative beauty — on noise, gradients, time and how a few lines of code open infinite worlds.

Read more
Three.js3DCreativity

Three.js as an artistic tool

Three.js not as a gimmick but as a brush — how light, material and depth can work in the service of emotion.

Read more
MotionUXDesign

Motion that carries meaning

Animation with intent — on easing, choreography and restraint, and how motion guides rather than distracts.

Read more
DesignLayoutAesthetics

Whitespace as a design tool

Negative space isn't emptiness but an active element — how restraint brings focus, luxury and calm to a website.

Read more
DesignEditorialWeb

The art of the editorial website

Why I design websites like magazine spreads — with hierarchy, rhythm, big type and intentional space that makes real craft feel tangible.

Read more
Next.jsReactWeb

Next.js 14: server actions in practice

With Next.js 14, server actions are stable — and I can finally write mutations without separate API routes, right where they're needed.

Read more
TypographyDesignCraft

The craft of typography

For me, typography is the backbone of every editorial design — a question of scale, rhythm, and contrast, set with intent rather than by chance.

Read more
Three.jsPerformance3D

Three.js performance: smooth on every device

Years with Three.js taught me that smooth 3D scenes aren't a matter of raw power, but of draw calls, instancing, and clean disposal of resources.

Read more
WebGPUGraphicsFuture

WebGPU: a glimpse of the next graphics era

WebGPU is taking shape as the successor to WebGL — modern architecture, compute shaders, and a promise that leaves me cautiously excited.

Read more
Next.jsReactWeb

Next.js 13: the App Router changes everything

Next.js 13 brings the App Router and React Server Components — a new mental model that shifts how I think about routing and rendering.

Read more
DesignSystemsWorkflow

Design systems that actually work

How a design system can carry creativity rather than constrain it — through tokens, components, and documentation people actually use.

Read more
ReactFrontendPerformance

React 18: concurrent and smooth

React 18 brings concurrent rendering, automatic batching and transitions — what that means for genuinely smooth user interfaces.

Read more
Next.jsPerformanceWeb

Next.js 12: faster, thanks to Rust

Next.js 12 brings the SWC compiler and Middleware — how it speeds up my builds and moves logic closer to the edge.

Read more
MotionDesignUX

Scrollytelling: stories that unfold

How scroll-driven storytelling ties motion to content — through pacing, restraint, and the courage to occasionally stand still.

Read more
Three.jsReact3D

React Three Fiber: thinking 3D declaratively

How React Three Fiber turns Three.js scenes into components — and why declarative 3D finally made my creative work maintainable.

Read more
ViteToolingPerformance

Vite: speed that's actually fun

Vite 2 brought instant dev servers via native ESM in early 2021 — why fast feedback loops change everything about creative work.

Read more
TailwindCSSWorkflow

Utility-first: how Tailwind changed my workflow

In the Tailwind 2.0 era — on the utility-first mindset, faster iteration, and consistent design tokens living right in the markup.

Read more
Next.jsPerformanceWeb

Incremental Static Regeneration: the best of both worlds

Next.js 9.5 introduced ISR — static speed with fresh content. Why it changed how I ship content sites for good.

Read more
PersonalRemoteWork

From afar: working in 2020

A personal reflection on how remote work became the norm in 2020 — on focus, asynchronous collaboration, and keeping creativity alive at a distance.

Read more
Three.jsWebGLShaders

Understanding shaders: GLSL for designers

A gentle introduction to GLSL fragment shaders for designers — what separates vertex from fragment, and why shaders unlock visuals nothing else can.

Read more
PersonalFreelance

Why I went freelance

A personal reflection on choosing independence — to build special, memorable websites instead of cookie-cutter work made from templates.

Read more
Three.jsWebGL3D

Three.js in 2019: 3D goes mainstream

WebGL and Three.js have matured — interactive 3D is finally realistic on ordinary marketing sites in 2019, not just tech demos.

Read more
Next.jsReactWeb

Next.js 9: static, fast, considered

Next.js 9 brought API routes and automatic static optimization — finally making hybrid static and server-rendered sites effortless.

Read more
CSSLayoutDesign

CSS Grid and the end of layout hacks

CSS Grid has finally landed reliably across browsers — freeing web layout from float tricks and flexbox contortions.

Read more
ReactFrontendDevelopment

How React Hooks changed everything

React 16.8 brought Hooks in early 2019 — and fundamentally changed how I think about, write, and maintain components.

Read more