Developing an OpenCode TUI Sidebar Plugin
A pragmatic walkthrough of building a sidebar plugin for OpenCode’s terminal UI — the two plugin registries, the compile-time ownership seam, and a build that actually works.
A pragmatic walkthrough of building a sidebar plugin for OpenCode’s terminal UI — the two plugin registries, the compile-time ownership seam, and a build that actually works.
This post reframes system architecture not as a technical challenge, but as a social one. It argues that the most resilient and scalable systems aren’t built on code, but on well-designed agreements between teams. By treating contracts, APIs, and documentation as promises, we can shift our focus from implementation to intent, creating systems that scale organizationally because they’re built on a foundation of human trust.
In response to the panic that agentic AI shortens the path to expertise, this post reframes the ten-year journey to mastery. The time required remains non-negotiable, but its focus shifts from writing code to conducting AI. The new path to expertise is defined by the deliberate practice of prompt engineering, critically evaluating AI output, and applying the deep judgment that can only be built over a decade of experience.
When faced with an ambiguous problem, the instinct is often to plan and research our way to a perfect solution. This is a trap. Clarity isn’t found in a document; it’s earned through action. The most effective strategy for navigating uncertainty is to take the smallest possible step, write the “bad” code, and create a feedback loop. Momentum is a strategy. Moving your feet is the only way to find the right path.
We mistake the messy, emergent path of discovery for a predictable blueprint, vowing to perfect a past that was never knowable. This post reframes project planning through the lens of “R&D’s Hierarchy of Needs,” arguing that the foundation—validation that we’re building the right thing—is the only layer that truly matters. Drawing on the Cynefin framework and Gall’s Law, it diagnoses the “curse of knowledge” as the root of our over-planning delusion and offers a simple antidote: start simpler, validate faster, and build complexity only after the foundation is proven.
As engineers, we build tools, but the modern AI landscape presents a philosophical choice: polished, “safe” walled gardens that log your data, or a private, uncensored frontier. This post explores that trade-off, advocating for tools that respect user privacy and intellectual agency. It details my personal journey to Venice AI, a platform that provides client-side, unfiltered access to powerful models, making it an invaluable sparring partner for pressure-testing engineering problems and a full palette for unfiltered creative exploration.
Frontend work often stalls waiting for the backend, but it doesn’t have to. This post outlines a pragmatic workflow that treats the OpenAPI contract as the primary product, enabling parallel development. See how to use Storybook, MSW, and Faker to build and validate UI components with realistic mock data, creating a fast feedback loop that de-risks features and accelerates delivery.
As engineers, we spend a lot of time talking about tests. We debate frameworks, measure coverage, and enforce check-in policies. But in the rush to “test everything,” we often lose sight of the most important question: Why are we writing tests in the first place?
By holding optional, brief sessions after stand-ups, teams can address issues immediately, share knowledge organically, and build stronger bonds through casual interaction—keeping workflows agile and collaboration authentic.
A guide outlining essential principles for engineering teams to design consistent, secure, and high-performing APIs, focusing on contract-driven development, extensibility, usability, and continuous monitoring.