Skip to content

← Writing

personal

My 2025 Stack Audit: What Earned Its Place

· Jerwin Arnado

Archive note: this is a backdated post, written years later while rebuilding this site. It’s dated to the moment it covers, but the hindsight is real.

Three Decembers of AI audits have hardened into a tradition, so this year the format expands: the full stack audit. Every tool, service, and habit, judged by the only metric this blog has ever trusted — utility per week, demonstrated, not promised. What earned its place in 2025:

Earned it, with distinction

  • The terminal agent. April’s field notes undersold it; by December, agent-drafted-human-reviewed is simply how routine backend work happens here. The December 2024 prediction (agents, terminal, scoped) scores as the column’s best call yet. The leverage went exactly where predicted: specification and review are the job now.
  • Laravel + Vue, year eight. The boring core. Clients’ systems hum, upgrades cost afternoons, and every fashionable alternative I evaluated this year solved problems I don’t have. Tools that hold still while everything else churns are how the whole thirty-year lesson compounds at personal scale.
  • The local tier. The NAS inference stack crossed from experiment to load-bearing — the batch jobs, the MCP-wired house brain, the privacy-complete tier. Combined with the subscription purge, the rack now does more while the monthly column costs less. The thesis this blog has run since llama.cpp weekend one is, as of 2025, just how the house works.
  • C#/.NET — the surprise entry. October’s border-crossing stuck. The plugin prototype kept growing (the graveyard metaphor survived; more in the new year, possibly with a repository attached), and a second language in active rotation has paid dividends the PHP-lifer years didn’t predict.

Kept, on probation

  • Frontier subscriptions. Still worth it for reasoning-tier work — but the gap to the four-month floor narrowed all year, and the audit notes, coldly, that the local tier absorbed three workloads the subscription used to own. The 2026 edition of this post may read differently.
  • Social platforms, all of them. Maintained as distribution, trusted as nothing. The blog and the feed remain the home; the platforms remain weather.

Retired in 2025

A subscription column shorter by several lines; the model-picker anxiety (the router era and protocol layer made it moot); and — noted with something like nostalgia — the last of my hand-rolled API-vendor abstraction code, deleted in favor of the standard that won. Code deleted because the ecosystem matured is the happiest kind of funeral.

The through-line, and next year’s ledger

Reading three years of these audits in sequence, one pattern owns the decade so far: everything spectacular eventually either becomes boring or becomes gone — and boring is the win condition. The agents got boring. The local models got boring. PHP has been winning by boring for thirty years. The discourse chases the spectacular; the stack accretes the boring; this column exists to track the conversion rate.

Predictions, banked for December 2026: the plugin project ships publicly and teaches me more about open-source maintainership than a decade of consuming it did; the local tier takes another bite out of the frontier subscriptions; and this site itself — creaking on its ancient theme — finally gets the rebuild it has deserved for years, probably with an agent pairing on it. The cobbler’s children get shoes in 2026.

Good year. Quiet stack, loud world — the right way around. See you in December.