<?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: Pesova Tech</title>
    <description>The latest articles on DEV Community by Pesova Tech (@pesova).</description>
    <link>https://dev.to/pesova</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%2F1508266%2F12a08133-3147-4dab-9f70-e056f3c13e95.jpg</url>
      <title>DEV Community: Pesova Tech</title>
      <link>https://dev.to/pesova</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/pesova"/>
    <language>en</language>
    <item>
      <title>SaaS Stacks</title>
      <dc:creator>Pesova Tech</dc:creator>
      <pubDate>Sat, 16 May 2026 10:14:21 +0000</pubDate>
      <link>https://dev.to/pesova/saas-stacks-2h6c</link>
      <guid>https://dev.to/pesova/saas-stacks-2h6c</guid>
      <description>&lt;p&gt;Let's not talk about AI&lt;br&gt;
How many SaaS tools/stacks have you worked with?&lt;br&gt;
Me: 26&lt;/p&gt;

&lt;p&gt;📂 SaaS Stack&lt;br&gt;
┃&lt;br&gt;
┣ 📂 Frontend&lt;br&gt;
┃ ┣ 📂 React&lt;br&gt;
┃ ┣ 📂 NextJS&lt;br&gt;
┃ ┣ 📂 Vue&lt;br&gt;
┃ ┣ 📂 TailwindCSS&lt;br&gt;
┃ ┗ 📂 Shadcn UI&lt;br&gt;
┃&lt;br&gt;
┣ 📂 Backend&lt;br&gt;
┃ ┣ 📂 NodeJS&lt;br&gt;
┃ ┣ 📂 Django&lt;br&gt;
┃ ┣ 📂 Laravel&lt;br&gt;
┃ ┣ 📂 FastAPI&lt;br&gt;
┃ ┗ 📂 Express&lt;br&gt;
┃&lt;br&gt;
┣ 📂 Database&lt;br&gt;
┃ ┣ 📂 PostgreSQL&lt;br&gt;
┃ ┣ 📂 MySQL&lt;br&gt;
┃ ┣ 📂 MongoDB&lt;br&gt;
┃ ┣ 📂 Redis&lt;br&gt;
┃ ┗ 📂 Supabase&lt;br&gt;
┃&lt;br&gt;
┣ 📂 Auth&lt;br&gt;
┃ ┣ 📂 Clerk&lt;br&gt;
┃ ┣ 📂 Auth0&lt;br&gt;
┃ ┣ 📂 Firebase Auth&lt;br&gt;
┃ ┣ 📂 Supabase Auth&lt;br&gt;
┃ ┗ 📂 NextAuth&lt;br&gt;
┃&lt;br&gt;
┣ 📂 Payments&lt;br&gt;
┃ ┣ 📂 Stripe&lt;br&gt;
┃ ┣ 📂 Paddle&lt;br&gt;
┃ ┣ 📂 Dodo Payments&lt;br&gt;
┃ ┣ 📂 Lemon Squeezy&lt;br&gt;
┃ ┗ 📂 Polar&lt;br&gt;
┃&lt;br&gt;
┣ 📂 Emails&lt;br&gt;
┃ ┣ 📂 Resend&lt;br&gt;
┃ ┣ 📂 SendGrid&lt;br&gt;
┃ ┣ 📂 Mailgun&lt;br&gt;
┃ ┣ 📂 Postmark&lt;br&gt;
┃ ┗ 📂 Amazon SES&lt;br&gt;
┃&lt;br&gt;
┣ 📂 Storage&lt;br&gt;
┃ ┣ 📂 AWS&lt;br&gt;
┃ ┣ 📂 Cloudflare &lt;br&gt;
┃ ┣ 📂 Google Cloud Storage&lt;br&gt;
┃ ┣ 📂 Supabase Storage&lt;br&gt;
┃ ┗ 📂 Uploadcare&lt;br&gt;
┃&lt;br&gt;
┣ 📂 Deployment&lt;br&gt;
┃ ┣ 📂 Vercel&lt;br&gt;
┃ ┣ 📂 Netlify&lt;br&gt;
┃ ┣ 📂 Railway&lt;br&gt;
┃ ┣ 📂 Render&lt;br&gt;
┃ ┗ 📂 AWS&lt;br&gt;
┃&lt;br&gt;
┣ 📂 Domains and DNS&lt;br&gt;
┃ ┣ 📂 Namecheap&lt;br&gt;
┃ ┣ 📂 Hostinger&lt;br&gt;
┃ ┣ 📂 Cloudflare DNS&lt;br&gt;
┃ ┣ 📂 Google Domains&lt;br&gt;
┃ ┗ 📂 SiteGround&lt;br&gt;
┃&lt;br&gt;
┣ 📂 Analytics&lt;br&gt;
┃ ┣ 📂 Google Analytics&lt;br&gt;
┃ ┣ 📂 Plausible&lt;br&gt;
┃ ┣ 📂 PostHog&lt;br&gt;
┃ ┣ 📂 Mixpanel&lt;br&gt;
┃ ┗ 📂 DataFast&lt;br&gt;
┃&lt;br&gt;
┣ 📂 Monitoring&lt;br&gt;
┃ ┣ 📂 Sentry&lt;br&gt;
┃ ┣ 📂 LogRocket&lt;br&gt;
┃ ┣ 📂 Datadog&lt;br&gt;
┃ ┣ 📂 NewRelic&lt;br&gt;
┃ ┗ 📂 UptimeRobot&lt;br&gt;
┃&lt;br&gt;
┣ 📂 DevOps&lt;br&gt;
┃ ┣ 📂 Docker&lt;br&gt;
┃ ┣ 📂 Kubernetes&lt;br&gt;
┃ ┣ 📂 GitHub Actions&lt;br&gt;
┃ ┣ 📂 CI CD&lt;br&gt;
┃ ┗ 📂 Terraform&lt;br&gt;
┃&lt;br&gt;
┣ 📂 Search&lt;br&gt;
┃ ┣ 📂 Algolia&lt;br&gt;
┃ ┣ 📂 Meilisearch&lt;br&gt;
┃ ┣ 📂 Elasticsearch&lt;br&gt;
┃ ┣ 📂 Typesense&lt;br&gt;
┃ ┗ 📂 OpenSearch&lt;br&gt;
┃&lt;br&gt;
┣ 📂 Integrations&lt;br&gt;
┃ ┣ 📂 Zapier&lt;br&gt;
┃ ┣ 📂 Make&lt;br&gt;
┃ ┣ 📂 n8n&lt;br&gt;
┃ ┣ 📂 Pabbly&lt;br&gt;
┃ ┗ 📂 Webhooks&lt;br&gt;
┃&lt;br&gt;
┣ 📂 Security&lt;br&gt;
┃ ┣ 📂 SSL&lt;br&gt;
┃ ┣ 📂 Cloudflare&lt;br&gt;
┃ ┣ 📂 WAF&lt;br&gt;
┃ ┣ 📂 Rate Limiting&lt;br&gt;
┃ ┗ 📂 Secrets Management&lt;br&gt;
┃&lt;br&gt;
┣ 📂 Marketing&lt;br&gt;
┃ ┣ 📂 Search Console&lt;br&gt;
┃ ┣ 📂 Outrank&lt;br&gt;
┃ ┣ 📂 Buffer&lt;br&gt;
┃ ┣ 📂 Analytics&lt;br&gt;
┃ ┗ 📂 Kit&lt;br&gt;
┃&lt;br&gt;
┗ 📂 Customer Support&lt;br&gt;
  ┣ 📂 Intercom&lt;br&gt;
  ┣ 📂 Crisp&lt;br&gt;
  ┣ 📂 Zendesk&lt;br&gt;
  ┣ 📂 Tawk&lt;br&gt;
  ┗ 📂 HelpScout&lt;/p&gt;

</description>
    </item>
    <item>
      <title>When you jam a bug that no AI can solve for you...</title>
      <dc:creator>Pesova Tech</dc:creator>
      <pubDate>Wed, 11 Mar 2026 06:08:19 +0000</pubDate>
      <link>https://dev.to/pesova/when-you-jam-a-bug-that-no-ai-can-solve-for-you-fa1</link>
      <guid>https://dev.to/pesova/when-you-jam-a-bug-that-no-ai-can-solve-for-you-fa1</guid>
      <description>&lt;p&gt;When you jam a bug that no AI can solve for you... &lt;/p&gt;

&lt;p&gt;Spent hours debugging a gasless transaction flow using Dynamic.xyz + ZeroDev (ERC-4337 Account Abstraction). The goal was simple, let users withdraw ERC-20 tokens without ever touching ETH for gas. The Paymaster handles it. Clean UX. No seed phrases, no gas headaches.&lt;/p&gt;

&lt;p&gt;Except it wasn't working.&lt;/p&gt;

&lt;p&gt;Every UserOperation was getting rejected at the bundler (Pimlico) with:&lt;br&gt;
  AA21 didn't pay prefund&lt;/p&gt;

&lt;p&gt;For anyone who's worked with ERC-4337, AA21 means the Paymaster either isn't set up, isn't funded, or isn't authorizing the transaction. Classic rabbit hole.&lt;/p&gt;

&lt;p&gt;I checked everything:&lt;br&gt;
ZeroDev Project ID - correct&lt;br&gt;
Paymaster policy - active&lt;br&gt;
Smart wallet factory - deploying correctly&lt;br&gt;
kernelClient routing - UserOps going through the bundler&lt;/p&gt;

&lt;p&gt;Still failing. Same ZeroDev project ID. Same chain (Base Sepolia). Same code.&lt;br&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%2Fe0lwvrb7bzbwfqtw5y0q.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%2Fe0lwvrb7bzbwfqtw5y0q.png" alt=" " width="753" height="727"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Every AI model I threw this at suggested code changes. I made code changes for weeks. Nothing moved.&lt;/p&gt;

&lt;p&gt;Then I noticed something, the exact same ZeroDev project ID worked perfectly on a different Dynamic environment. Same ID. Different Dynamic account. One works, one doesn't.&lt;/p&gt;

&lt;p&gt;That narrowed it down fast. The issue wasn't ZeroDev at all. It was a misconfiguration inside the Dynamic environment itself, something in how that specific environment was initialized that caused the smart wallets it spawned to be unrecognizable to the Paymaster.&lt;/p&gt;

&lt;p&gt;Fix: Created a fresh Dynamic environment, mirrored the settings from the working one, rewired the ZeroDev Project ID, everything worked first try.&lt;/p&gt;

&lt;p&gt;Gasless transactions are a game changer for Web3 UX. But the infra stack (Dynamic -&amp;gt; ZeroDev-&amp;gt; Pimlico-&amp;gt; EntryPoint) has a lot of moving parts, and a misconfigured environment ID can silently break the entire sponsorship chain.&lt;/p&gt;

</description>
    </item>
  </channel>
</rss>
