<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Hacker News: spillcoffee</title><link>https://news.ycombinator.com/user?id=spillcoffee</link><description>Hacker News RSS</description><docs>https://hnrss.org/</docs><generator>hnrss v2.1.1</generator><lastBuildDate>Fri, 19 Jun 2026 10:57:08 +0000</lastBuildDate><atom:link href="https://hnrss.org/user?id=spillcoffee" rel="self" type="application/rss+xml"></atom:link><item><title><![CDATA[Show HN: FlurryPORT – Capture and replay webhooks to localhost]]></title><description><![CDATA[
<p>Hi HN,<p>After completing a Shopify webhook project where I got tired of triggering events manually to test edge cases, I built
<a href="https://FlurryPORT.io" rel="nofollow">https://FlurryPORT.io</a> to help with integration testing and debugging of webhooks.<p>FlurryPORT is a cloud application that is always available to receive webhooks from a provider.  Prevents you from only 
noticing payloads when you're listening and triggering only the happy path for your application.  A lesson I learned the
hard way with Shopify's orders/updated, not knowing the true cadence of updates from the client I was building the 
application for. Now you can setup a webhook and listen to relevant traffic before writing a single line of code.<p>All captured request bodies and headers are encrypted at rest using AES-256-GCM; query string variables are plain text.<p>To aid in application design webhook captures can be selected in batches to be grouped into collections and "Copy for AI".  The
"Copy for AI" allows you to send your captures to AI to help figure out the best set of captures for your application.  There
is a best effort to scrub/redact PII from the payloads using this feature (although, it would be good to spot check).<p>There is a CLI (npm install -g flurryport) that can be used as a bridge to localhost.  The CLI connects via a 
Personal Access Token (PAT) obtained from the account you wish to connect.  Registering of localhost can be done with a 
PAT to help with setup, but access to any other account function is restricted.  Control of which webhooks arrive is controlled
within the  account issuing the PAT.<p>The routing model is "everything arrives" a bare target will receive everything sent to your webhook.  But, you can create transformations
and binding pairs using a JSONata predicate that scopes reshaped payloads to an endpoint target; not limited to localhost.  If, nothing matches
your predicate then it is forwarded as is.<p>A disconnected localhost will not receive webhooks sent while disconnected; this is to mimic a real world scenario where the server is offline.<p>There is a live free demo found at <a href="https://flurryport.dev/try" rel="nofollow">https://flurryport.dev/try</a>, captures live for ~1 hr, payloads are not encrypted.  But, if you like your
work there when signing up an account they will be imported and encrypted to give your account a good start.</p>
<hr>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=48586676">https://news.ycombinator.com/item?id=48586676</a></p>
<p>Points: 2</p>
<p># Comments: 0</p>
]]></description><pubDate>Thu, 18 Jun 2026 15:14:54 +0000</pubDate><link>https://flurryport.dev/try</link><dc:creator>spillcoffee</dc:creator><comments>https://news.ycombinator.com/item?id=48586676</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48586676</guid></item><item><title><![CDATA[New comment by spillcoffee in "Emacs appearances in pop culture"]]></title><description><![CDATA[
<p>Do you lose all street cred if you use Emacs keyboard shortcuts whenever you can, but will use vim/nvim if there is no other choice?</p>
]]></description><pubDate>Thu, 11 Jun 2026 22:39:56 +0000</pubDate><link>https://news.ycombinator.com/item?id=48497381</link><dc:creator>spillcoffee</dc:creator><comments>https://news.ycombinator.com/item?id=48497381</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48497381</guid></item><item><title><![CDATA[New comment by spillcoffee in "Show HN: Construct SQL from table records by breaking down decision tree"]]></title><description><![CDATA[
<p>Nice tool. Worth flagging for folks in the design phase of their data model. Knowing what you want to report on, and what data your application actually needs, is usually how I approach schema design. Being able to draft your reports and derive your data layer from them is a good way to wrap your mind around what you need, not what you think you need.</p>
]]></description><pubDate>Wed, 10 Jun 2026 15:37:45 +0000</pubDate><link>https://news.ycombinator.com/item?id=48478006</link><dc:creator>spillcoffee</dc:creator><comments>https://news.ycombinator.com/item?id=48478006</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48478006</guid></item><item><title><![CDATA[New comment by spillcoffee in "Show HN: I Derived a Pancake"]]></title><description><![CDATA[
<p>As an avid maker of buttermilk pancakes from a box, you just blew my mind. I'm going to have to up my game and actually start experimenting... o.O</p>
]]></description><pubDate>Mon, 08 Jun 2026 15:43:36 +0000</pubDate><link>https://news.ycombinator.com/item?id=48446851</link><dc:creator>spillcoffee</dc:creator><comments>https://news.ycombinator.com/item?id=48446851</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48446851</guid></item><item><title><![CDATA[New comment by spillcoffee in "The Demon of the Gaps"]]></title><description><![CDATA[
<p>Agreed.  The complexity brought by AI-assisted development is making this worse.  This brings a shift in responsibility to the individual, as it did in previous technology shifts; a farmer driving a combine has a different set of problems than one standing behind a donkey with a plow.   A developer who has placed themselves firmly in their comfort zone needs to increase their knowledge of the ecosystem around them and perhaps look further than the next component connected to their own.</p>
]]></description><pubDate>Sun, 07 Jun 2026 02:53:07 +0000</pubDate><link>https://news.ycombinator.com/item?id=48431320</link><dc:creator>spillcoffee</dc:creator><comments>https://news.ycombinator.com/item?id=48431320</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48431320</guid></item></channel></rss>