Journal
Notes from the atelier
Personal thoughts on creative development, 3D in the browser and the craft of building websites that stand out. Sometimes technical, sometimes reflective — always honest.
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 →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 →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 →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 →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 →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 →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 →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 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 →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 →Why 3D on the Web Makes Brands Stand Out
How interactive 3D experiences in the browser capture attention — and when they're actually worth it.
Read more →Scroll experiences that captivate
How scrolling becomes a narrative device — through pinning, parallax and reveal pacing, carried by restraint rather than spectacle.
Read more →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 →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 →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 →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 →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 →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 →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 →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.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 →Motion that carries meaning
Animation with intent — on easing, choreography and restraint, and how motion guides rather than distracts.
Read more →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 →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.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 →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.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 →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.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 →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 →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.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 →Scrollytelling: stories that unfold
How scroll-driven storytelling ties motion to content — through pacing, restraint, and the courage to occasionally stand still.
Read more →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 →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 →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 →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 →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 →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 →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.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.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 →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 →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 →