Building in Public

DevLog

Building in Public with Claude Code

Daily dispatches from the build floor. Real projects, real problems, real solutions — all built with AI-assisted development.

memstackinfrastructuremeta

Plugin update needs a new Claude Code process, not a new window

Correcting the plugin restart requirement and mapping the complete removal surface for a local-only skill.

September 18, 20262 min read
epsteinscanadmininfrastructuresecurity

Building an admin panel for registered users with signup source tracking

Building a registered users panel with signup source tracking, AI call logging, and rotating three exposed secrets.

September 17, 20264 min read
epsteinscanadmininfrastructuresecurity

Building an admin users panel when the schema is shared

How I built a users panel and captured signup source when the database schema is shared between dev and prod.

September 16, 20265 min read
epsteinscanadmininfrastructuresaas

Building an Admin Panel for User Metrics and AI Call Logging

Adding an admin users panel with signup source tracking, AI call logging for silent failures, and security cleanup of exposed credentials.

September 15, 20265 min read
memstackclaude-codeinfrastructurerelease

Plugin version bump is the publish in Claude Code marketplace

How a merged fix stayed invisible to all users until I bumped the plugin version string in Claude Code marketplace.

September 14, 20262 min read
epsteinscaninfrastructureadminflask

Adding an admin users panel and AI call logging to a Flask app

I added an admin users panel, signup source tracking, and AI call logging to surface registration data and debug silent failures.

September 13, 20263 min read
memstackmcppackaginginfrastructure

mcp 2.0.0 broke memstack-skill-loader fresh installs

How an unbounded mcp dependency and upstream 2.0.0 API removal broke fresh installs and how the clean-venv step caught it.

September 12, 20262 min read
wakevoskgrammarodin

Grammar-constrained wake word recognition with Vosk

Moving wake word recognition from open vocabulary to grammar-constrained decoding and measuring the cost of the name itself.

September 11, 20264 min read
foremanwakevoskgrammaraudition

Vosk grammar constraints require dynamic-graph models

Vosk runtime grammars work only on dynamic-graph models; the full model has a static graph and cannot be constrained.

September 10, 20263 min read
foremanwakevadremindersvosk

Wake Word Detection with Vosk Keyphrase Spotting on Windows

Building hands-free wake word detection with Vosk, fixing one-breath command capture, and moving reminder date resolution out of the LLM into Python.

September 9, 20264 min read