Oct 5, 2026 • 5 min read
Technical Debt Needs a Repayment Trigger
A technical shortcut becomes manageable when its record includes the consequence, the affected work, and a clear trigger for paying it back.
Dev Blog
Essays on HubSpot architecture, AI workflow design, and engineering delivery for teams that care about what happens after launch, when operators, edge cases, and changing requirements put the real system on display.
Explore the blog
43 articles
Oct 5, 2026 • 5 min read
A technical shortcut becomes manageable when its record includes the consequence, the affected work, and a clear trigger for paying it back.
Sep 28, 2026 • 5 min read
The useful cost of an AI feature includes retries, retrieval, review, and support—not just the price of one successful model response.
Sep 19, 2026 • 4 min read
Web performance work becomes more useful when budgets track the journeys people complete, including repeat navigation, search, and submission.
Sep 10, 2026 • 5 min read
A build-versus-buy decision should account for data portability, customization, operating effort, and the cost of changing direction later.
Sep 4, 2026 • 4 min read
Accessibility becomes practical when teams define how people complete real tasks, including keyboard navigation, validation, and confirmation.
Aug 28, 2026 • 7 min read
Games make software feedback immediate. Building five of them sharpened how I think about iteration, device realities, content quality, and the difference between correct and genuinely enjoyable.
Aug 27, 2026 • 6 min read
Five party games can share a platform without becoming the same game. The useful architecture keeps sessions, delivery, and operations common while leaving each rule system explicit.
Aug 14, 2026 • 5 min read
Two new public recommendations describe the same kind of delivery I value: listen carefully, take ownership, translate ambiguity, improve the underlying system, and leave a team with something maintainable.
Aug 12, 2026 • 6 min read
Synchronized lyrics look simple in a player, but trustworthy line timing depends on identity, source text, alignment, validation, export, and a local QA gate.
Aug 8, 2026 • 5 min read
A television app has different input, distance, attention, and release constraints than a web page. Designing for it means treating the device as its own computing environment.
Aug 4, 2026 • 5 min read
A useful desktop AI product treats memory, model formats, fallbacks, and degraded states as product decisions—not surprises for the person using it.
Aug 1, 2026 • 6 min read
If an AI feature can change a customer decision, an operator workflow, or a safety boundary, its evaluation plan is part of the product requirement.
Jul 28, 2026 • 6 min read
Feature flags are not just a way to hide unfinished UI. They are operational controls that need owners, evidence, rollback rules, and cleanup dates.
Jul 24, 2026 • 5 min read
Good technical discovery reduces delivery risk by turning uncertainty into explicit decisions, owners, constraints, and acceptance criteria instead of producing a large document that nobody operates from.
Jul 19, 2026 • 5 min read
A website becomes an enterprise application when it starts owning operational state, sensitive submissions, permissions, integrations, and workflows the business cannot afford to treat like ordinary pages.
Jul 13, 2026 • 5 min read
Enterprise migrations succeed when teams treat them as coordinated changes to traffic, data, integrations, ownership, and operations rather than as a bulk transfer between platforms.
Jul 9, 2026 • 5 min read
Forward Deployed Engineers sit close to customers, but the role is more than technical consulting. They own the difficult path from an ambiguous business problem to a working production system.
Jul 1, 2026 • 3 min read
AI product quality depends on the full interface around the model: inputs, controls, evidence, state, review paths, and recovery behavior.
Jun 28, 2026 • 2 min read
AI tools are easier to trust and improve when they preserve inputs, evidence, decisions, approvals, and corrections instead of only storing the final output.
Jun 22, 2026 • 3 min read
The best AI workflows know when to pause for clarification, approval, or missing context instead of forcing a confident action from uncertain inputs.
Jun 19, 2026 • 3 min read
Retrieval is not plumbing in an AI product. It directly shapes whether the answer feels relevant, grounded, current, and useful.
Jun 14, 2026 • 3 min read
AI agents become more useful when their authority, inputs, tools, and escalation paths are defined before they start acting inside real workflows.
Jun 10, 2026 • 5 min read
Permission design shapes how safely teams can self-serve, recover, and change a system without constant specialist involvement.
Jun 7, 2026 • 5 min read
Internal systems work better when teams design the queue itself as a product surface instead of focusing only on the single-record happy path.
Jun 5, 2026 • 5 min read
Systems stay easier to operate when teams decide source of truth by workflow state and correction path instead of letting multiple tools feel authoritative at once.
Jun 4, 2026 • 5 min read
Prompt edits can change routing, escalation, and decision quality in production, so they deserve versioning, evaluation, and rollback.
Jun 1, 2026 • 6 min read
AI systems get more reliable when documentation defines the terms, states, tool behavior, and exception handling the workflow depends on.
May 31, 2026 • 4 min read
State names, field labels, and object vocabulary shape how quickly teams can understand, operate, and safely change a system after launch.
May 29, 2026 • 4 min read
Integrations stay safer and cheaper to evolve when teams define field meaning, ownership, and failure behavior before the first sync goes live.
May 26, 2026 • 8 min read
AI features improve when teams treat context assembly as product and systems design work instead of assuming the model can infer its way past noisy, stale, or incomplete inputs.
May 24, 2026 • 5 min read
Systems feel reliable when retry, rollback, reprocessing, and operator recovery paths are designed before failure forces them into existence.
May 22, 2026 • 4 min read
Workflow quality depends on whether each state has a clear owner, a clear next action, and a clear escalation path.
May 21, 2026 • 5 min read
Useful documentation reduces coordination drag by making state, ownership, and recovery legible without extra meetings.
May 20, 2026 • 4 min read
Operational simplicity lets teams publish, recover, and change systems without constant escalation or hidden process drag.
May 18, 2026 • 4 min read
Internal tools succeed when they reduce operator friction in real queue work, not just when they look polished in demos.
May 16, 2026 • 4 min read
Boring integrations stay reliable because their contracts, ownership, and failure handling are explicit from the start.
May 14, 2026 • 4 min read
HubSpot architecture proves itself after launch, when editors, marketers, and ops teams start stretching the portal in production.
May 12, 2026 • 4 min read
Content models matter more than page templates once campaigns, channels, and teams need the system to reuse content cleanly.
May 10, 2026 • 5 min read
Durable AI systems win by structuring decisions, preserving evidence, and designing the workflow around the model for operators.
May 8, 2026 • 4 min read
Good automation removes routine work but still gives people a clear, informed way to take over exceptions.
May 6, 2026 • 4 min read
Launches go better when teams instrument critical workflow states, delays, failures, and human intervention before go-live.
May 4, 2026 • 4 min read
Fast delivery only lasts when teams keep change cheap and refuse to let temporary shortcuts harden into architecture.
May 1, 2026 • 5 min read
This dev blog is where I write about the architectural, operational, and delivery decisions that determine whether systems keep working after launch.