I've been building software for over 15 years, and the thing that's stuck with me the most is that the tools change but the problems don't. I started out doing the typical full-stack grind — PHP, Rails, jQuery, the whole era — and over time I moved toward understanding the why behind things instead of just the how. That shift made me a better engineer than any framework ever did. These days I think a lot about architecture, boundaries, and the fundamentals that don't expire. I also think Aristotle would've been a mass programmer, but that's a separate conversation.
Check out my company at southpointe.tech and my blog at alonso.network.
logosdx/monorepo — TS utilities I got tired of rewriting. Resiliency, observability, flow control, queues. I use this in everything — ETLs, APIs, frontends. → logosdx.dev
noormdev/noorm — Database manager TUI for people who actually like SQL. Postgres, MSSQL, MySQL, SQLite. Ships with a TS SDK. → noorm.dev
ai-tools — Claude Code plugins. A memory system with proper namespace isolation and a permissions bypass hook written in Go that fixes the && chained command problem.
skills — Curated skills for Claude Code, Cursor, OpenCode, etc. HTMX, and more coming.
hapi.dev / hapipal.com — Long-time contributor to the Hapi ecosystem. A server framework that doesn't change every six months.
saga-slice — Redux + sagas in one config. From the era when that was unavoidable.
TypeScript everywhere — server, client, infrastructure (Pulumi). MSSQL because its SQL dialect is genuinely better. 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 actually need it.
That said, I'm not religious about it. I've done a lot of Python in the last year, I'm getting into Go, I've dabbled in Rust, and I've shipped plenty of React and React Native. The preferences above are what I reach for when the choice is mine — but I'm comfortable picking up whatever the problem calls for.





