This portfolio is not a finished brochure. It is a small engineering system that keeps evolving through observation, feedback and deliberately bounded changes.
The changelog records the meaningful releases: what changed, why it changed and which constraint shaped the result. Tiny copy edits and routine content updates stay out; architectural decisions and visible improvements belong here.
A measurable, safer build pipeline
After several pull requests, we profiled the complete quality gate and its language generators. Repeated file checks and shared JS/CSS asset hashing now use per-run caches; security scans, full multilingual builds and exact generated-file verification remain intact.
CI/CD lessons, documented in public
A new English Notes article explains why adding languages made CI/CD surprisingly complex, includes workflow diagrams and describes iterating with ChatGPT until a pull request passes its checks. Translations are not advertised until published.
Faster, more focused CI
Security audits now run according to change scope, with full-history secret scans scheduled separately. Documentation-only changes use a shorter check path; dependency download caches and timing measurements improve build efficiency without relaxing release gates.
Weather gets its own space
Weather reports now have dedicated pages across nine languages. The eight-day outlook uses one chart with daily symbols, complemented by DWD MOSMIX sunshine-duration data.
A quieter reading experience
An optional compact reading mode makes Notes and articles easier to read without changing the original design for everyone.
Kraftwerk reaches session 69
The training archive includes the workout from 6 November 2026. Session counts and progress metrics reflect the imported records.
More languages and field notes
The site now supports nine languages. New field notes explain practical cloud engineering decisions, including GitHub workflows and deployments.
Guarded AWS releases
GitHub Actions deploys approved static files through short-lived AWS OIDC credentials. Production verification and recovery safeguards protect releases; CloudFront invalidations remain disabled.
Security and transparent development
The website moved to a private GitHub workflow with stronger checks for dependencies, secrets and public build output. Reviews now separate source changes from deployment.
Separate pages, clearer app insights, persistent navigation
The main menu now opens dedicated pages while preserving the original galaxy and mist. English remains the default language.
- Work now explains the self-programmed Kraftwerk app and shows its input interface and recorded training progress.
- Copyright, Changelog, RSS and Privacy remain accessible in a fixed footer, including on Kraftwerk.
- Mobile menu controls stay within the menu, with scrolling available in short windows.
- Added a reusable browser regression check for footer position and links across page types and all four languages.
Knowledge becomes a product
The Notes archive gained a new architecture story explaining how this static site publishes privacy-safe visitor analytics. A static RSS 2.0 feed now makes all field notes subscribable without adding a CMS or dynamic feed endpoint.
- Published “A Static Site with a Pulse”
- Added structured article data and a dedicated social card
- Added a generated RSS feed with all Notes
- Linked RSS discovery from the homepage and footer
Motion with restraint
The galaxy background received occasional shooting stars. Several iterations corrected visibility, trajectory and frequency until the effect moved naturally in one direction and appeared only about once per minute.
- Aligned the trail precisely with the flight vector
- Alternated two trajectories at a restrained interval
- Kept the implementation entirely in CSS
- Disabled decorative motion when Reduced Motion is requested
A better way to connect
The closing section was redesigned to use the same glass, galaxy and cyan visual language as the rest of the portfolio. Direct contact and social profiles became clear, accessible destinations.
- Added email, Instagram and Threads
- Added social profiles to structured person data
- Introduced a network-inspired connect icon
- Improved the mobile layout and link hierarchy
Kraftwerk reaches session 62
The private training archive was refreshed with the latest session and its new exercise metrics. The visible session counter and date were then connected to the data source so future imports cannot leave the hero summary behind.
- Imported workout session 62
- Updated exercise volume and repetition milestones
- Made the session count and status date data-driven
- Verified the training view on desktop and phone
The galaxy becomes continuous
The Milky Way atmosphere moved beyond the opening screen and became a continuous visual foundation for the complete portfolio. Opaque section rectangles were removed and content panels were tuned for contrast without hiding the background.
- Extended the animated galaxy across every section
- Removed visible background seams and rectangles
- Expanded the hero portrait for a natural right edge
- Preserved performance and Reduced Motion support
From WordPress to a resilient static platform
The original WordPress content was preserved while the public site was rebuilt as a cloud-native static portfolio. The new foundation favours explicit files, repeatable infrastructure and a smaller attack surface.
- Moved delivery to private S3 behind CloudFront OAC
- Preserved articles, media, certificates and search metadata
- Added CloudWatch access logging and public anonymous traffic views
- Enabled bucket versioning, replication and recovery documentation
- Established local Git history without an external repository
What comes next?
New entries will appear when the site gains a meaningful capability, a substantial piece of writing or an architectural improvement. The goal is not a high release count. It is a visible record of thoughtful iteration.


cloud / systems