<?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: Twinkal</title>
    <description>The latest articles on DEV Community by Twinkal (@twinkalp10).</description>
    <link>https://dev.to/twinkalp10</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.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F4034756%2F949e1d72-1590-4df5-a301-659aff709dd2.png</url>
      <title>DEV Community: Twinkal</title>
      <link>https://dev.to/twinkalp10</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/twinkalp10"/>
    <language>en</language>
    <item>
      <title>I Let My AI Assistant Read and Reply to My Emails for a Week. Here’s What Actually Happened.</title>
      <dc:creator>Twinkal</dc:creator>
      <pubDate>Thu, 23 Jul 2026 09:15:51 +0000</pubDate>
      <link>https://dev.to/twinkalp10/i-let-my-ai-assistant-read-and-reply-to-my-emails-for-a-week-heres-what-actually-happened-33ep</link>
      <guid>https://dev.to/twinkalp10/i-let-my-ai-assistant-read-and-reply-to-my-emails-for-a-week-heres-what-actually-happened-33ep</guid>
      <description>&lt;p&gt;An AI can write a perfect email in seconds. Having a real back-and-forth conversation is much harder.&lt;/p&gt;

&lt;p&gt;Sarah runs a salon. She has an AI assistant that emails her customers when a slot opens up.&lt;/p&gt;

&lt;p&gt;Last Friday, a customer canceled his booking. The assistant sent an email: &lt;em&gt;"We have an opening tomorrow at 2 PM. Want it?"&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;The customer replied in a minute: &lt;em&gt;"Yes, book it!"&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;The assistant never saw that reply. The slot stayed open. The customer never got a confirmation.&lt;/p&gt;

&lt;p&gt;This happens more than people realise — not because it's hard to receive email, but because most setups were never wired to close the loop.&lt;/p&gt;

&lt;h2&gt;
  
  
  Sending is easy. Wiring the whole loop isn't.
&lt;/h2&gt;

&lt;p&gt;To be fair, receiving and parsing email isn't some unsolved problem — providers like SendGrid, Mailgun, and Postmark have offered inbound email parsing for years. Point your domain at them, and they'll hand you the clean message.&lt;/p&gt;

&lt;p&gt;But those webhooks only push the message once. There's no inbox to check back later, and no built-in way to link a reply to the right conversation. You have to build that part yourself — and you still can't run any of it on your own servers.&lt;/p&gt;

&lt;p&gt;There's a second issue too. AI assistants sometimes send a slightly odd reply — nothing harmful, just a little off. Many managed email providers watch for exactly that pattern, and can suspend an account fast. One strange sentence, and Sarah's whole booking system could go dark with no warning.&lt;/p&gt;

&lt;h2&gt;
  
  
  What a real AI assistant needs
&lt;/h2&gt;

&lt;p&gt;For an assistant like Sarah's to actually hold a conversation, a few things need to work together:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Replies need to land somewhere the AI can read them&lt;/li&gt;
&lt;li&gt;They need to arrive clean, not messy&lt;/li&gt;
&lt;li&gt;They need to stay linked to the right conversation&lt;/li&gt;
&lt;li&gt;The AI needs to reply back from the same email address&lt;/li&gt;
&lt;li&gt;All of it needs to run on infrastructure you control, not three different vendors&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  This is what we built Reloop for
&lt;/h2&gt;

&lt;p&gt;Reloop puts that whole loop in one place, self-hosted.&lt;/p&gt;

&lt;p&gt;When Sarah's customer replied "Yes, book it!", Reloop caught the reply, cleaned it up, and kept it linked to the right conversation. Sarah's assistant read it, checked the calendar, and sent back a confirmation — from the same salon email, so it felt like one normal conversation.&lt;/p&gt;

&lt;p&gt;Reloop doesn't write anything itself. It just makes sure a reply doesn't disappear, and that a response can go out without a compliance system flagging it by mistake.&lt;/p&gt;

&lt;p&gt;One honest note: right now, Sarah's assistant checks in for new replies rather than getting notified the instant one arrives — established providers like SendGrid already push replies via webhook. A push-based version for Reloop is coming next.&lt;/p&gt;

&lt;h2&gt;
  
  
  Owning it means watching it
&lt;/h2&gt;

&lt;p&gt;None of this makes an AI assistant automatically safe.&lt;/p&gt;

&lt;p&gt;If it ever sends something odd at scale, big providers like Gmail can still block the domain — that risk doesn't go away just because you self-host. What changes is who's responsible for catching it. You decide which addresses it can email, how many it can send per hour, and when a human needs to approve something before it goes out.&lt;/p&gt;

&lt;p&gt;That's the real trade. Not "nothing can go wrong" — just "you're the one deciding what's allowed."&lt;/p&gt;

&lt;h2&gt;
  
  
  The takeaway
&lt;/h2&gt;

&lt;p&gt;The AI writing a good reply was never the hard part. Holding a real, two-way conversation is.&lt;/p&gt;

&lt;p&gt;If you're building something like Sarah's assistant, that's the part to get right first.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://github.com/reloop-labs/reloop" rel="noopener noreferrer"&gt;Check out Reloop on GitHub&lt;/a&gt; — it's open source and free to try.&lt;/p&gt;

</description>
      <category>ai</category>
      <category>webdev</category>
      <category>programming</category>
      <category>opensource</category>
    </item>
    <item>
      <title>The Hidden Cost of Saving $1000/Month: Our AWS SES Migration Story</title>
      <dc:creator>Twinkal</dc:creator>
      <pubDate>Sat, 18 Jul 2026 06:02:03 +0000</pubDate>
      <link>https://dev.to/twinkalp10/the-hidden-cost-of-saving-1000month-our-aws-ses-migration-story-5fbn</link>
      <guid>https://dev.to/twinkalp10/the-hidden-cost-of-saving-1000month-our-aws-ses-migration-story-5fbn</guid>
      <description>&lt;p&gt;&lt;strong&gt;4:00 PM on a Friday&lt;/strong&gt;, a ticket came in from our highest-paying customer:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;"None of our staff are receiving your system alerts."&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;I opened the &lt;strong&gt;AWS SES&lt;/strong&gt; console expecting a quick answer.&lt;/p&gt;

&lt;p&gt;Instead: &lt;strong&gt;no dashboard, no way to search &lt;code&gt;admin@enterprise-client.com&lt;/code&gt;&lt;/strong&gt;, just a line graph showing &lt;strong&gt;14,000 emails sent, 200 bounced&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;No idea &lt;strong&gt;which 200&lt;/strong&gt;, or &lt;strong&gt;why&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;The cause turned out to be an &lt;strong&gt;SPF record&lt;/strong&gt; that no longer matched our sending setup after a domain migration weeks earlier. Nothing alerted us—we found it by opening bounces one at a time and reading raw headers in the console.&lt;/p&gt;

&lt;p&gt;That afternoon is when it clicked:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;SES is a sending engine, not a platform.&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;The cheap price tag doesn't include visibility.&lt;/p&gt;

&lt;p&gt;You have to build that yourself.&lt;/p&gt;

&lt;h2&gt;
  
  
  What SES actually gave us
&lt;/h2&gt;

&lt;p&gt;SES did exactly what it's designed to do.&lt;/p&gt;

&lt;p&gt;It accepted mail, attempted delivery, and charged roughly &lt;strong&gt;$1 per 10,000 emails&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;Against providers like &lt;strong&gt;SendGrid&lt;/strong&gt; or &lt;strong&gt;Resend&lt;/strong&gt;, that can easily look like &lt;strong&gt;hundreds of dollars per month saved&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;What it &lt;strong&gt;didn't&lt;/strong&gt; give us out of the box:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;A way to look up one recipient and see what happened to their message.&lt;/li&gt;
&lt;li&gt;Bounce reasons in a form support could use without reading SMTP headers.&lt;/li&gt;
&lt;li&gt;Events we could act on without wiring AWS plumbing first.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Bounce and complaint data exists in SES—but it shows up as notifications you route through &lt;strong&gt;SNS&lt;/strong&gt;, often into &lt;strong&gt;SQS&lt;/strong&gt;, then into a &lt;strong&gt;Lambda&lt;/strong&gt; (or similar) before you have anything resembling a searchable delivery log.&lt;/p&gt;

&lt;p&gt;Want support to answer:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;"Did this email bounce?"&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;You'll need to build an internal UI on top of that pipeline.&lt;/p&gt;

&lt;p&gt;That's real engineering time spent recreating a feature most email products ship by default.&lt;/p&gt;

&lt;p&gt;None of this makes SES a bad product.&lt;/p&gt;

&lt;p&gt;It makes it a &lt;strong&gt;different product&lt;/strong&gt; than the one we thought we were buying when we optimized for the invoice line.&lt;/p&gt;

&lt;h2&gt;
  
  
  The middle option isn't free either
&lt;/h2&gt;

&lt;p&gt;Managed providers like &lt;strong&gt;SendGrid&lt;/strong&gt;, &lt;strong&gt;Postmark&lt;/strong&gt;, &lt;strong&gt;Loops&lt;/strong&gt;, or &lt;strong&gt;Resend&lt;/strong&gt; solve the Friday afternoon problem.&lt;/p&gt;

&lt;p&gt;You can:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Search a recipient&lt;/li&gt;
&lt;li&gt;Open a message&lt;/li&gt;
&lt;li&gt;See a bounce reason&lt;/li&gt;
&lt;li&gt;Subscribe to webhooks&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;...without standing up an event bus inside your AWS account.&lt;/p&gt;

&lt;p&gt;They also come with two trade-offs that mattered for us:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Pricing that scales with volume—fine early, painful when send volume is part of the product.&lt;/li&gt;
&lt;li&gt;Your users' email data lives on someone else's servers—acceptable for many apps, but a real constraint in healthcare, finance, or anywhere with data-residency requirements.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;We didn't want &lt;strong&gt;"cheaper SES."&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;We wanted the investigation experience of a managed provider &lt;strong&gt;on infrastructure we controlled.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;That's what &lt;strong&gt;Reloop&lt;/strong&gt; is built to be.&lt;/p&gt;

&lt;h2&gt;
  
  
  What that Friday actually taught us
&lt;/h2&gt;

&lt;p&gt;It's tempting to rewrite this story as:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;"If only we'd had better monitoring, the SPF drift would never have hurt a customer."&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;That's not quite true.&lt;/p&gt;

&lt;p&gt;And it's not a claim we'll make about Reloop either.&lt;/p&gt;

&lt;p&gt;DNS changes are an operations problem.&lt;/p&gt;

&lt;p&gt;After a migration, someone has to re-check that:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;SPF&lt;/li&gt;
&lt;li&gt;DKIM&lt;/li&gt;
&lt;li&gt;DMARC&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;still match.&lt;/p&gt;

&lt;p&gt;No platform pages you the week that drifts on its own.&lt;/p&gt;

&lt;p&gt;The honest lesson from that Friday was narrower—and more useful.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;When delivery fails, you should find out why in a few clicks—not spend an hour digging through AWS consoles.&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;We needed to:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Search a recipient&lt;/li&gt;
&lt;li&gt;Open the message&lt;/li&gt;
&lt;li&gt;Read a clear bounce reason&lt;/li&gt;
&lt;li&gt;Move on to the DNS fix&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;SES made the first half of that afternoon expensive.&lt;/p&gt;

&lt;p&gt;The SPF mismatch was the root cause.&lt;/p&gt;

&lt;p&gt;The missing platform layer is what turned it into a fire drill.&lt;/p&gt;

&lt;h2&gt;
  
  
  What we built
&lt;/h2&gt;

&lt;p&gt;That gap is why we built &lt;strong&gt;&lt;a href="https://reloop.sh/" rel="noopener noreferrer"&gt;Reloop&lt;/a&gt;&lt;/strong&gt;—open-source email infrastructure you can self-host with Docker or Kubernetes, or run with us.&lt;/p&gt;

&lt;p&gt;For the SES pain specifically, Reloop gives you:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Delivery logs you can actually use—open a message, see status, bounce classification, and headers without digging through AWS consoles.&lt;/li&gt;
&lt;li&gt;Recipient and contact activity—answer &lt;em&gt;"What happened for this address?"&lt;/em&gt; without writing a custom lookup service.&lt;/li&gt;
&lt;li&gt;HTTP webhooks for sent, delivered, bounced, delayed, and complained—one endpoint instead of SNS → SQS → Lambda.&lt;/li&gt;
&lt;li&gt;Domain DNS setup and verification for SPF, DKIM, and DMARC, so after a migration you can quickly re-check the records that broke us.&lt;/li&gt;
&lt;li&gt;Your data on &lt;strong&gt;your servers&lt;/strong&gt; when you self-host—the same product shape, without a third-party mailbox for transactional content.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;We're not claiming Reloop would have magically prevented that customer's outage.&lt;/p&gt;

&lt;p&gt;We're claiming the investigation shouldn't have required &lt;strong&gt;raw header archaeology&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;Owning the stack shouldn't mean rebuilding a dashboard from scratch.&lt;/p&gt;

&lt;h2&gt;
  
  
  The trade-off
&lt;/h2&gt;

&lt;p&gt;SES is cheap and opaque until you build the missing pieces.&lt;/p&gt;

&lt;p&gt;Managed providers are visible and convenient until volume pricing or data residency gets in the way.&lt;/p&gt;

&lt;p&gt;Self-hosting trades the per-email bill for operational ownership.&lt;/p&gt;

&lt;p&gt;You're on call for your own email infrastructure.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Queues&lt;/li&gt;
&lt;li&gt;DNS&lt;/li&gt;
&lt;li&gt;Deliverability&lt;/li&gt;
&lt;li&gt;Upgrades&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Those become yours.&lt;/p&gt;

&lt;p&gt;If that trade fits your team, check out the &lt;strong&gt;&lt;a href="https://github.com/reloop-labs/reloop" rel="noopener noreferrer"&gt;Reloop GitHub repository&lt;/a&gt;&lt;/strong&gt; setup docs.&lt;/p&gt;

&lt;p&gt;If it doesn't, use a managed provider.&lt;/p&gt;

&lt;p&gt;The Friday ticket is still a useful warning either way.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Optimize for the invoice, and you may end up paying in engineering hours and customer trust instead.&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h2&gt;
  
  
  Go on, send that email.
&lt;/h2&gt;

&lt;p&gt;→ &lt;strong&gt;&lt;a href="https://reloop.sh/" rel="noopener noreferrer"&gt;Try Reloop&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;

</description>
      <category>aws</category>
      <category>devops</category>
      <category>infrastructure</category>
      <category>monitoring</category>
    </item>
  </channel>
</rss>
