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.
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 moreButtons 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 moreDesigning 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 moreGlass 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 moreWho 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 moreSound 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 moreTaskAlarm, 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 moreMeetre 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 moreAn 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 moreWrite 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 moreProgress 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 moreTeaching 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 moreImpressum, 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 moreWhy 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 moreAfter 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 moreWebsites 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 moreHow 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 moreDesigning 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 moreSurya, 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 moreFreelancer 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 moreSeven 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 moreBeing 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 moreWhat 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 moreTemplate 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 moreHow 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 moreWhat 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 moreWorking 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 moreThe 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 moreThe 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 moreThe 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 moreThe 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 moreMood 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 moreMeetre — 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 moreWhen 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 moreThe 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 moreInteraction 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 moreTranslating 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 moreAI 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 moreWhen 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 moreDesigning websites for ateliers
What ateliers, studios and artists need from a site — conveying a feeling, letting the work breathe, and avoiding templates entirely.
Read moreCreative coding as expression
Code as an artistic medium — canvas, shaders and generative systems as a way to make something, not just build it.
Read moreThe detail makes the difference
On micro-interactions, hover states, transitions and easing — the small touches that separate the good from the unforgettable.
Read moreWhy 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 moreScroll experiences that captivate
How scrolling becomes a narrative device — through pinning, parallax and reveal pacing, carried by restraint rather than spectacle.
Read moreAI-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 moreColor that creates memory
Color as identity and emotion — on restraint, a signature accent, contrast, and the mood that lingers long after the visit.
Read moreFirst impressions: hero sections
How I design hero sections that hook in seconds — clarity, atmosphere, and a single strong idea instead of crowded promises.
Read moreGenerative 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 moreWebsites for Ateliers That Want to Stand Out
What sets an atelier website apart from a template — and why attitude matters more than features.
Read moreAI 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 moreTypography that stands out
How I choose and pair expressive typefaces — display against body, type as the loudest design decision a page ever makes.
Read moreShader 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 moreThree.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 moreMotion that carries meaning
Animation with intent — on easing, choreography and restraint, and how motion guides rather than distracts.
Read moreWhitespace as a design tool
Negative space isn't emptiness but an active element — how restraint brings focus, luxury and calm to a website.
Read moreThe 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 moreNext.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 moreThe 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 moreThree.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 moreWebGPU: 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 moreNext.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 moreDesign systems that actually work
How a design system can carry creativity rather than constrain it — through tokens, components, and documentation people actually use.
Read moreReact 18: concurrent and smooth
React 18 brings concurrent rendering, automatic batching and transitions — what that means for genuinely smooth user interfaces.
Read moreNext.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 moreScrollytelling: stories that unfold
How scroll-driven storytelling ties motion to content — through pacing, restraint, and the courage to occasionally stand still.
Read moreReact 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 moreVite: 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 moreUtility-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 moreIncremental 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 moreFrom 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 moreUnderstanding 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 moreWhy I went freelance
A personal reflection on choosing independence — to build special, memorable websites instead of cookie-cutter work made from templates.
Read moreThree.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 moreNext.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 moreCSS 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 moreHow 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