Software engineer, 15+ years.
The tools change but the problems don't.
I've been building software for over 15 years. I started in the full-stack grind (PHP, Rails, jQuery, that whole era) and over time moved toward the why behind things instead of the how. That shift made me a better engineer than any framework ever did. These days I think about architecture, boundaries, and the fundamentals that don't expire.
I also think Aristotle would've been a master programmer, but that's a separate conversation.
Flagships:
- atomic-claude: My Claude Code workflow, turned into a system. TDD loops, project signals, structured commits, spec-driven subagents. Fewer tokens, faster decisions. · atomic.alonso.network
- noormdev/noorm: A database manager TUI for people who actually like SQL. Postgres, MSSQL, MySQL, SQLite, with a TypeScript SDK in the box. · noorm.dev
- noormdev/ignatius: Data modeling as code. Author entities, data flow diagrams, and models as files, then verify them with the
ignatiusCLI. - hapi / hapipal: Member of the hapi Technical Steering Committee (TSC). A server framework that doesn't change every six months.
- logosdx/monorepo: TypeScript utilities I got tired of rewriting. Resiliency, observability, flow control, queues. I use it in everything, from ETLs to APIs to frontends. · logosdx.dev
- saga-slice: Redux and sagas in one config, from the era when that was unavoidable.
- ai-tools: Claude Code plugins. A memory system with proper namespace isolation, plus a permissions-bypass hook written in Go that fixes the
&&chained-command problem. - skills: AI skills that pay the bills. Deep, well-curated coverage for the common (MSSQL, Postgres, hapi) and the uncommon (HTMX, Hurl, CLIs). Works with Claude Code, Cursor, OpenCode, and friends.
- ghost-mcp: MCP server for Ghost CMS. Manage content, members, and newsletters through an LLM.
- buffer-mcp: MCP server for the Buffer social API. Posts, channels, organizations, and ideas from any MCP-compatible client.
TypeScript everywhere: server, client, infrastructure (Pulumi). MSSQL because I can give better data guarantees with it. Redis for caching. A fat VPS over serverless complexity any day. HapiJS on the backend because it's stable and stays out of my way. Server-side rendering by default, React only when I need it.
I'm not religious about it. I've written a lot of Python this past year, I'm getting into Go, I've dabbled in Rust, and I've shipped plenty of React and React Native. The list above is what I reach for when the choice is mine. When it isn't, I pick up whatever the problem calls for.





