Latest — 17 May 2026 Was This a Problem of Knowing, Deciding, or Doing? Knowing. Deciding. Doing. Three dimensions every failure lives across. Most teams examine one and conclude. The real failure is never found until someone asks the right question first.
To Think Outside the Box, First Squeeze It To think outside the box, you first need to squeeze it. Most teams treat constraints as obstacles. But some force clarity. Others hide the real problem. The worst ones? Still invisible. A framework for finding what matters when everything feels important.
Why Does Your Team Keep Shipping and Missing? Your team shipped. The metrics didn't move. The retro produced action items. None of it helped. Here's why.
Shipping Your First AI Agent in 30 Days: A Guide for Product Managers An executive demands an AI strategy in six weeks, but a deck without data is just theory. Learn how one PM used radical constraints to ship a single AI capability in 30 days, proving that real usage data from two users is more valuable than a perfect plan.
Should You Build AI Agent Capabilities? A Decision Framework for Product Managers Your CEO asks: "Should we become an agent capability?" You have one quarter, one team, finite resources. Build for AI agents or ship features your customers asked for? The five dimensions that determine which path fits your product.
UI as API: Extracting Data Using Vision Models When APIs don't expose what you need, vision models offer a stable alternative to brittle scrapers. A complete walkthrough building Jira automation.
When Not to Fail Fast? Fail Fast tells you how to move. It doesn't tell you what to check before you start. The cases where those questions go unasked don't just fail fast. They fail wide, quietly, and at someone else's cost.
The Reversible Decision: A Product Manager's Guide to Navigating Uncertainty Certainty is a recipe for brittleness. In fluid markets, the only real strategy is a shock absorber. From Bezos's Two-Way Doors to the Three-Strike Rule, learn how the Reversible Decision framework lowers the cost of being wrong and creates the space for growth.
Your SaaS Product Is Becoming Liquid: The Bundle Is Unbundling Two parallel shifts are converging: AI agents that generate interfaces on-demand, and LLMs that compile intent into code. Together, they're ending the era of fixed software. If the UI and the logic layer goes away, what's left of your SaaS product? Time for an uncomfortable exercise.
Why Implementing Single Responsibility Principle is Hard Software Responsibility is a language problem before it is a design problem. From "House Red" sauce mishaps to half-billion-dollar trading errors, discover how "Language Debt" collapses system navigation and how the "And" Test can save your codebase.
The Street Sweeper Trap: Why Your Solutions Are Just Creating More Work A city has pristine streets, but 5000 sweepers scrub them daily at a huge cost. This is the "Street Sweeper Trap." We often fall into the trap of solving symptoms with effort instead of architecture. Stop being the janitor of your team; start being its architect. Learn the 4-step framework.
The Strangler Fig Strategy for Breaking Bad Habits Habits don't live in our values; they live in our wiring. Instead of "deleting" a behavior, learn how to build a low-friction route that strangles legacy traffic one request at a time.
The Fluency Trap You step sideways into the AI. It feels like efficiency, but is it an abdication? Fluency seduces where error alerts; it trades contact for coherence. Are you using the tool to explore the world, or to hide from the friction of it? Stop letting the lullaby of a smooth summary replace your sight.
Nano Banana Downloading Wrong Images And How To Fix It If you are generating images with Gemini’s new Nano Banana models, the "Download" button is currently broken. It frequently downloads an entirely different image that is corrupted from a previous prompt. 😭 The official fix isn't out yet, but the high-res asset exists. You just have
The Machinery Your fitness app warns your streak will break. Your meditation app reminds you to be mindful. None are designed for peace of mind. They're designed to keep the machinery running. What if we built products differently?
Why Are You Revolving The World Around You? A quiet letter to those who forget how insecurities pull us into our own center of gravity, and how in that tilt, any form of excess, either ego or its absence, becomes its own quiet form of starvation.
The Happy Path Is the Shadow of Good Failure Design The happy path builds itself when failure is designed from the start. This essay breaks down a simple hierarchy for ranking errors, planning recovery, and shaping products that feel smooth not by accident, but because the messy paths were handled deliberately.
Thanks This too shall pass. Last week I had to say goodbye to colleagues I have learned from, built alongside, and occasionally debated with. Many were people I looked up to—guides when I was stuck—each adding a Lego brick I didn't know I needed until everything clicked.
If AI Builds Faster Than You Can Think, How Do Product Managers Stay Relevant? AI has made building effortless — but not meaningful. As prototypes shrink from months to minutes, the real advantage isn’t speed; it’s awareness. This essay explores how Product Managers can adapt their craft, design faster feedback loops, and rediscover meaning in an AI-accelerated world.
Stop Building Wedding Cakes. Ship Cupcakes Instead! If I asked you about your plans this weekend, you’d probably tell me exactly which cafe you’re heading to, which book you’re catching up on, or which friend group you’re meeting. But if I asked about the weekend three weeks from now, you’d be less
Are Your Experiments Killing Innovation? Does your team runs dozens of experiments every month? Let's explore how great product teams turn experimentation into true discovery, and why organizations get this wrong.
Building Better Software Teams Part 3 - 4 Symptoms or One Problem This story is third in the series Building Better Software Teams in which we understand and try to remediate some common issues faced by software teams. In the previous part, we saw how 5 Whys can be a great way to get to the root of an issue. Once the
Building Better Software Teams Part 2 - Starting with 5 Whys In Part 1, we explored the story of Beth and her team, who are facing challenges in delivering a critical project on time. We observed Beth taking initiative by speaking with her manager, Linda, to bring the team together and discuss their current predicament. Additionally, we saw them identify 6
Building Better Software Teams Part 1 - The Challenges What traits make a great software team? Join Beth's journey to uncover the keys to success for the product triad. 💻🚀 #SoftwareTeamSuccess
Single Responsibility Principle: What Exactly Is It The one critical thing that most software teams get wrong when adopting the Single Responsibility Principle.
Will Clean Code Save Us When AI Strikes War Against Humanity? Picture this: A world where Artificial Intelligence has grand ambitions of world dominance. While this concept has been explored countless times, it never fails to captivate our imagination and remains as intriguing as ever. In this light-hearted article, we playfully ponder whether AI, with its world-conquering goals, would even bother
Git Worktree: Working With Parallel Branches Using Git Worktree you can parallelly checkout multiple branches and supercharge your workflow. Do you often have to work or switch back and forth between multiple branches on git? Or you like to work on multiple tickets and switch your focus to a new branch when it is blocked or
Make Your Hugo Multisite Workflow Fast Like A Boss I used to write several blogs using Hugo and hosted them on GitHub Pages. But managing many Hugo installations became frustrating, especially when I had to make the same changes on all the websites. My previous workflow was highly inefficient and got compounded by the fact that all my websites
3 Essential Tips For Naming Software Entities 3 Essential tips for naming software entities Naming things correctly is understandably a serious task in programming. It is challenging because it is difficult to understand the characteristics of a …