A Lab exploring the principles of design systems and the best practices for setting up a Next.js application with a strong, scalable design foundation.
Strategy in the ChatGPT Mac app → One‑shot execution in VS Code
How to think about modularity, boundaries, and change without getting lost in tooling details
Reflections on designing a system where each tenant connects their own Stripe account—and what that unlocks (and complicates) compared to platform-owned payments.
A deep-dive on building a local-first hub to manage AI agents, rules, and confidence thresholds—so voice unloads flow from capture → storage → action without manual shuffling.
A production-lean blueprint for an event-driven bot layer with pluggable adapters (Discord, Slack, Webhook, Email) and a structured message contract.
Shifting from app-centered workflows to systems where AI agents act as operators, not accessories.
How to design and ship a shared core that powers multiple codebases with one identity, one database, and unified primitives—without coupling or chaos.
Shifting from one-off connectors and brittle prompts to structured, reusable interfaces that scale across agents and systems.
Protocols bring order, but order is never free. A breakdown of the explicit and hidden costs of adopting Model Context Protocols.
A discussion about resisting premature abstraction, keeping what works, and knowing when the overhead of protocols outweighs their promise.
Exploring the right moments to prioritize Model Context Protocols in a roadmap or sprint, and how to separate future-proofing from premature complexity.
Exploring how system design choices—what we query, when, and how—impact both performance and operational costs.
Why caching is more than an optimization—it’s a design choice that changes cost, reliability, and user experience.
A guide to the foundational software patterns and practices we rely on—the stuff that keeps systems understandable, reusable, and ready to scale.
Foundational notes on how to structure multi-tenant data when HubSpot is part of the stack, including where HubSpot fits as system-of-record and where external persistence is needed.
How factory patterns keep tenant-specific logic clean, pluggable, and safe—plus practical patterns you can drop into our stack.
My approach to building signup/auth, where data lives, and how security fits—kept intentionally stack-agnostic until the problem is clear.
Principles and decisions for running a multi-tenant Integration Platform (IPaaS) with Model Context Protocol (MCP) agents/tools. No code—just the hard choices.
How tenants can bring their own Stripe accounts/keys, why we’d do it, and the practical architecture for our booking platform.
Exploring how Domain-Driven Design provides structure, shared language, and clarity for service design workflows.
Exploratory notes on how HubSpot Memberships can be paired with external stateful modules (React/Node) for more advanced functionality.
Exploring design strategies that decouple services from specific infrastructure, enabling flexibility and resilience.
Capturing the design pattern of wrapping third-party APIs with a thin backend service that normalizes inputs, secures keys, and returns predictable results.
An easy-to-grasp explanation of multi-tenancy for people new to software — with examples, analogies, and why it matters.
How I’ve approached multi-tenancy repeatedly in Next.js and why the pattern keeps proving itself useful.