May 2026
Global Light Mode Overrides Layer
Added a comprehensive theme-aware styling layer that automatically adapts cards, text, inputs, code snippets, hover states, selections, and interactive graphs to light mode, ensuring perfect contrast and readability across all pages.
Open related surface →May 2026
AI Showcase now includes Podcasts
The /gallery page picked up a second section for AI-generated podcasts. Saved episodes show host tags, the TTS engine and Ollama model used, an inline audio player, and an expandable transcript. Save-to-showcase is gated by the same admin password as the image gallery.
Open related surface →May 2026
PDF to Podcast: voice engine picker + 10× speedup
The PDF to Podcast tool now exposes three TTS engines in the UI: Piper (fastest, ~30s synth), Kokoro-82M (balanced, MPS-accelerated), and Bark (highest quality, slower). End-to-end time for a typical PDF drops from ~20 min on Bark to ~1m 46s on Piper. Backend runs Ollama qwen2.5:14b for transcript generation with proper context-window sizing.
Open related surface →May 2026
PDF to Podcast tool is live
Upload a PDF, pick 2–3 hosts, and the Mac Mini renders a multi-voice podcast with transcript. Self-hosted Flask + Ollama + Piper/Kokoro/Bark TTS on the Apple M4. One concurrent job site-wide, IP rate-limited. Proxied through the portfolio over Tailscale.
Open related surface →May 2026
RSS Feed for the Blog
The blog now publishes a standard RSS 2.0 feed at /rss.xml — sourced directly from the MDX content with reading-time metadata. Subscribe in any reader, or wire it into the GitHub profile README so the latest posts auto-sync there.
Open related surface →May 2026
New Post: The Quiet Math of Lifetime Software Deals
A reflection on which lifetime purchases (Infuse Pro, Niagara, Poweramp, Symfonium, No Man’s Sky) actually survived years of use, why companies offer the deals in the first place, and the psychology and acquisition risk behind them — with references to Kahneman, Thaler, Tien Tzuo, Hermann Simon, and Doctorow’s enshittification thesis.
Open related surface →April 2026
Operations Command Architecture
The homeserver page now includes the V3 live HUD architecture view: a sanitized command-center map of the edge, core, AI node, mesh, services, traffic, and event stream.
Open related surface →April 2026
Portfolio Share Preview
Social previews now use a generated portfolio card with page-focused content instead of falling back to the profile photo.
Open related surface →April 2026
Shareable Exploration State
Projects, gallery, blog, AI news, skills, and AI tools now preserve useful UI state in the URL so links reopen the same view.
Open related surface →April 2026
Command Menu Upgrade
The quick navigator now includes action shortcuts like featured project, resume link copying, and image generator presets.
Open related surface →April 2026
Contact and Newsletter Persistence
Drafts and success states are kept locally so refreshes do not wipe out in-progress or recently completed outreach.
Open related surface →April 2026
Telemetry and Skills Route Optimization
Heavy client components are lazy-loaded and the skills chart loads Chart.js only when it is actually rendered.
Open related surface →April 2026
Safer Public Tooling
Public APIs used by the chatbot, image generator, gallery, subscribe, contact, and telemetry routes now use tighter rate limiting.
Open related surface →April 2026
Visitor Intelligence Layer
Recently viewed rails, reading history, last-visit changelog awareness, and sticky contextual actions now adapt the site to returning visitors.
Open related surface →