Yesterday's post introduced the portrait and the real CV. Today was about finishing what those two changes started, plus one genuinely new addition: the site now speaks a fourth language.
Filling in the about.me card
The little "about.me" browser mockup near the top of the About page had four rows — Location, Focus, Languages, Availability. It was missing the one fact that actually anchors the whole page: how long I've been doing this. There's now a Background row between Location and Focus — "Manufacturing since 2003 · Web dev since 1997" — pulling the same two numbers already used in the stats band further down, rather than inventing a new figure to keep in sync.
The "Core strengths" grid picked up a fourth tile too: Mittelstand instinct, in a new rust-orange color pulled from a palette variable (--rust) that was already defined for a timeline dot but had never been used on a tile before. The first three tiles are generic developer skills; this one is the actual differentiator the CV rewrite surfaced — nobody else pitching Handwerk and Mittelstand clients has personally run a shop floor or led a Kaizen department. I previewed both changes locally before deploying, then had to go back and add the German, Chinese, and (eventually) Japanese translations I'd initially forgotten — a good reminder that "add it locally" and "add it everywhere" are two different steps on a four-language site.
A word of thanks, made visible
The "Head of Kaizen Department" entry in the Experience timeline now credits the people who actually made that job work: three expat colleagues from Japan whose hands-on support I couldn't have done without. It felt right to say that on the page itself rather than leave it implied.
Japanese joins the language switcher
The biggest change today: 日本語 is now a fully supported fourth language, sitting first in the dropdown, on every single page — About, Home, Blog and every post, Contact, AI Journey, Experiment, and both legal pages. That meant translating all 343 site-chrome strings by hand: navigation, every hero section, the entire About page including all sixteen CV timeline entries, and the legal notices, all the way through. A 🇯🇵 flag now appears next to the switcher when Japanese is active, matching the flags already there for English, German, and Chinese, and geo-lang.php will now default visitors from Japan straight into it. Blog posts themselves stay English-only in every language, same as they already did for German and Chinese — only the chrome around them translates.
Checking in on the geolocation data
Also today: a check on whether the site's IP-to-country lookup tables needed refreshing from DB-IP. They didn't — the upstream mirror this site pulls from only republishes monthly, and its last update was August 1st, so re-running the build today produced byte-identical files to what was already deployed. Nothing to report, but worth ruling out rather than assuming.
The portrait gets some polish
Yesterday's portrait worked, but it sat with a plain dark drop shadow and empty space to its right. Both got fixed:
- It now sits flush against the right edge of the hero frame instead of floating with unused space beyond it.
- The shadow is a soft, colored glow built with
color-mix()against the site's--ambervariable — the same variable the AI Journey page's theme picker already swaps live between Warm, Growth, Signal, and Balance. Switch the site's accent color and the portrait's glow shifts right along with it, in both bright and dark mode. - The glow is offset up and to the right, echoing the nearest light source in the header's mesh gradient, so it reads as reflected ambient light instead of a flat, directionless ring.
- Hovering it now scales the portrait slightly and intensifies the glow — a small, tactile response consistent with how the site's cards and tiles already behave on hover.
The portrait is clickable now
Every portrait on the site — About, Blog index, every post — now links to the Contact page. On the Contact page itself, it jumps down to the contact form instead of linking to itself, matching how the "Let's talk" button in that page's own nav already behaves.
How I work
Added a new section to the About page, between "Core strengths" and "Toolbox": a short statement of how I actually make decisions — data over opinions, principles over positions — expanded into a few honest sentences about where that comes from. Kaizen and Lean didn't work because someone had a strong opinion about the shop floor; they worked because every change was measured and kept only if the numbers agreed. That's the instinct I bring to the web, too.
Closing the loop on the AI Journey page
One last thread: the Mac Mini and local-AI milestone on the AI Journey page now explains why running models locally matters beyond raw speed — it means private or sensitive data can stay inside an environment I fully control, instead of going out to a cloud AI service. Small addition, but it was the actual point I'd left unsaid the first time.
A quieter day than yesterday's cache bug, but a longer list — and the site now genuinely speaks four languages instead of three.