<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Muhammad Usman</title>
    <description>The latest articles on DEV Community by Muhammad Usman (@usmanmateen).</description>
    <link>https://dev.to/usmanmateen</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3818422%2Fe59731d1-51a6-4451-94d8-1982c6a26fe5.jpg</url>
      <title>DEV Community: Muhammad Usman</title>
      <link>https://dev.to/usmanmateen</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/usmanmateen"/>
    <language>en</language>
    <item>
      <title>I built a webhook capture &amp; replay tool because I kept losing Stripe events at 3am</title>
      <dc:creator>Muhammad Usman</dc:creator>
      <pubDate>Wed, 11 Mar 2026 11:48:40 +0000</pubDate>
      <link>https://dev.to/usmanmateen/i-built-a-webhook-capture-replay-tool-because-i-kept-losing-stripe-events-at-3am-3851</link>
      <guid>https://dev.to/usmanmateen/i-built-a-webhook-capture-replay-tool-because-i-kept-losing-stripe-events-at-3am-3851</guid>
      <description>&lt;p&gt;I'm a junior dev and this kept happening to me.&lt;/p&gt;

&lt;p&gt;Deploy a new version. App restarts for 3 minutes. During those 3 minutes Stripe fires webhooks, GitHub triggers events, Shopify sends orders.&lt;/p&gt;

&lt;p&gt;App misses all of them. No retries. Just gone.&lt;/p&gt;

&lt;p&gt;I searched for a simple tool to fix this. Nothing fit. So I built Paggio.&lt;/p&gt;

&lt;p&gt;It sits between your webhook senders and your app. Every webhook is captured and stored even if your app is down. It forwards to your destination URL in real time. If something fails you replay it with one click to prod, staging, or localhost.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fs92ksstrdtcfxsem5chy.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fs92ksstrdtcfxsem5chy.png" alt=" " width="800" height="439"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;It auto-detects 15 sources from request headers — Stripe, GitHub, Shopify, Linear, Vercel, Twilio, SendGrid, Mailgun and more. No config needed.&lt;/p&gt;

&lt;p&gt;You also get Discord and Slack notifications the moment a webhook is delivered or fails.&lt;/p&gt;

&lt;p&gt;Built with Next.js 14, Supabase, and Tailwind. Deployed on Vercel.&lt;/p&gt;

&lt;p&gt;Full documentation is available at &lt;a href="https://docs.paggio.dev" rel="noopener noreferrer"&gt;https://docs.paggio.dev&lt;/a&gt; — covering quickstart, all 15 integrations, replay guide, and Discord/Slack notification setup.&lt;/p&gt;

&lt;p&gt;Free during beta → &lt;a href="https://paggio.dev" rel="noopener noreferrer"&gt;https://paggio.dev&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Would love feedback from other devs — what would make this more useful for your workflow?&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>showdev</category>
      <category>programming</category>
      <category>startup</category>
    </item>
  </channel>
</rss>
