<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:media="http://search.yahoo.com/mrss/">
  <channel>
    <title>Trove Deck Blog (EN)</title>
    <link>https://trovedeck.com/blog/en/</link>
    <description>Engineering essays from Trove Deck Solution — software design, development, and the trade-offs behind shipped products.</description>
    <language>en</language>
    <lastBuildDate>Mon, 01 Jun 2026 02:59:21 +0000</lastBuildDate>
    <atom:link href="https://trovedeck.com/blog/en/rss.xml" rel="self" type="application/rss+xml"/>
    <item>
      <title>MT4 vs MT5 vs cTrader vs Match Trader: 2026 Brokerage Guide</title>
      <link>https://trovedeck.com/blog/en/mt4-vs-mt5-vs-ctrader-vs-match-trader-2026/</link>
      <guid isPermaLink="true">https://trovedeck.com/blog/en/mt4-vs-mt5-vs-ctrader-vs-match-trader-2026/</guid>
      <pubDate>Mon, 01 Jun 2026 00:00:00 +0000</pubDate>
      <enclosure url="https://trovedeck.com/blog/en/mt4-vs-mt5-vs-ctrader-vs-match-trader-2026/cover.webp" type="image/webp"/>
      <media:content url="https://trovedeck.com/blog/en/mt4-vs-mt5-vs-ctrader-vs-match-trader-2026/cover.webp" medium="image" type="image/webp"/>
      <description><![CDATA[Launching a brokerage in 2026? The platform choice is make-or-break. We dive into MT4, MT5, cTrader, and Match Trader to guide your decision.]]></description>
    </item>
    <item>
      <title>Your API Costs Won't Explode—Bad Math Will</title>
      <link>https://trovedeck.com/blog/en/claude-vs-openai-pricing-bootstrapped-2026/</link>
      <guid isPermaLink="true">https://trovedeck.com/blog/en/claude-vs-openai-pricing-bootstrapped-2026/</guid>
      <pubDate>Sat, 09 May 2026 00:00:00 +0000</pubDate>
      <enclosure url="https://trovedeck.com/blog/en/claude-vs-openai-pricing-bootstrapped-2026/cover.webp" type="image/webp"/>
      <media:content url="https://trovedeck.com/blog/en/claude-vs-openai-pricing-bootstrapped-2026/cover.webp" medium="image" type="image/webp"/>
      <description><![CDATA[Most founders pick the wrong API provider because they optimize for the wrong variable—per-token price instead of total cost per outcome. Here's how to do the math.]]></description>
    </item>
    <item>
      <title>Clerk vs Auth0 vs NextAuth: Which Auth for Solo Founders?</title>
      <link>https://trovedeck.com/blog/en/clerk-vs-auth0-vs-nextauth-solo-founders/</link>
      <guid isPermaLink="true">https://trovedeck.com/blog/en/clerk-vs-auth0-vs-nextauth-solo-founders/</guid>
      <pubDate>Sat, 09 May 2026 00:00:00 +0000</pubDate>
      <enclosure url="https://trovedeck.com/blog/en/clerk-vs-auth0-vs-nextauth-solo-founders/cover.webp" type="image/webp"/>
      <media:content url="https://trovedeck.com/blog/en/clerk-vs-auth0-vs-nextauth-solo-founders/cover.webp" medium="image" type="image/webp"/>
      <description><![CDATA[Spent three days debugging auth? Here's how Clerk, Auth0, and NextAuth compare—and when to pick each. Plus: when outsourcing auth entirely makes sense for solo founders.]]></description>
    </item>
    <item>
      <title>CORS Errors Haunting You? Here's the Decision Tree That Finally Works</title>
      <link>https://trovedeck.com/blog/en/cors-errors-decision-tree/</link>
      <guid isPermaLink="true">https://trovedeck.com/blog/en/cors-errors-decision-tree/</guid>
      <pubDate>Sat, 09 May 2026 00:00:00 +0000</pubDate>
      <enclosure url="https://trovedeck.com/blog/en/cors-errors-decision-tree/cover.webp" type="image/webp"/>
      <media:content url="https://trovedeck.com/blog/en/cors-errors-decision-tree/cover.webp" medium="image" type="image/webp"/>
      <description><![CDATA[Your frontend is screaming about CORS. You're not broken—you're just missing the one diagram that explains everything. Here's the decision tree that works.]]></description>
    </item>
    <item>
      <title>Why Your App Crashes at 3 AM: Connection Pool Exhaustion</title>
      <link>https://trovedeck.com/blog/en/database-connection-pool-exhaustion-side-projects/</link>
      <guid isPermaLink="true">https://trovedeck.com/blog/en/database-connection-pool-exhaustion-side-projects/</guid>
      <pubDate>Sat, 09 May 2026 00:00:00 +0000</pubDate>
      <enclosure url="https://trovedeck.com/blog/en/database-connection-pool-exhaustion-side-projects/cover.webp" type="image/webp"/>
      <media:content url="https://trovedeck.com/blog/en/database-connection-pool-exhaustion-side-projects/cover.webp" medium="image" type="image/webp"/>
      <description><![CDATA[Your app crashes at 3 AM with zero warning. Database fine, code unchanged, but thousands of requests timeout. Connection pool exhaustion is the silent killer most developers discover too late. Here's how to spot it and fix it before it kills your users.]]></description>
    </item>
    <item>
      <title>Fix Localhost 404 Errors for Next.js Blog Articles</title>
      <link>https://trovedeck.com/blog/en/fix-localhost-404s-serve-static-posts-in-next-js-dev/</link>
      <guid isPermaLink="true">https://trovedeck.com/blog/en/fix-localhost-404s-serve-static-posts-in-next-js-dev/</guid>
      <pubDate>Sat, 09 May 2026 00:00:00 +0000</pubDate>
      <enclosure url="https://trovedeck.com/blog/en/fix-localhost-404s-serve-static-posts-in-next-js-dev/cover.webp" type="image/webp"/>
      <media:content url="https://trovedeck.com/blog/en/fix-localhost-404s-serve-static-posts-in-next-js-dev/cover.webp" medium="image" type="image/webp"/>
      <description><![CDATA[Your Next.js blog renders perfectly in production but throws 404 errors on localhost. We break down why dev and production serve static files differently—and show you the one-line fix.]]></description>
    </item>
    <item>
      <title>Your Next.js Build Turned Glacial at 2 AM—Here's Why and How to Fix It</title>
      <link>https://trovedeck.com/blog/en/nextjs-build-slow-friday-2am-fix/</link>
      <guid isPermaLink="true">https://trovedeck.com/blog/en/nextjs-build-slow-friday-2am-fix/</guid>
      <pubDate>Sat, 09 May 2026 00:00:00 +0000</pubDate>
      <enclosure url="https://trovedeck.com/blog/en/nextjs-build-slow-friday-2am-fix/cover.webp" type="image/webp"/>
      <media:content url="https://trovedeck.com/blog/en/nextjs-build-slow-friday-2am-fix/cover.webp" medium="image" type="image/webp"/>
      <description><![CDATA[It's 2 AM on Friday and your Next.js build went from 45 seconds to 8 minutes. We walk through the four culprits—dependency bloat, memory exhaustion, cache poisoning, and config drift—plus a 5-minute diagnostic checklist and fixes that work.]]></description>
    </item>
    <item>
      <title>Stripe vs Lemon Squeezy: Which Payment Processor for Solo SaaS?</title>
      <link>https://trovedeck.com/blog/en/stripe-vs-lemon-squeezy-2026/</link>
      <guid isPermaLink="true">https://trovedeck.com/blog/en/stripe-vs-lemon-squeezy-2026/</guid>
      <pubDate>Sat, 09 May 2026 00:00:00 +0000</pubDate>
      <enclosure url="https://trovedeck.com/blog/en/stripe-vs-lemon-squeezy-2026/cover.webp" type="image/webp"/>
      <media:content url="https://trovedeck.com/blog/en/stripe-vs-lemon-squeezy-2026/cover.webp" medium="image" type="image/webp"/>
      <description><![CDATA[Two payment platforms, two different philosophies. Stripe gives you the API; Lemon Squeezy gives you the full stack. Here's how to choose in 2026—and why one might ship your product a month faster.]]></description>
    </item>
    <item>
      <title>Stripe vs Paddle vs Lemon Squeezy: The Right Pick for 2026</title>
      <link>https://trovedeck.com/blog/en/stripe-vs-paddle-vs-lemon-squeezy-2026/</link>
      <guid isPermaLink="true">https://trovedeck.com/blog/en/stripe-vs-paddle-vs-lemon-squeezy-2026/</guid>
      <pubDate>Sat, 09 May 2026 00:00:00 +0000</pubDate>
      <enclosure url="https://trovedeck.com/blog/en/stripe-vs-paddle-vs-lemon-squeezy-2026/cover.webp" type="image/webp"/>
      <media:content url="https://trovedeck.com/blog/en/stripe-vs-paddle-vs-lemon-squeezy-2026/cover.webp" medium="image" type="image/webp"/>
      <description><![CDATA[Choosing a payment processor is a revenue decision. Stripe wins on fees and control, Paddle wins on tax compliance, Lemon Squeezy wins on speed. Here's how to pick the right one.]]></description>
    </item>
    <item>
      <title>Supabase vs Firebase vs PlanetScale: Real Database Costs</title>
      <link>https://trovedeck.com/blog/en/supabase-firebase-planetscale-cost-breakdown/</link>
      <guid isPermaLink="true">https://trovedeck.com/blog/en/supabase-firebase-planetscale-cost-breakdown/</guid>
      <pubDate>Sat, 09 May 2026 00:00:00 +0000</pubDate>
      <enclosure url="https://trovedeck.com/blog/en/supabase-firebase-planetscale-cost-breakdown/cover.webp" type="image/webp"/>
      <media:content url="https://trovedeck.com/blog/en/supabase-firebase-planetscale-cost-breakdown/cover.webp" medium="image" type="image/webp"/>
      <description><![CDATA[Your database bill doesn't match your traffic. Firebase, Supabase, and PlanetScale have wildly different cost models—here's what 10k users actually costs on each, and how to choose before it's too late.]]></description>
    </item>
    <item>
      <title>Track Unpaid Invoices From WhatsApp Without a Spreadsheet</title>
      <link>https://trovedeck.com/blog/en/track-unpaid-invoices-whatsapp-no-spreadsheet/</link>
      <guid isPermaLink="true">https://trovedeck.com/blog/en/track-unpaid-invoices-whatsapp-no-spreadsheet/</guid>
      <pubDate>Sat, 09 May 2026 00:00:00 +0000</pubDate>
      <enclosure url="https://trovedeck.com/blog/en/track-unpaid-invoices-whatsapp-no-spreadsheet/cover.webp" type="image/webp"/>
      <media:content url="https://trovedeck.com/blog/en/track-unpaid-invoices-whatsapp-no-spreadsheet/cover.webp" medium="image" type="image/webp"/>
      <description><![CDATA[Your invoices are scattered across WhatsApp threads. Your spreadsheet is out of sync. You're leaving money on the table. Here's how to build a system that auto-tracks payments and stops the bleeding.]]></description>
    </item>
    <item>
      <title>Why Your Vercel Preview URLs Are Broadcasting API Keys</title>
      <link>https://trovedeck.com/blog/en/vercel-preview-env-leak-how-i-caught-mine/</link>
      <guid isPermaLink="true">https://trovedeck.com/blog/en/vercel-preview-env-leak-how-i-caught-mine/</guid>
      <pubDate>Sat, 09 May 2026 00:00:00 +0000</pubDate>
      <enclosure url="https://trovedeck.com/blog/en/vercel-preview-env-leak-how-i-caught-mine/cover.webp" type="image/webp"/>
      <media:content url="https://trovedeck.com/blog/en/vercel-preview-env-leak-how-i-caught-mine/cover.webp" medium="image" type="image/webp"/>
      <description><![CDATA[Thought your Vercel preview was safe? Think again—anyone with the URL can pull your live API keys from the headers and request logs. We caught ours before it hurt. Here's how to catch yours.]]></description>
    </item>
    <item>
      <title>When SaaS Hits a Wall: Why Custom Software Pays Off</title>
      <link>https://trovedeck.com/blog/en/when-saas-hits-wall-custom-software/</link>
      <guid isPermaLink="true">https://trovedeck.com/blog/en/when-saas-hits-wall-custom-software/</guid>
      <pubDate>Sat, 09 May 2026 00:00:00 +0000</pubDate>
      <enclosure url="https://trovedeck.com/blog/en/when-saas-hits-wall-custom-software/cover.webp" type="image/webp"/>
      <media:content url="https://trovedeck.com/blog/en/when-saas-hits-wall-custom-software/cover.webp" medium="image" type="image/webp"/>
      <description><![CDATA[Your SaaS stack is creaking under the weight of workarounds and manual busywork. Custom software isn't a luxury—it's the faster path to unfair advantage when off-the-shelf hits its wall.]]></description>
    </item>
  </channel>
</rss>