Notebook / Engineering in public
The build log.
Short notes about real changes, debugging decisions and things learned while building ZombieMutex. Each entry links back to a specific source commit. The site and reference projects were developed with AI assistance.
- Tested
Measured accessibility after the entrance animation settles
The fade-in reduced effective text contrast while an automated accessibility scan sampled the middle of the transition. The steady-state contrast test now waits until animations complete; a separate test checks reduced-motion behavior.
Takeaway: An animation can change contrast during its timeline. Accessibility testing needs intentional timing and a reduced-motion path.
- Built
Added lightweight motion without a new runtime
Implemented CSS-only page entrances, hover treatments for cards and social icons, logo motion, and a short D&D dice result reveal. Dice output still comes from Web Crypto; animation changes only when the result appears.
Takeaway: Prefer transform and opacity, finite durations, and prefers-reduced-motion over a heavy animation library.
- Built
Changed Contact from business intake to a personal hello
Replaced the project-qualification form with optional name and subject, a message, and an email draft generated locally. Added strict HTTPS/domain validation for owner-provided public profile/invite links.
Takeaway: A personal site should let someone say hello without requiring a company, budget or project scope.
- Built
Made Life a focused home for eight interests
Grouped D&D, hiking, cooking, robotics, IoT, mobile engineering, technology and travel under Life. Combined social identities in one place and kept the old D&D URL intact for bookmarks.
Takeaway: A clear set of subjects is easier to navigate than publishing every optional calendar hobby as if it were a finished project.
- Fixed
Closed a hydration race in the browser labs
Disabled user controls until hydration and URL-scenario restoration finish. Verified that stateful lab controls work after a production static export, not just inside the development server.
Takeaway: Interactive static sites still have startup state boundaries. A control shouldn't accept input before its scenario is restored.
- Built
Published a browser-local Debugging Studio and three reference investigations
Added JWT decoding, HTTP policy checks, a TLS explorer, and a token-rotation model. Published independently testable public challenge, idempotency and refresh-token demos with explicit production limitations.
Takeaway: Explain precisely what a simulation proves—and what it does not. Decode-only JWT views must never be described as signature verification.
- Built
Introduced the engineering Workbench
Added reference snippets, architecture diagrams, guided challenges, a glossary, an evidence index and a local reading library. Separated public inspectable source from conceptual case studies.
Takeaway: A source link and a reproducible test say more than a generic claim of reliability.
- Built
Established interactive labs and full-text engineering search
Built browser-local reference models for nonce replay, API retries and session recovery, with discoverable technical topics, journal links and searchable documentation.
Takeaway: A small working model can teach a failure boundary faster than a static diagram, provided its assumptions are visible.
These are selected notes based on repository history, not an automated transcript of every git commit, a customer incident history, or a claim of independent production validation.