<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Saquif Alam — Writing</title>
    <link>https://eshpel.in/blog</link>
    <description>Product, writing, design, and engineering essays from Saquif Alam.</description>
    <language>en</language>
    <copyright>Saquif Alam</copyright>
    <atom:link href="https://eshpel.in/blog/rss.xml" rel="self" type="application/rss+xml"/>
    <lastBuildDate>Tue, 25 Aug 2026 08:20:25 GMT</lastBuildDate>

    <item>
      <title>The expressway always feels faster.</title>
      <link>https://eshpel.in/blog/flyover-always-feels-faster</link>
      <guid isPermaLink="true">https://eshpel.in/blog/flyover-always-feels-faster</guid>
      <pubDate>Sun, 16 Aug 2026 00:00:00 GMT</pubDate>
      <category>AI</category>
      <description>We started the last year with reading articles that METR had measured experienced developers going 19% slower with AI while they believed they were going 20% faster. The more interesting thing happened in February 2026, when METR admitted it could no longer run the study, because it could not find enough developers willing to spend a day working without an AI tool.</description>
      <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Saquif Alam</dc:creator>
    </item>

    <item>
      <title>Your agent user cannot file a bug.</title>
      <link>https://eshpel.in/blog/agent-user-cannot-file-a-bug</link>
      <guid isPermaLink="true">https://eshpel.in/blog/agent-user-cannot-file-a-bug</guid>
      <pubDate>Sun, 16 Aug 2026 00:00:00 GMT</pubDate>
      <category>PRODUCT</category>
      <description>What happens when our product has acquired a user that reads your error strings, acts on your defaults, and never once complains. It does not answer surveys, it does not open tickets, and when it gets confused it just retries :/</description>
      <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Saquif Alam</dc:creator>
    </item>

    <item>
      <title>Count both queues.</title>
      <link>https://eshpel.in/blog/praise-to-criticism-ratio</link>
      <guid isPermaLink="true">https://eshpel.in/blog/praise-to-criticism-ratio</guid>
      <pubDate>Thu, 09 Jul 2026 00:00:00 GMT</pubDate>
      <category>PRODUCT</category>
      <description>A tailor can&apos;t unit-test a punjabi, so he judges his Eid season by who walks back into the lane afterwards: the customers who come back carrying new cloth, and the ones who come back with the shoulders folded in a bag. AI products have put the rest of us in the same position. When you can&apos;t fully verify the thing before it ships, the praise-to-criticism ratio in your feedback stream becomes the closest thing you have to a report card, and it&apos;s a better one than NPS ever was.</description>
      <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Saquif Alam</dc:creator>
    </item>

    <item>
      <title>You can&apos;t sell SaaS seats anymore.</title>
      <link>https://eshpel.in/blog/the-agent-doesnt-get-a-seat</link>
      <guid isPermaLink="true">https://eshpel.in/blog/the-agent-doesnt-get-a-seat</guid>
      <pubDate>Tue, 16 Jun 2026 00:00:00 GMT</pubDate>
      <category>AI</category>
      <description>For fifteen years software was sold by the seat, one named user for one monthly fee, back when every seat was a person and the software only made that person faster. Then the agent started doing the work itself, and a single agent that clears what seven hundred people used to clear is an agent that empties seven hundred desks you were billing for. Sell that by the seat and your revenue shrinks in step with how well the thing works.</description>
      <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Saquif Alam</dc:creator>
    </item>

    <item>
      <title>Ship an MCP or become a database.</title>
      <link>https://eshpel.in/blog/ship-an-mcp-or-become-a-database</link>
      <guid isPermaLink="true">https://eshpel.in/blog/ship-an-mcp-or-become-a-database</guid>
      <pubDate>Sun, 07 Jun 2026 00:00:00 GMT</pubDate>
      <category>PRODUCT</category>
      <description>Greenhouse shipped an MCP server this year, and the part worth sitting with is not the feature list. It is that a recruiter can now run a full hiring report, pull candidate context, and clear a batch of rejections without ever loading greenhouse.com. The interface layer of SaaS is migrating into the agent, and the product you spent a decade making beautiful is becoming a backend somebody else narrates.</description>
      <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Saquif Alam</dc:creator>
    </item>

    <item>
      <title>Desire paths are the product.</title>
      <link>https://eshpel.in/blog/desire-paths-are-the-product</link>
      <guid isPermaLink="true">https://eshpel.in/blog/desire-paths-are-the-product</guid>
      <pubDate>Tue, 26 May 2026 00:00:00 GMT</pubDate>
      <category>PRODUCT</category>
      <description>A planning officer in Lisbon paused mid-walking-tour last spring in front of a fresh limestone plaza and pointed at the dirt line cutting diagonally across the middle of it. The same failure mode happens in product, where the team confuses the polished surface it shipped with the path the user actually wore. The cleanest products of the last thirty years are the ones that figured out which one was the artefact and which one was the data.</description>
      <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Saquif Alam</dc:creator>
    </item>

    <item>
      <title>Build to learn vs build to earn.</title>
      <link>https://eshpel.in/blog/build-to-learn-vs-build-to-earn</link>
      <guid isPermaLink="true">https://eshpel.in/blog/build-to-learn-vs-build-to-earn</guid>
      <pubDate>Tue, 19 May 2026 00:00:00 GMT</pubDate>
      <category>PRODUCT</category>
      <description>Marty Cagan&apos;s distinction between build-to-learn and build-to-earn has been getting passed around in product Slacks for a year now, mostly read as advice for early-stage teams. The argument I want to add, after a quarter of running the experiment myself on an established B2B marketing-workflow platform with thousands of paying enterprise marketing teams attached to it, is that the biggest scope for build-to-learn in 2026 is sitting inside a working build-to-earn product, not in the lean-startup garage everyone keeps drawing it in.</description>
      <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Saquif Alam</dc:creator>
    </item>

    <item>
      <title>Wanting the wanting.</title>
      <link>https://eshpel.in/blog/wanting-the-wanting</link>
      <guid isPermaLink="true">https://eshpel.in/blog/wanting-the-wanting</guid>
      <pubDate>Mon, 18 May 2026 00:00:00 GMT</pubDate>
      <category>PRODUCT</category>
      <description>There is a stand-up bit I caught on a podcast where the comic points out that you don&apos;t want new things, you want the wanting, because the moment a thing arrives in your hand you start hunting for the next thing to almost-have. The B2B PM version is that customers request features they then never use. The request itself was the value, and the feature sits in production while the same customer files the next one.</description>
      <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Saquif Alam</dc:creator>
    </item>

    <item>
      <title>Margin notes on Spiegel.</title>
      <link>https://eshpel.in/blog/margin-notes-on-spiegel</link>
      <guid isPermaLink="true">https://eshpel.in/blog/margin-notes-on-spiegel</guid>
      <pubDate>Mon, 18 May 2026 00:00:00 GMT</pubDate>
      <category>PRODUCT</category>
      <description>Evan Spiegel sat down with Lenny and said, roughly, that software stopped being a moat fifteen years ago and that the people running scared from AI now are running scared from that same fact in different clothes. I watched the interview with a half-finished bKash post still open on the next tab, and most of what struck me was how cleanly the Dhaka examples already half-argue his point.</description>
      <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Saquif Alam</dc:creator>
    </item>

    <item>
      <title>Why I stopped reading product Substacks.</title>
      <link>https://eshpel.in/blog/why-i-stopped-reading-product-substacks</link>
      <guid isPermaLink="true">https://eshpel.in/blog/why-i-stopped-reading-product-substacks</guid>
      <pubDate>Sun, 17 May 2026 00:00:00 GMT</pubDate>
      <category>REFLECTION</category>
      <description>Eight subscriptions ago, my product thinking was a compressed mirror of whatever Marty Cagan and Lenny Rachitsky had written that month. Then I unsubscribed, one at a time, over a single quarter. The thinking that came back was sharper, and the trade is one I am quietly recommending to anyone who will sit with it.</description>
      <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Saquif Alam</dc:creator>
    </item>

    <item>
      <title>Why everyone in Dhaka has a side hustle.</title>
      <link>https://eshpel.in/blog/why-everyone-in-dhaka-has-a-side-hustle</link>
      <guid isPermaLink="true">https://eshpel.in/blog/why-everyone-in-dhaka-has-a-side-hustle</guid>
      <pubDate>Sun, 17 May 2026 00:00:00 GMT</pubDate>
      <category>REFLECTION</category>
      <description>Two colleagues running two economies on two monitors between sprint meetings. One is QAing a Saturday build for an agency client, the other is approving a Daraz refund. The day job is the visa stamp. The side hustle is the actual job, and that has been true in Dhaka since roughly 2018.</description>
      <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Saquif Alam</dc:creator>
    </item>

    <item>
      <title>The English-medium school IPO.</title>
      <link>https://eshpel.in/blog/english-medium-school-ipo</link>
      <guid isPermaLink="true">https://eshpel.in/blog/english-medium-school-ipo</guid>
      <pubDate>Sun, 17 May 2026 00:00:00 GMT</pubDate>
      <category>REFLECTION</category>
      <description>Annual tuition at a name-brand Dhanmondi English-medium school sits well above what a mid-career private-sector parent can comfortably afford, and yet every gate has a waiting list. The argument here is that the school is no longer selling education; it is selling a long-dated option on emigration, priced to extract every taka the parent will not admit they are spending. School names below are deliberately fictionalised.</description>
      <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Saquif Alam</dc:creator>
    </item>

    <item>
      <title>Don&apos;t trust the user.</title>
      <link>https://eshpel.in/blog/dont-trust-the-user</link>
      <guid isPermaLink="true">https://eshpel.in/blog/dont-trust-the-user</guid>
      <pubDate>Sun, 17 May 2026 00:00:00 GMT</pubDate>
      <category>PRODUCT</category>
      <description>A B2B customer wrote in to say our one-time codes were five characters long when the field on his screen only took four, and I spent half a Tuesday in the production database hunting for a bug that turned out to be a column he had not scrolled past. The wider claim is that watching a user does more work than talking to one ever will, and that in B2B SaaS a complaint without a session replay attached is half a complaint at best.</description>
      <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Saquif Alam</dc:creator>
    </item>

    <item>
      <title>The bKash agent at the corner store IS the bank branch.</title>
      <link>https://eshpel.in/blog/bkash-agent-is-the-bank-branch</link>
      <guid isPermaLink="true">https://eshpel.in/blog/bkash-agent-is-the-bank-branch</guid>
      <pubDate>Sun, 17 May 2026 00:00:00 GMT</pubDate>
      <category>REFLECTION</category>
      <description>bKash didn&apos;t win on app polish or frontier ML. It won by realising the bottleneck on Bangladeshi financial inclusion was a trust handshake, and the handshake had to happen at a corner store with a laminated pink poster and a cash drawer. The next ten consumer categories in this country need the same retail-shaped on-ramp.</description>
      <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Saquif Alam</dc:creator>
    </item>

    <item>
      <title>Bangladesh is the world&apos;s best A/B testing ground (and nobody&apos;s using it).</title>
      <link>https://eshpel.in/blog/bangladesh-is-the-worlds-best-ab-testing-ground</link>
      <guid isPermaLink="true">https://eshpel.in/blog/bangladesh-is-the-worlds-best-ab-testing-ground</guid>
      <pubDate>Sun, 17 May 2026 00:00:00 GMT</pubDate>
      <category>PRODUCT</category>
      <description>Bangladesh has 170 million people pressed into a strip a tenth the size of the US, segmented across language, religion, income, age, and which phone the user is holding, riding a unified payment rail. It is the cleanest signal-to-noise ratio in any consumer market on earth, and almost no global product team runs experiments here.</description>
      <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Saquif Alam</dc:creator>
    </item>

    <item>
      <title>Your support team is the eval set you&apos;re not using.</title>
      <link>https://eshpel.in/blog/support-team-is-the-eval-set</link>
      <guid isPermaLink="true">https://eshpel.in/blog/support-team-is-the-eval-set</guid>
      <pubDate>Thu, 14 May 2026 00:00:00 GMT</pubDate>
      <category>PRODUCT</category>
      <description>In agentic-AI products, the people answering tickets and walking new customers through their first ninety days already hold the failure-mode catalogue your eval team is trying to write from scratch. The under-priced research function is sitting one floor down, badged in a different colour, and the company keeps treating it like a cost line.</description>
      <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Saquif Alam</dc:creator>
    </item>

    <item>
      <title>Cat Wu would not hire most of you.</title>
      <link>https://eshpel.in/blog/notes-on-cat-wu</link>
      <guid isPermaLink="true">https://eshpel.in/blog/notes-on-cat-wu</guid>
      <pubDate>Thu, 14 May 2026 00:00:00 GMT</pubDate>
      <category>PRODUCT</category>
      <description>Cat Wu runs product for Claude Code at Anthropic. She told Lenny Rachitsky, plainly, that most PMs she interviews are approaching the role wrong, that her team prefers engineers with taste, that PRDs are mostly gone, and that some features ship in a day. I watched the interview with my own /blog open in another tab and threaded comments down the right margin.</description>
      <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Saquif Alam</dc:creator>
    </item>

    <item>
      <title>Margin notes on Karpathy.</title>
      <link>https://eshpel.in/blog/margin-notes-on-karpathy</link>
      <guid isPermaLink="true">https://eshpel.in/blog/margin-notes-on-karpathy</guid>
      <pubDate>Thu, 14 May 2026 00:00:00 GMT</pubDate>
      <category>REFLECTION</category>
      <description>I watched Andrej Karpathy&apos;s vibe-coding talk with my own blog open in another tab. Most of what struck me wasn&apos;t argument, it was overlap. Five places where his sentence in San Francisco met a paragraph I&apos;d already pencilled in Dhanmondi, plus the one place I&apos;d push past where he stopped.</description>
      <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Saquif Alam</dc:creator>
    </item>

    <item>
      <title>Have we confused thinking with programming?</title>
      <link>https://eshpel.in/blog/have-we-confused-thinking-with-programming</link>
      <guid isPermaLink="true">https://eshpel.in/blog/have-we-confused-thinking-with-programming</guid>
      <pubDate>Thu, 14 May 2026 00:00:00 GMT</pubDate>
      <category>CRAFT</category>
      <description>I passed a senior engineering interview last month and I still couldn&apos;t write a React calculator from scratch. The grammar of code is not the thinking of code, and a generation of Dhaka programmers, like a generation of Dhaka grammar-exam toppers, has been confusing the two for thirty years.</description>
      <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Saquif Alam</dc:creator>
    </item>

    <item>
      <title>Bangladesh&apos;s biggest casino is the land registry office.</title>
      <link>https://eshpel.in/blog/casino-is-the-land-registry</link>
      <guid isPermaLink="true">https://eshpel.in/blog/casino-is-the-land-registry</guid>
      <pubDate>Thu, 14 May 2026 00:00:00 GMT</pubDate>
      <category>REFLECTION</category>
      <description>Two colleagues wear the same tight pleasure on their faces, one with a Crash bet slip on his phone, the other with a Purbachal deed on his desk. The argument here is that the only honest difference between the two is the timeline, and that Bangladesh has been pretending otherwise for thirty years.</description>
      <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Saquif Alam</dc:creator>
    </item>

    <item>
      <title>Streaming is UX, not plumbing.</title>
      <link>https://eshpel.in/blog/streaming-is-ux</link>
      <guid isPermaLink="true">https://eshpel.in/blog/streaming-is-ux</guid>
      <pubDate>Tue, 12 May 2026 00:00:00 GMT</pubDate>
      <category>PRODUCT</category>
      <description>From a Banani 11 cha stall, a small argument about why token streaming is the most underrated UX primitive of the decade. The act of watching the characters appear changes how the user reads, edits, and trusts the response, and a product team that mistakes the pour for plumbing is selling cha by handing the customer a thermos.</description>
      <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Saquif Alam</dc:creator>
    </item>

    <item>
      <title>Your Slack channels are your real org chart.</title>
      <link>https://eshpel.in/blog/slack-is-real-org-chart</link>
      <guid isPermaLink="true">https://eshpel.in/blog/slack-is-real-org-chart</guid>
      <pubDate>Tue, 12 May 2026 00:00:00 GMT</pubDate>
      <category>PRODUCT</category>
      <description>The printed reporting structure is a fiction. The real org is who DMs whom, which channels stay alive, which ones go quiet. A traffic constable on the Mohakhali flyover reads the road the way a senior engineer reads a Slack workspace, and the painted lines are not the lanes.</description>
      <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Saquif Alam</dc:creator>
    </item>

    <item>
      <title>Pricing AI products by token is a trap.</title>
      <link>https://eshpel.in/blog/pricing-ai-by-token-trap</link>
      <guid isPermaLink="true">https://eshpel.in/blog/pricing-ai-by-token-trap</guid>
      <pubDate>Tue, 12 May 2026 00:00:00 GMT</pubDate>
      <category>AI</category>
      <description>A Karwan Bazar fish caller has watched six pricing units come and go in thirty years, and the SaaS bhais selling AI agents are about to discover the per-token unit moves under them the same way the maund did when the ice started melting. The only shape that holds is per-outcome, and nobody has worked out how to bill it yet.</description>
      <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Saquif Alam</dc:creator>
    </item>

    <item>
      <title>Migration is the silent product job.</title>
      <link>https://eshpel.in/blog/migration-silent-pm-job</link>
      <guid isPermaLink="true">https://eshpel.in/blog/migration-silent-pm-job</guid>
      <pubDate>Tue, 12 May 2026 00:00:00 GMT</pubDate>
      <category>PRODUCT</category>
      <description>Most product writing is about new features. The unwritten skill is moving fifty thousand users from v1 to v2 without losing any of them. The actual job lives in the labels on the boxes, the way Mintu bhai does it on a Friday afternoon in Banani.</description>
      <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Saquif Alam</dc:creator>
    </item>

    <item>
      <title>The half-life of a benchmark.</title>
      <link>https://eshpel.in/blog/half-life-of-benchmark</link>
      <guid isPermaLink="true">https://eshpel.in/blog/half-life-of-benchmark</guid>
      <pubDate>Tue, 12 May 2026 00:00:00 GMT</pubDate>
      <category>AI</category>
      <description>MMLU was a real measurement in 2023 and a polite formality by 2025. HumanEval, GSM8K, MATH all went the same way. A benchmark is alive only as long as the gap between models still maps to something a customer can feel; once the labs train against it, the rate card on the wall becomes decoration.</description>
      <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Saquif Alam</dc:creator>
    </item>

    <item>
      <title>The coder who taught the model to ship.</title>
      <link>https://eshpel.in/blog/coder-taught-model-to-ship</link>
      <guid isPermaLink="true">https://eshpel.in/blog/coder-taught-model-to-ship</guid>
      <pubDate>Tue, 12 May 2026 00:00:00 GMT</pubDate>
      <category>CRAFT</category>
      <description>Vibe coding is real but mis-described. The actual skill is the older one of reading a diff and saying which lines stay. Compiling is the floor a tabla apprentice clears in week one of riyaz. The ceiling is taste, learned the way the apprentice learns it, by being corrected on the same bol until the wrist stops cheating.</description>
      <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Saquif Alam</dc:creator>
    </item>

    <item>
      <title>The product brief as a prompt.</title>
      <link>https://eshpel.in/blog/brief-as-prompt</link>
      <guid isPermaLink="true">https://eshpel.in/blog/brief-as-prompt</guid>
      <pubDate>Tue, 12 May 2026 00:00:00 GMT</pubDate>
      <category>PRODUCT</category>
      <description>When the brief is what generates the implementation, the brief becomes the spec, the test, and the documentation collapsed into one artifact. A film-set script supervisor in Old Dhaka has been doing this for forty years with a 40-page screenplay in one hand and a one-page call sheet in the other. The crew shoots the call sheet.</description>
      <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Saquif Alam</dc:creator>
    </item>

    <item>
      <title>Stop typing tokens, start typing schemas.</title>
      <link>https://eshpel.in/blog/type-schemas-not-tokens</link>
      <guid isPermaLink="true">https://eshpel.in/blog/type-schemas-not-tokens</guid>
      <pubDate>Mon, 11 May 2026 00:00:00 GMT</pubDate>
      <category>AI</category>
      <description>Most agentic codebases treat the model&apos;s output as a string to parse. The clerk at counter no. 3 of Gulshan post office knows better. Schemas are the form, and tokens that don&apos;t match the form go nowhere.</description>
      <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Saquif Alam</dc:creator>
    </item>

    <item>
      <title>The PM who reads twenty roadmaps and writes one.</title>
      <link>https://eshpel.in/blog/read-twenty-roadmaps-write-one</link>
      <guid isPermaLink="true">https://eshpel.in/blog/read-twenty-roadmaps-write-one</guid>
      <pubDate>Mon, 11 May 2026 00:00:00 GMT</pubDate>
      <category>PRODUCT</category>
      <description>Twenty inputs land on the desk by Friday afternoon. Customer interviews, sales notes, support tickets, three rival roadmaps, a legal risk register. The job isn&apos;t planning. It&apos;s de-duplication, prioritisation, and the kind of grammar that lets a tired team find the spine of next quarter.</description>
      <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Saquif Alam</dc:creator>
    </item>

    <item>
      <title>Why your RAG retrieves the wrong thing 14% of the time.</title>
      <link>https://eshpel.in/blog/rag-retrieves-wrong-thing</link>
      <guid isPermaLink="true">https://eshpel.in/blog/rag-retrieves-wrong-thing</guid>
      <pubDate>Mon, 11 May 2026 00:00:00 GMT</pubDate>
      <category>AI</category>
      <description>Six specific failure modes I keep meeting in production RAG over brand-voice corpora, in roughly the order I find them. Most teams discover them after launch, because their eval set was built from happy-path queries that never asked the awkward question.</description>
      <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Saquif Alam</dc:creator>
    </item>

    <item>
      <title>The new PM stack. Prompt, eval, observability.</title>
      <link>https://eshpel.in/blog/pm-stack-prompt-eval-observability</link>
      <guid isPermaLink="true">https://eshpel.in/blog/pm-stack-prompt-eval-observability</guid>
      <pubDate>Mon, 11 May 2026 00:00:00 GMT</pubDate>
      <category>PRODUCT</category>
      <description>Roadmaps and PRDs are still around, but the day-to-day for AI-product PMs runs on three rails. The prompt is the artifact, the eval is the test, and the trace is the truth-teller. If you can&apos;t read a Langfuse trace, you can&apos;t ship.</description>
      <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Saquif Alam</dc:creator>
    </item>

    <item>
      <title>Being multilingual is a moat.</title>
      <link>https://eshpel.in/blog/multilingual-is-a-moat</link>
      <guid isPermaLink="true">https://eshpel.in/blog/multilingual-is-a-moat</guid>
      <pubDate>Mon, 11 May 2026 00:00:00 GMT</pubDate>
      <category>CAREER</category>
      <description>Old Dhaka, off Tipu Sultan Road, a signboard painter who has been mixing enamel for forty years explains the part of PM work nobody puts on the JD. Translating between PRD, SQL, customer-voice, engineering-speak and the boardroom is the same job as choosing whether the next letter should be brush-stroke Bangla or stencil English.</description>
      <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Saquif Alam</dc:creator>
    </item>

    <item>
      <title>Hiring in 2026 is hiring for taste.</title>
      <link>https://eshpel.in/blog/hiring-for-taste</link>
      <guid isPermaLink="true">https://eshpel.in/blog/hiring-for-taste</guid>
      <pubDate>Mon, 11 May 2026 00:00:00 GMT</pubDate>
      <category>CAREER</category>
      <description>Tools have flattened output. Anyone can produce a wireframe, a sales email, a roadmap. The moat that&apos;s left is taste, the curated set of what&apos;s worth shipping and what&apos;s worth a polite no. Here&apos;s how to test for it in 45 minutes.</description>
      <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Saquif Alam</dc:creator>
    </item>

    <item>
      <title>Eval suites are the new release notes.</title>
      <link>https://eshpel.in/blog/evals-are-release-notes</link>
      <guid isPermaLink="true">https://eshpel.in/blog/evals-are-release-notes</guid>
      <pubDate>Mon, 11 May 2026 00:00:00 GMT</pubDate>
      <category>AI</category>
      <description>The PR description has stopped being the changelog. The pass-rate movement on the eval suite is. v2.3 lifted retrieval-grounded quotes from 81% to 89%; that one line is the release note. Everything else is the annual-day speech.</description>
      <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Saquif Alam</dc:creator>
    </item>

    <item>
      <title>The death of the PRD-as-document.</title>
      <link>https://eshpel.in/blog/death-of-prd</link>
      <guid isPermaLink="true">https://eshpel.in/blog/death-of-prd</guid>
      <pubDate>Mon, 11 May 2026 00:00:00 GMT</pubDate>
      <category>PRODUCT</category>
      <description>The Product Requirement Document was a 1990s artifact for waterfall org charts. In 2026 the artifact is the eval set, the prompt, and the trace. PRDs still get written, but past page two nobody is reading. The new spec is executable, and a stamp doesn&apos;t make a document; it certifies one.</description>
      <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Saquif Alam</dc:creator>
    </item>

    <item>
      <title>The compounding cost of LLM context.</title>
      <link>https://eshpel.in/blog/compounding-context-cost</link>
      <guid isPermaLink="true">https://eshpel.in/blog/compounding-context-cost</guid>
      <pubDate>Mon, 11 May 2026 00:00:00 GMT</pubDate>
      <category>AI</category>
      <description>Every agentic call drags the whole running history back into the prompt, and the meter on that ride is quadratic. Teams stop noticing because each individual hop feels cheap, the way a CNG passenger stops watching the meter once Mohakhali clears.</description>
      <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Saquif Alam</dc:creator>
    </item>

    <item>
      <title>The career advice that doesn&apos;t survive a year.</title>
      <link>https://eshpel.in/blog/career-advice-half-life</link>
      <guid isPermaLink="true">https://eshpel.in/blog/career-advice-half-life</guid>
      <pubDate>Mon, 11 May 2026 00:00:00 GMT</pubDate>
      <category>REFLECTION</category>
      <description>Most career advice has a shelf life of roughly eighteen months. A retired Sylheti headmaster spreads forty years of notebooks on the clothesline after the monsoon, reads what dried, what curled, what buckled. Six lines that didn&apos;t make it, and one rule that did.</description>
      <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Saquif Alam</dc:creator>
    </item>

    <item>
      <title>Caching is a hospitality problem.</title>
      <link>https://eshpel.in/blog/caching-is-hospitality</link>
      <guid isPermaLink="true">https://eshpel.in/blog/caching-is-hospitality</guid>
      <pubDate>Mon, 11 May 2026 00:00:00 GMT</pubDate>
      <category>ENGINEERING</category>
      <description>The cache is a boarding-house register, not a hash map. The bua of a four-room mess in Sutrapur explains who she lets stay, who she evicts before noon, and why LRU is a landlady&apos;s instinct that the Netflix caching team eventually wrote down on a slide.</description>
      <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Saquif Alam</dc:creator>
    </item>

    <item>
      <title>Bun is the new Node and that&apos;s fine.</title>
      <link>https://eshpel.in/blog/bun-is-the-new-node</link>
      <guid isPermaLink="true">https://eshpel.in/blog/bun-is-the-new-node</guid>
      <pubDate>Mon, 11 May 2026 00:00:00 GMT</pubDate>
      <category>ENGINEERING</category>
      <description>A team switching JavaScript runtimes is usually less dramatic than the standup that decided to do it. The interesting part of moving from Node to Bun isn&apos;t the runtime, it&apos;s that the audit forces you to confront which of your dependencies were quietly lying about being standard the whole time.</description>
      <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Saquif Alam</dc:creator>
    </item>

    <item>
      <title>The build is the brief.</title>
      <link>https://eshpel.in/blog/build-is-the-brief</link>
      <guid isPermaLink="true">https://eshpel.in/blog/build-is-the-brief</guid>
      <pubDate>Mon, 11 May 2026 00:00:00 GMT</pubDate>
      <category>ENGINEERING</category>
      <description>Compile errors and broken tests are the most honest user research you will ever get from a feature. The PRD only tells you what the team wishes were true, the build only ships what is actually true, and the fastest way to close the gap is to let the build read the spec back to you.</description>
      <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Saquif Alam</dc:creator>
    </item>

    <item>
      <title>AI eats QA before it eats engineering.</title>
      <link>https://eshpel.in/blog/ai-eats-qa-first</link>
      <guid isPermaLink="true">https://eshpel.in/blog/ai-eats-qa-first</guid>
      <pubDate>Mon, 11 May 2026 00:00:00 GMT</pubDate>
      <category>AI</category>
      <description>Everyone has been worrying about whether models will replace engineers. The role they have been quietly merging with for the last eighteen months sits one floor down, counting colonies on agar plates at 7am, and the technician is still on the seven o&apos;clock bus.</description>
      <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Saquif Alam</dc:creator>
    </item>

    <item>
      <title>Agentic products need contract tests, not unit tests.</title>
      <link>https://eshpel.in/blog/agentic-contract-tests</link>
      <guid isPermaLink="true">https://eshpel.in/blog/agentic-contract-tests</guid>
      <pubDate>Mon, 11 May 2026 00:00:00 GMT</pubDate>
      <category>ENGINEERING</category>
      <description>A unit test on a deterministic function asks for an exact byte. An agent answers in a different shape every Tuesday, and the byte changes. What you actually want is a contract on what the answer must look like, witnessed by three named clauses, the way a kabin-nama gets signed in a Wari sitting room.</description>
      <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Saquif Alam</dc:creator>
    </item>

    <item>
      <title>Good things are good things.</title>
      <link>https://eshpel.in/blog/good-things-are-good-things</link>
      <guid isPermaLink="true">https://eshpel.in/blog/good-things-are-good-things</guid>
      <pubDate>Sun, 10 May 2026 00:00:00 GMT</pubDate>
      <category>REFLECTION</category>
      <description>A friend&apos;s old-money-versus-new-money list landed on my feed and got two hundred likes by lunch. What the list is actually doing, more quietly than the sociology it&apos;s pretending to be, is laundering virtues through a class label nobody questions until you point at it.</description>
      <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Saquif Alam</dc:creator>
    </item>

    <item>
      <title>Tests are the spec now.</title>
      <link>https://eshpel.in/blog/tests-are-the-spec</link>
      <guid isPermaLink="true">https://eshpel.in/blog/tests-are-the-spec</guid>
      <pubDate>Thu, 07 May 2026 00:00:00 GMT</pubDate>
      <category>AI</category>
      <description>Specs rot in ninety days. Code, in an agentic codebase, rewrites at the speed of pull requests. The only artifact that can&apos;t rot is the test suite, because CI runs it on every push and a stale test fails. That changes whose job it is to write them.</description>
      <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Saquif Alam</dc:creator>
    </item>

    <item>
      <title>The agentic A/B test doesn&apos;t exist.</title>
      <link>https://eshpel.in/blog/agentic-ab-test</link>
      <guid isPermaLink="true">https://eshpel.in/blog/agentic-ab-test</guid>
      <pubDate>Thu, 02 Apr 2026 00:00:00 GMT</pubDate>
      <category>AI</category>
      <description>Classical A/B testing assumes humans branch. When both sides of the marketplace are agents, what&apos;s the control group?</description>
      <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Saquif Alam</dc:creator>
    </item>

    <item>
      <title>Privacy is the product.</title>
      <link>https://eshpel.in/blog/privacy-is-the-product</link>
      <guid isPermaLink="true">https://eshpel.in/blog/privacy-is-the-product</guid>
      <pubDate>Thu, 12 Mar 2026 00:00:00 GMT</pubDate>
      <category>PRODUCT</category>
      <description>Most products treat privacy as a constraint. A few make it the entire value prop. The inversion changes everything about how you build, market, and price.</description>
      <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Saquif Alam</dc:creator>
    </item>

    <item>
      <title>A field guide to RAG that doesn&apos;t lie.</title>
      <link>https://eshpel.in/blog/rag-field-guide</link>
      <guid isPermaLink="true">https://eshpel.in/blog/rag-field-guide</guid>
      <pubDate>Sun, 15 Feb 2026 00:00:00 GMT</pubDate>
      <category>AI</category>
      <description>Lessons from building retrieval against brand-voice corpora at Fortune 500 scale. What actually breaks, what to evaluate, and why retrieval is the easy part.</description>
      <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Saquif Alam</dc:creator>
    </item>

    <item>
      <title>2 kinds of PMs: diagram-first vs document-first.</title>
      <link>https://eshpel.in/blog/diagram-vs-document-pm</link>
      <guid isPermaLink="true">https://eshpel.in/blog/diagram-vs-document-pm</guid>
      <pubDate>Wed, 04 Feb 2026 00:00:00 GMT</pubDate>
      <category>CRAFT</category>
      <description>Two PMs face the same problem. One reaches for a whiteboard. The other reaches for Notion. The artifact you start with sets the ceiling on what you can ship.</description>
      <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Saquif Alam</dc:creator>
    </item>

    <item>
      <title>On successfully failing.</title>
      <link>https://eshpel.in/blog/on-successfully-failing</link>
      <guid isPermaLink="true">https://eshpel.in/blog/on-successfully-failing</guid>
      <pubDate>Thu, 22 Jan 2026 00:00:00 GMT</pubDate>
      <category>REFLECTION</category>
      <description>What seven years and one wound-down EdTech taught me about the kind of quitting that compounds. Why dissolving with grace beats dragging the corpse around.</description>
      <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Saquif Alam</dc:creator>
    </item>

    <item>
      <title>The roadmap is a compression algorithm.</title>
      <link>https://eshpel.in/blog/roadmap-compression</link>
      <guid isPermaLink="true">https://eshpel.in/blog/roadmap-compression</guid>
      <pubDate>Thu, 08 Jan 2026 00:00:00 GMT</pubDate>
      <category>PRODUCT</category>
      <description>Leadership sees four boxes. The team sees forty. What ships is three, plus an unrelated thing. We&apos;re not behind. We&apos;re compressed.</description>
      <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Saquif Alam</dc:creator>
    </item>
  </channel>
</rss>