Smart buttons for incident tracking in SharePoint
Tired of clicking through forms to update status fields in SharePoint? This guide shows how to add inline 'Escalate' and 'Resolve' buttons to your incident tracker using JSON column formatting and …
Assumption is the mother of all fuck-ups
This post is a look inside the workshops I run with clients; where we surface the assumptions quietly shaping our software and challenge them before they blow up in production. From …
Copilot Studio: Part 2 – Copilot Studio agents: the ALM reality check
Clicking 'Publish' doesn’t mean your agent is live; it means it’s exposed. This post cuts through the noise around Copilot Studio and lays out what a real deployment looks like: solutions, …
'I’ll refactor this later': The lie that ships with every sprint
Developers love to say 'I’ll refactor this later'; but later rarely comes. This post unpacks why cleanup gets skipped, why Jira tickets don’t solve it, and how to build a team culture that favors …
There are no temporary fixes (just permanent shortcuts)
Faking bold text with Unicode might make your post stand out — but it breaks screen readers, ruins searchability, and creates compliance risks. This blog breaks down why formatting tricks do more harm …
Introducing QR Watchface: Your wrist’s new best friend
Turn any URL into a perfectly sized QR code for your Apple Watch. Customize colors, check accessibility, and download a watch-optimized image with just one click. Effortless networking on your wrist.
What Tinder🔥 taught me about bad Dataverse design
Toxic Tinder traits meet Power Platform red flags in this brutally honest (and slightly hilarious) guide to what not to build.
Stop pretending your text is bold: why fake formatting breaks accessibility
Faking bold text with Unicode might make your post stand out — but it breaks screen readers, ruins searchability, and creates compliance risks. This blog breaks down why formatting tricks do more harm …
Copilot Studio: Part 1 – when automation bites back – autonomy ≠ chaos
Most organizations fear agent autonomy; not because the system is too smart, but because no one’s defined what happens when it’s wrong. This post explores how to design autonomy with clarity, …
Copilot Studio: Part 0 – everything is an agent, until it isn't
In this post, we separate real agents from glorified scripts. Copilot Studio isn’t just another automation tool; it’s how organizations delegate intent and operationalize decisions. But if you treat …
Software development is a decathlon (and low-code only gives you running shoes for two events)
Low-code platforms like Power Apps simplify parts of software development, but they don’t eliminate core engineering disciplines. Real solutions require much more: problem solving, testing, …
Test Less. Test Better: The Modern Testing Stack
A sharp, take on testing that moves beyond coverage metrics and mocking madness but uses I-native with testing that builds confidence instead of just checking boxes.