<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Lakshya Pratap Singh — Writing and case studies</title>
    <link>https://www.lakshyapratap.com/blog</link>
    <atom:link href="https://www.lakshyapratap.com/rss.xml" rel="self" type="application/rss+xml" />
    <description>Production notes on ledgers, reconciliation, payment rails, migrations and the systems that move money — plus the engagements they came from.</description>
    <language>en-in</language>
    <lastBuildDate>Fri, 28 Aug 2026 00:00:00 GMT</lastBuildDate>
    <item>
      <title>Reconciling UPI Settlements</title>
      <link>https://www.lakshyapratap.com/blog/upi-reconciliation</link>
      <guid isPermaLink="true">https://www.lakshyapratap.com/blog/upi-reconciliation</guid>
      <pubDate>Fri, 28 Aug 2026 00:00:00 GMT</pubDate>
      <category>Writing</category>
      <description>Why UPI settles in seconds but reconciles on another clock: which reference to key on, the state nobody models, and the three-way match that works.</description>
    </item>
    <item>
      <title>The Four Rails, and How Each Breaks</title>
      <link>https://www.lakshyapratap.com/blog/india-payment-rails</link>
      <guid isPermaLink="true">https://www.lakshyapratap.com/blog/india-payment-rails</guid>
      <pubDate>Fri, 28 Aug 2026 00:00:00 GMT</pubDate>
      <category>Writing</category>
      <description>UPI, IMPS, NEFT and RTGS differ in timing, reversal behaviour and which identifier settlement files join on. Modelling all four is an architecture job.</description>
    </item>
    <item>
      <title>Why Gateway Settlements Never Match</title>
      <link>https://www.lakshyapratap.com/blog/gateway-settlement-matching</link>
      <guid isPermaLink="true">https://www.lakshyapratap.com/blog/gateway-settlement-matching</guid>
      <pubDate>Fri, 28 Aug 2026 00:00:00 GMT</pubDate>
      <category>Writing</category>
      <description>Commission, tax, refunds from other periods, chargebacks and rolling reserve sit between gross sales and the bank credit. Each needs its own account.</description>
    </item>
    <item>
      <title>Double-Entry for Engineers</title>
      <link>https://www.lakshyapratap.com/blog/double-entry</link>
      <guid isPermaLink="true">https://www.lakshyapratap.com/blog/double-entry</guid>
      <pubDate>Wed, 19 Aug 2026 00:00:00 GMT</pubDate>
      <category>Writing</category>
      <description>Double-entry explained as an invariant system rather than accounting jargon: a five-hundred-year-old consistency protocol that assumes humans make mistakes.</description>
    </item>
    <item>
      <title>ERP Migration</title>
      <link>https://www.lakshyapratap.com/work/erp-migration</link>
      <guid isPermaLink="true">https://www.lakshyapratap.com/work/erp-migration</guid>
      <pubDate>Wed, 19 Aug 2026 00:00:00 GMT</pubDate>
      <category>Case study</category>
      <description>A decade of Tally, Excel and paper registers moved onto a live ERP in stages, with parallel runs throughout, and the factory floor never stopped for a day.</description>
    </item>
    <item>
      <title>Growth Engagement</title>
      <link>https://www.lakshyapratap.com/work/growth-01</link>
      <guid isPermaLink="true">https://www.lakshyapratap.com/work/growth-01</guid>
      <pubDate>Wed, 19 Aug 2026 00:00:00 GMT</pubDate>
      <category>Case study</category>
      <description>A services business with excellent delivery and no digital footprint, given the search and content system this practice now sells, proven on them first.</description>
    </item>
    <item>
      <title>Portfolio System</title>
      <link>https://www.lakshyapratap.com/work/portfolio-system</link>
      <guid isPermaLink="true">https://www.lakshyapratap.com/work/portfolio-system</guid>
      <pubDate>Wed, 19 Aug 2026 00:00:00 GMT</pubDate>
      <category>Case study</category>
      <description>Multi-asset positions rebuilt as transaction-true accounting with live profit and loss, streaming prices and value-at-risk, replacing quarterly archaeology.</description>
    </item>
    <item>
      <title>Ranking in AI Answers</title>
      <link>https://www.lakshyapratap.com/blog/ai-search-ranking</link>
      <guid isPermaLink="true">https://www.lakshyapratap.com/blog/ai-search-ranking</guid>
      <pubDate>Wed, 19 Aug 2026 00:00:00 GMT</pubDate>
      <category>Writing</category>
      <description>How to be cited by ChatGPT, Claude and Perplexity: the crawlability gate, answer-first passages, one consistent entity, and a panel you measure monthly.</description>
    </item>
    <item>
      <title>Reconciliation Engine</title>
      <link>https://www.lakshyapratap.com/work/reconciliation</link>
      <guid isPermaLink="true">https://www.lakshyapratap.com/work/reconciliation</guid>
      <pubDate>Wed, 19 Aug 2026 00:00:00 GMT</pubDate>
      <category>Case study</category>
      <description>Month-end reconciliation was days of spreadsheet archaeology and quiet write-offs. Automated three-way matching cut it to a morning of reviewing exceptions.</description>
    </item>
    <item>
      <title>Risk Modelling</title>
      <link>https://www.lakshyapratap.com/work/risk-modelling</link>
      <guid isPermaLink="true">https://www.lakshyapratap.com/work/risk-modelling</guid>
      <pubDate>Wed, 19 Aug 2026 00:00:00 GMT</pubDate>
      <category>Case study</category>
      <description>Monte Carlo risk at a hundred thousand paths, moved onto the GPU so value-at-risk answers arrive before a desk decision instead of overnight after one.</description>
    </item>
    <item>
      <title>Ledger Rebuild</title>
      <link>https://www.lakshyapratap.com/work/ledger-rebuild</link>
      <guid isPermaLink="true">https://www.lakshyapratap.com/work/ledger-rebuild</guid>
      <pubDate>Tue, 18 Aug 2026 00:00:00 GMT</pubDate>
      <category>Case study</category>
      <description>How a payments business rebuilt its ledger to handle thirteen lakh a month with zero reconciliation drift, and what the migration cost in time and engineering.</description>
    </item>
    <item>
      <title>Legacy Migration</title>
      <link>https://www.lakshyapratap.com/work/migration</link>
      <guid isPermaLink="true">https://www.lakshyapratap.com/work/migration</guid>
      <pubDate>Tue, 18 Aug 2026 00:00:00 GMT</pubDate>
      <category>Case study</category>
      <description>How an eighteen-month legacy migration was re-planned and delivered in five, using the strangler pattern and dual writes, with no customer-facing downtime.</description>
    </item>
    <item>
      <title>Conversion Optimisation</title>
      <link>https://www.lakshyapratap.com/blog/conversion-optimisation</link>
      <guid isPermaLink="true">https://www.lakshyapratap.com/blog/conversion-optimisation</guid>
      <pubDate>Tue, 18 Aug 2026 00:00:00 GMT</pubDate>
      <category>Writing</category>
      <description>Testing without fooling yourself: sample sizes, stopping rules and the traps that make a losing variant look like a winner in the second week of a test.</description>
    </item>
    <item>
      <title>Event-Driven Pitfalls</title>
      <link>https://www.lakshyapratap.com/blog/event-driven-pitfalls</link>
      <guid isPermaLink="true">https://www.lakshyapratap.com/blog/event-driven-pitfalls</guid>
      <pubDate>Tue, 18 Aug 2026 00:00:00 GMT</pubDate>
      <category>Writing</category>
      <description>Ordering, replay and poison messages are the three failures that ruin most event-driven systems. What to design in first, and which guarantees you can skip.</description>
    </item>
    <item>
      <title>GEO Versus SEO, Honestly Ranked</title>
      <link>https://www.lakshyapratap.com/blog/generative-engine-opt</link>
      <guid isPermaLink="true">https://www.lakshyapratap.com/blog/generative-engine-opt</guid>
      <pubDate>Tue, 18 Aug 2026 00:00:00 GMT</pubDate>
      <category>Writing</category>
      <description>How AI answer engines choose what to cite, why entity clarity matters more than keyword density, and what to change on a site to be named in generated answers.</description>
    </item>
    <item>
      <title>Google Updates</title>
      <link>https://www.lakshyapratap.com/blog/google-updates</link>
      <guid isPermaLink="true">https://www.lakshyapratap.com/blog/google-updates</guid>
      <pubDate>Tue, 18 Aug 2026 00:00:00 GMT</pubDate>
      <category>Writing</category>
      <description>What actually changed in the recent core updates, separated from the speculation, and which of those changes justify doing anything different on your own site.</description>
    </item>
    <item>
      <title>Idempotency, Done Right</title>
      <link>https://www.lakshyapratap.com/blog/idempotency-done-right</link>
      <guid isPermaLink="true">https://www.lakshyapratap.com/blog/idempotency-done-right</guid>
      <pubDate>Tue, 18 Aug 2026 00:00:00 GMT</pubDate>
      <category>Writing</category>
      <description>Keys, time windows and where to store them. How to make a payments API safely retryable without quietly double-charging a customer during a network failure.</description>
    </item>
    <item>
      <title>Ledger Design</title>
      <link>https://www.lakshyapratap.com/blog/ledger-design</link>
      <guid isPermaLink="true">https://www.lakshyapratap.com/blog/ledger-design</guid>
      <pubDate>Tue, 18 Aug 2026 00:00:00 GMT</pubDate>
      <category>Writing</category>
      <description>Why double-entry wins for any product that moves money, and what goes wrong the moment you try to store balances instead of deriving them from the entries.</description>
    </item>
    <item>
      <title>Postgres in Production</title>
      <link>https://www.lakshyapratap.com/blog/postgres-in-production</link>
      <guid isPermaLink="true">https://www.lakshyapratap.com/blog/postgres-in-production</guid>
      <pubDate>Tue, 18 Aug 2026 00:00:00 GMT</pubDate>
      <category>Writing</category>
      <description>Indexes, vacuum and lock contention: the three things that decide whether Postgres stays fast at scale, and how to spot each one before it takes the site down.</description>
    </item>
    <item>
      <title>Reconciliation at Scale</title>
      <link>https://www.lakshyapratap.com/blog/reconciliation-at-scale</link>
      <guid isPermaLink="true">https://www.lakshyapratap.com/blog/reconciliation-at-scale</guid>
      <pubDate>Tue, 18 Aug 2026 00:00:00 GMT</pubDate>
      <category>Writing</category>
      <description>Matching millions of transactions nightly without a queue of unresolved breaks: how to rank exceptions by value and resolve them from a guided audit workflow.</description>
    </item>
    <item>
      <title>The T+1 Problem</title>
      <link>https://www.lakshyapratap.com/blog/the-t-1-problem</link>
      <guid isPermaLink="true">https://www.lakshyapratap.com/blog/the-t-1-problem</guid>
      <pubDate>Tue, 18 Aug 2026 00:00:00 GMT</pubDate>
      <category>Writing</category>
      <description>Settlement time and business reality rarely agree. How to model T+1 properly so your customer balance, your bank statement and your ledger tell one story.</description>
    </item>
    <item>
      <title>The Technical SEO Audit Order</title>
      <link>https://www.lakshyapratap.com/blog/technical-seo</link>
      <guid isPermaLink="true">https://www.lakshyapratap.com/blog/technical-seo</guid>
      <pubDate>Tue, 18 Aug 2026 00:00:00 GMT</pubDate>
      <category>Writing</category>
      <description>Crawl, index and Core Web Vitals explained for engineers: which platform decisions quietly cost you rankings, and how to fix them in the codebase, not a plugin.</description>
    </item>
    <item>
      <title>What Actually Moves the Map Pack</title>
      <link>https://www.lakshyapratap.com/blog/local-seo</link>
      <guid isPermaLink="true">https://www.lakshyapratap.com/blog/local-seo</guid>
      <pubDate>Tue, 18 Aug 2026 00:00:00 GMT</pubDate>
      <category>Writing</category>
      <description>Maps, business profile and citations, in the order that actually moves the local pack. A practical sequence for practices competing inside a few kilometres.</description>
    </item>
    <item>
      <title>Why Your Ledger Drifts</title>
      <link>https://www.lakshyapratap.com/blog/why-your-ledger-drifts</link>
      <guid isPermaLink="true">https://www.lakshyapratap.com/blog/why-your-ledger-drifts</guid>
      <pubDate>Tue, 18 Aug 2026 00:00:00 GMT</pubDate>
      <category>Writing</category>
      <description>Ledger drift is never random. Where the difference actually comes from, how to prove it with a reconciliation query, and what to change so it cannot recur.</description>
    </item>
    <item>
      <title>Zero-Downtime Migration</title>
      <link>https://www.lakshyapratap.com/blog/zero-downtime-migration</link>
      <guid isPermaLink="true">https://www.lakshyapratap.com/blog/zero-downtime-migration</guid>
      <pubDate>Tue, 18 Aug 2026 00:00:00 GMT</pubDate>
      <category>Writing</category>
      <description>Dual-write and backfill, done in the right order. A practical sequence for moving a live database without a maintenance window or a nervous rollback plan.</description>
    </item>
  </channel>
</rss>
