<?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: Deb Singha</title>
    <description>The latest articles on DEV Community by Deb Singha (@debojyoti452).</description>
    <link>https://dev.to/debojyoti452</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%2F415372%2Fee0e3b20-b0a2-4771-86a1-0711e4618ff3.png</url>
      <title>DEV Community: Deb Singha</title>
      <link>https://dev.to/debojyoti452</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/debojyoti452"/>
    <language>en</language>
    <item>
      <title>Why We Chose a .com Domain (And Why It Still Matters)</title>
      <dc:creator>Deb Singha</dc:creator>
      <pubDate>Wed, 05 Aug 2026 07:28:56 +0000</pubDate>
      <link>https://dev.to/debojyoti452/why-we-chose-a-com-domain-and-why-it-still-matters-579n</link>
      <guid>https://dev.to/debojyoti452/why-we-chose-a-com-domain-and-why-it-still-matters-579n</guid>
      <description>&lt;p&gt;A few months ago, we moved Keplars to &lt;strong&gt;Keplars.com&lt;/strong&gt; from Keplers.email.&lt;/p&gt;

&lt;p&gt;Not because a .com magically makes a company successful.&lt;/p&gt;

&lt;p&gt;And not because alternative domain extensions don’t work.&lt;/p&gt;

&lt;p&gt;Plenty of great companies have been built on .io, .ai, .app, .dev, and many others.&lt;/p&gt;

&lt;p&gt;But after talking to customers, founders, investors, and partners, we realized something simple:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;People remember products. They don’t always remember domain extensions.&lt;/strong&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Your Users Are Already Doing Enough Work
&lt;/h2&gt;

&lt;p&gt;When someone discovers your product for the first time, they’re trying to answer a lot of questions:&lt;/p&gt;

&lt;p&gt;What does this product do?&lt;br&gt;
Is it trustworthy?&lt;br&gt;
Do I need it?&lt;br&gt;
How is it different?&lt;br&gt;
At the same time, they’re also trying to remember your brand.&lt;/p&gt;

&lt;p&gt;Adding another thing to remember -whether you’re .io, .ai, .app, or .email -creates additional friction.&lt;/p&gt;

&lt;p&gt;It’s a small amount of friction.&lt;/p&gt;

&lt;p&gt;But small friction compounds.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;A user may remember:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;“I used a product called Keplars.”&lt;/p&gt;

&lt;p&gt;But later wonder:&lt;/p&gt;

&lt;p&gt;Was it Keplars.io?&lt;/p&gt;

&lt;p&gt;Keplars.email?&lt;/p&gt;

&lt;p&gt;Keplars.app?&lt;/p&gt;

&lt;p&gt;Keplars.co?&lt;/p&gt;

&lt;p&gt;Every extra second spent figuring that out is unnecessary cognitive load.&lt;/p&gt;

&lt;p&gt;Don’t Make Users Think&lt;br&gt;
One of the most important principles in product design is:&lt;/p&gt;

&lt;p&gt;Don’t make users think.&lt;/p&gt;

&lt;p&gt;The same principle applies to branding.&lt;/p&gt;

&lt;p&gt;Most internet users have spent decades typing .com.&lt;/p&gt;

&lt;p&gt;When they hear a company name, their default assumption is often:&lt;/p&gt;

&lt;p&gt;companyname.com&lt;/p&gt;

&lt;p&gt;It’s not because they’re consciously choosing .com.&lt;/p&gt;

&lt;p&gt;It’s because they don’t have to think about it.&lt;/p&gt;

&lt;p&gt;Good products remove friction.&lt;/p&gt;

&lt;p&gt;Good branding should too.&lt;/p&gt;

&lt;h2&gt;
  
  
  Trust Signals Matter
&lt;/h2&gt;

&lt;p&gt;A .com domain isn’t a guarantee of trust.&lt;/p&gt;

&lt;p&gt;But trust is rarely built through a single thing.&lt;/p&gt;

&lt;p&gt;It’s built through many small signals.&lt;/p&gt;

&lt;p&gt;For better or worse, .com is still the most familiar and universally recognized domain extension on the internet.&lt;/p&gt;

&lt;p&gt;Customers recognize it.&lt;/p&gt;

&lt;p&gt;Partners recognize it.&lt;/p&gt;

&lt;p&gt;Investors recognize it.&lt;/p&gt;

&lt;p&gt;That familiarity reduces uncertainty.&lt;/p&gt;

&lt;p&gt;And reducing uncertainty is often enough to improve conversion, recall, and confidence.&lt;/p&gt;

&lt;h2&gt;
  
  
  We Didn’t Want To Be Defined By One Category
&lt;/h2&gt;

&lt;p&gt;Another factor was our long-term vision.&lt;/p&gt;

&lt;p&gt;Many startups choose domain extensions that describe what they do today.&lt;/p&gt;

&lt;p&gt;But products evolve. Companies evolve. Markets evolve.&lt;/p&gt;

&lt;p&gt;What feels descriptive today can feel restrictive tomorrow.&lt;/p&gt;

&lt;p&gt;At Keplars, we’re currently focused on email infrastructure.&lt;/p&gt;

&lt;p&gt;But we don’t see the future as email-only.&lt;/p&gt;

&lt;p&gt;Communication is expanding across channels, workflows, APIs, automations, AI agents, and platforms.&lt;/p&gt;

&lt;p&gt;We wanted a brand that could grow alongside that vision instead of being tied to a single category forever.&lt;/p&gt;

&lt;h2&gt;
  
  
  Is .com Required?
&lt;/h2&gt;

&lt;p&gt;No.&lt;/p&gt;

&lt;p&gt;Many successful companies prove that every day.&lt;/p&gt;

&lt;p&gt;If the perfect .com isn’t available, don’t let that stop you from building.&lt;/p&gt;

&lt;p&gt;Product quality matters more than domain names.&lt;/p&gt;

&lt;p&gt;Distribution matters more than domain names.&lt;/p&gt;

&lt;p&gt;Execution matters more than domain names.&lt;/p&gt;

&lt;p&gt;But if you have the opportunity to own a strong .com that matches your brand, it’s worth considering.&lt;/p&gt;

&lt;p&gt;Not because .com is special.&lt;/p&gt;

&lt;p&gt;But because reducing friction is.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Bigger Lesson
&lt;/h2&gt;

&lt;p&gt;This isn’t really a story about domains.&lt;/p&gt;

&lt;p&gt;It’s a story about user experience.&lt;/p&gt;

&lt;p&gt;Every decision should answer one question:&lt;/p&gt;

&lt;p&gt;&lt;em&gt;&lt;strong&gt;Does this make things easier for users?&lt;/strong&gt;&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;If the answer is yes, it compounds.&lt;/p&gt;

&lt;p&gt;Sometimes the best product decisions aren’t adding something.&lt;/p&gt;

&lt;p&gt;They’re removing something users no longer need to think about.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why We Became Keplars
&lt;/h2&gt;

&lt;p&gt;When we first launched, our name was Keplers with a .email domain. Naturally, we wanted the matching .com.&lt;/p&gt;

&lt;p&gt;Unfortunately, Keplers.com wasn’t available.&lt;/p&gt;

&lt;p&gt;We could have stayed on an alternative extension, but the more we thought about it, the more we realized we wanted a brand that people could find, remember, and type instinctively.&lt;/p&gt;

&lt;p&gt;That’s when we landed on Keplars.&lt;/p&gt;

&lt;p&gt;The pronunciation remained virtually identical.&lt;/p&gt;

&lt;p&gt;The brand felt familiar.&lt;/p&gt;

&lt;p&gt;The identity stayed intact.&lt;/p&gt;

&lt;p&gt;But now we could own the exact .com that matched our company. Looking back, it turned out to be the right decision. Not because Keplars is objectively a better name than Keplers.&lt;/p&gt;

&lt;p&gt;But because having the exact brand match on a .com domain removed friction for customers, partners, and investors.&lt;/p&gt;

&lt;p&gt;Sometimes branding isn’t about finding the perfect name. It’s about finding the name that people can actually remember and reach.&lt;/p&gt;

</description>
      <category>devchallenge</category>
      <category>coding</category>
      <category>devdiscuss</category>
      <category>discuss</category>
    </item>
    <item>
      <title>Why I Built Pluto: The Internal Email Validation Engine Behind Keplars</title>
      <dc:creator>Deb Singha</dc:creator>
      <pubDate>Wed, 05 Aug 2026 07:16:52 +0000</pubDate>
      <link>https://dev.to/debojyoti452/why-i-built-pluto-the-internal-email-validation-engine-behind-keplars-583g</link>
      <guid>https://dev.to/debojyoti452/why-i-built-pluto-the-internal-email-validation-engine-behind-keplars-583g</guid>
      <description>&lt;p&gt;When most people think about email infrastructure, they usually think about sending emails.&lt;/p&gt;

&lt;p&gt;SMTP servers.&lt;br&gt;
Email APIs.&lt;br&gt;
Deliverability.&lt;br&gt;
Tracking.&lt;br&gt;
Automations.&lt;/p&gt;

&lt;p&gt;At &lt;a href="https://keplars.com" rel="noopener noreferrer"&gt;Keplars&lt;/a&gt;, we spend a lot of time thinking about those problems too. But while building an email infrastructure platform, I realized that one of the biggest challenges actually happens before an email is ever sent.&lt;/p&gt;

&lt;h2&gt;
  
  
  The challenge is simple:
&lt;/h2&gt;

&lt;p&gt;How do you know whether an email address is truly valid?&lt;/p&gt;

&lt;p&gt;It sounds like a solved problem. In reality, it is much more complicated than most people realize.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Problem We Kept Running Into
&lt;/h2&gt;

&lt;p&gt;While building Keplars, we tested and integrated multiple email validation providers.&lt;/p&gt;

&lt;p&gt;Most of them offered similar capabilities:&lt;/p&gt;

&lt;p&gt;Syntax validation&lt;br&gt;
Domain validation&lt;br&gt;
MX record checks&lt;br&gt;
Disposable email detection&lt;br&gt;
On the surface, the results looked reasonable.&lt;/p&gt;

&lt;p&gt;However, when we compared validation results against actual email deliverability and mailbox behavior, we kept seeing inconsistencies.&lt;/p&gt;

&lt;p&gt;Some addresses marked as valid would later bounce.&lt;/p&gt;

&lt;p&gt;Some belonged to temporary providers.&lt;/p&gt;

&lt;p&gt;Some were aliases that represented the same mailbox.&lt;/p&gt;

&lt;p&gt;Others had DNS records configured correctly but still could not reliably receive mail.&lt;/p&gt;

&lt;p&gt;For a company building communication infrastructure, this creates a serious problem.&lt;/p&gt;

&lt;p&gt;Every invalid email address affects:&lt;/p&gt;

&lt;p&gt;Deliverability rates&lt;br&gt;
Sender reputation&lt;br&gt;
Bounce rates&lt;br&gt;
Campaign performance&lt;br&gt;
Infrastructure costs&lt;br&gt;
Customer trust&lt;br&gt;
The more we relied on external validation tools, the more we felt there was still a gap between “technically valid” and “actually deliverable.”&lt;/p&gt;

&lt;p&gt;Eventually, I decided to stop stacking validation providers on top of each other and build our own system from scratch.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;That’s how Pluto was born.&lt;/strong&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Introducing Pluto
&lt;/h2&gt;

&lt;p&gt;Pluto is an internal email validation engine developed for Keplars.&lt;/p&gt;

&lt;p&gt;Built entirely in Go, Pluto was designed with a different goal than most validators.&lt;/p&gt;

&lt;p&gt;Instead of answering:&lt;/p&gt;

&lt;p&gt;“Does this email look valid?”&lt;/p&gt;

&lt;p&gt;We wanted to answer:&lt;/p&gt;

&lt;p&gt;“How confident are we that this mailbox can actually receive email?”&lt;/p&gt;

&lt;p&gt;That small difference completely changed how we approached validation.&lt;/p&gt;

&lt;h2&gt;
  
  
  Going Beyond Simple Validation
&lt;/h2&gt;

&lt;p&gt;Most email validators stop after a handful of checks.&lt;/p&gt;

&lt;p&gt;Pluto combines multiple layers of validation into a single pipeline.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;RFC Compliance Validation&lt;/strong&gt;&lt;br&gt;
Every email address is first validated against RFC standards.&lt;/p&gt;

&lt;p&gt;This includes:&lt;/p&gt;

&lt;p&gt;Local-part validation&lt;br&gt;
Domain validation&lt;br&gt;
Character restrictions&lt;br&gt;
Formatting requirements&lt;br&gt;
Many invalid addresses never make it beyond this stage.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Length Limit Validation&lt;/strong&gt;&lt;br&gt;
Email standards include strict limits around:&lt;/p&gt;

&lt;p&gt;Local-part length&lt;br&gt;
Domain length&lt;br&gt;
Total address length&lt;br&gt;
These checks help eliminate malformed addresses that technically appear valid but violate email specifications.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Internationalized Domain Support (IDN)&lt;/strong&gt;&lt;br&gt;
Email is global.&lt;/p&gt;

&lt;p&gt;Many validation systems struggle with internationalized domains.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Pluto supports:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Unicode domains&lt;br&gt;
Internationalized Domain Names (IDN)&lt;br&gt;
Punycode conversion and validation&lt;br&gt;
This ensures proper validation across multiple languages and regions.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;DNS and MX Verification&lt;/strong&gt;&lt;br&gt;
One of the most important steps is verifying that a domain can actually receive mail.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Pluto performs:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;DNS lookups&lt;br&gt;
MX record validation&lt;br&gt;
Domain routing verification&lt;br&gt;
Without valid MX records, email delivery simply isn’t possible.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Disposable Email Detection&lt;/strong&gt;&lt;br&gt;
Temporary email services continue to grow rapidly.&lt;/p&gt;

&lt;p&gt;These addresses often introduce low-quality users, spam registrations, and unreliable communication.&lt;/p&gt;

&lt;p&gt;Pluto maintains an internal database of more than 5,000 known disposable email providers.&lt;/p&gt;

&lt;p&gt;As part of the Keplars infrastructure, these lists are continuously updated and monitored.&lt;/p&gt;

&lt;h2&gt;
  
  
  Role-Based Email Detection
&lt;/h2&gt;

&lt;p&gt;Certain email addresses are technically valid but may not represent individual users.&lt;/p&gt;

&lt;p&gt;Examples include:&lt;/p&gt;

&lt;p&gt;admin@&lt;br&gt;
support@&lt;br&gt;
info@&lt;br&gt;
sales@&lt;br&gt;
contact@&lt;br&gt;
Pluto identifies role-based accounts and flags them appropriately.&lt;/p&gt;

&lt;p&gt;This becomes especially useful when building B2B communication workflows.&lt;/p&gt;

&lt;h2&gt;
  
  
  Free Email Provider Classification
&lt;/h2&gt;

&lt;p&gt;Not all email addresses are equal.&lt;/p&gt;

&lt;p&gt;Pluto identifies major consumer email providers including:&lt;/p&gt;

&lt;p&gt;Gmail&lt;br&gt;
Outlook&lt;br&gt;
Yahoo&lt;br&gt;
iCloud&lt;br&gt;
Proton Mail&lt;br&gt;
And many others.&lt;/p&gt;

&lt;p&gt;This allows systems built on &lt;a href="https://keplars.com" rel="noopener noreferrer"&gt;Keplars&lt;/a&gt; to better understand the composition of their email lists.&lt;/p&gt;

&lt;h2&gt;
  
  
  Alias Normalization
&lt;/h2&gt;

&lt;p&gt;One of the more interesting challenges was alias handling.&lt;/p&gt;

&lt;p&gt;Take Gmail for example:&lt;/p&gt;

&lt;p&gt;&lt;a href="mailto:johnsmith@gmail.com"&gt;johnsmith@gmail.com&lt;/a&gt;&lt;br&gt;
&lt;a href="mailto:john.smith@gmail.com"&gt;john.smith@gmail.com&lt;/a&gt;&lt;br&gt;
&lt;a href="mailto:john.s.m.i.t.h@gmail.com"&gt;john.s.m.i.t.h@gmail.com&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;All of these can point to the same mailbox.&lt;/p&gt;

&lt;p&gt;Most validators treat them as completely different addresses.&lt;/p&gt;

&lt;p&gt;Pluto performs provider-specific normalization for:&lt;/p&gt;

&lt;p&gt;Gmail dot aliases&lt;br&gt;
Gmail plus tags&lt;br&gt;
Yahoo aliases&lt;br&gt;
iCloud aliases&lt;br&gt;
This helps eliminate duplicate records and improves data quality significantly.&lt;/p&gt;

&lt;h2&gt;
  
  
  Detecting Common Typos
&lt;/h2&gt;

&lt;p&gt;A surprisingly large percentage of invalid email addresses are simply typing mistakes.&lt;/p&gt;

&lt;p&gt;Examples:&lt;/p&gt;

&lt;p&gt;gmial.com&lt;br&gt;
gmai.com&lt;br&gt;
outlok.com&lt;br&gt;
yahho.com&lt;br&gt;
Pluto automatically detects common mistakes and suggests corrections.&lt;/p&gt;

&lt;p&gt;This simple feature alone helps improve signup quality and reduces unnecessary bounce rates.&lt;/p&gt;

&lt;h2&gt;
  
  
  Reputation Analysis
&lt;/h2&gt;

&lt;p&gt;Validation isn’t only about the recipient.&lt;/p&gt;

&lt;p&gt;Domain reputation matters too.&lt;/p&gt;

&lt;p&gt;Pluto evaluates:&lt;/p&gt;

&lt;p&gt;SPF records&lt;br&gt;
DMARC records&lt;br&gt;
DNS reputation&lt;br&gt;
DNSBL checks&lt;br&gt;
DBL checks&lt;br&gt;
These signals provide additional insight into the trustworthiness of email domains.&lt;/p&gt;

&lt;h2&gt;
  
  
  SMTP Mailbox Verification
&lt;/h2&gt;

&lt;p&gt;This is where things become much more interesting.&lt;/p&gt;

&lt;p&gt;A domain may exist.&lt;/p&gt;

&lt;p&gt;MX records may exist.&lt;/p&gt;

&lt;p&gt;DNS may be configured correctly.&lt;/p&gt;

&lt;p&gt;But none of those guarantee that a mailbox actually exists.&lt;/p&gt;

&lt;p&gt;Whenever supported, Pluto performs SMTP-level mailbox verification.&lt;/p&gt;

&lt;p&gt;While no system can achieve 100% certainty due to anti-abuse protections used by major providers, SMTP verification provides a significantly stronger signal than syntax checks alone.&lt;/p&gt;

&lt;h2&gt;
  
  
  Building Pluto in Go
&lt;/h2&gt;

&lt;p&gt;Performance was a major priority from day one.&lt;/p&gt;

&lt;p&gt;Email validation can quickly become expensive when processing large datasets.&lt;/p&gt;

&lt;p&gt;Go was chosen because it offered:&lt;/p&gt;

&lt;p&gt;Excellent concurrency&lt;br&gt;
Fast network operations&lt;br&gt;
Efficient memory usage&lt;br&gt;
Scalability&lt;br&gt;
This allowed Pluto to process validations quickly while performing multiple checks simultaneously.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Results
&lt;/h2&gt;

&lt;p&gt;After integrating Pluto into our internal workflows at Keplars, we saw substantial improvements.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Most importantly:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;We became significantly more confident in the quality of data entering our communication infrastructure.&lt;/p&gt;

&lt;p&gt;Today Pluto helps us achieve over 90% validation accuracy internally.&lt;/p&gt;

&lt;p&gt;The benefits include:&lt;/p&gt;

&lt;p&gt;Lower bounce rates&lt;br&gt;
Better deliverability&lt;br&gt;
Cleaner datasets&lt;br&gt;
Improved sender reputation&lt;br&gt;
More reliable automation workflows&lt;br&gt;
Better overall communication performance&lt;br&gt;
For an email infrastructure platform, those improvements compound quickly.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why the Name Pluto?
&lt;/h2&gt;

&lt;p&gt;At &lt;a href="https://keplars.com" rel="noopener noreferrer"&gt;Keplars&lt;/a&gt;, many of our systems follow a space-themed naming convention.&lt;/p&gt;

&lt;p&gt;Since Pluto operates quietly behind the scenes, validating and filtering communication data before it enters the ecosystem, the name felt appropriate.&lt;/p&gt;

&lt;p&gt;It isn’t the largest component in our infrastructure.&lt;/p&gt;

&lt;p&gt;But it’s one of the most important.&lt;/p&gt;

&lt;h2&gt;
  
  
  What’s Next?
&lt;/h2&gt;

&lt;p&gt;Today, Pluto remains an internal tool used throughout the &lt;a href="https://keplars.com" rel="noopener noreferrer"&gt;Keplars&lt;/a&gt; ecosystem.&lt;/p&gt;

&lt;p&gt;We continue improving:&lt;/p&gt;

&lt;p&gt;Validation accuracy&lt;br&gt;
Disposable provider detection&lt;br&gt;
Alias normalization&lt;br&gt;
Reputation analysis&lt;br&gt;
SMTP verification techniques&lt;br&gt;
And while Pluto was originally built to solve our own challenges, we’ve received growing interest from developers who face similar problems.&lt;/p&gt;

&lt;p&gt;If enough people find Pluto valuable and would genuinely use it, I’d be happy to explore making it open source for the broader community.&lt;/p&gt;

&lt;p&gt;Because one thing became very clear while building &lt;a href="https://keplars.com" rel="noopener noreferrer"&gt;Keplars&lt;/a&gt;:&lt;/p&gt;

&lt;p&gt;The quality of your email infrastructure isn’t determined when an email is sent.&lt;/p&gt;

&lt;p&gt;It’s determined long before you ever press Send.&lt;/p&gt;

&lt;p&gt;Learn more about &lt;a href="https://keplars.com" rel="noopener noreferrer"&gt;Keplars&lt;/a&gt; .&lt;/p&gt;

</description>
      <category>programming</category>
      <category>productivity</category>
      <category>security</category>
      <category>architecture</category>
    </item>
    <item>
      <title>Why I Built Pluto: The Internal Email Validation Engine Behind Keplars</title>
      <dc:creator>Deb Singha</dc:creator>
      <pubDate>Sat, 30 May 2026 11:51:13 +0000</pubDate>
      <link>https://dev.to/debojyoti452/why-i-built-pluto-the-internal-email-validation-engine-behind-keplars-5h6k</link>
      <guid>https://dev.to/debojyoti452/why-i-built-pluto-the-internal-email-validation-engine-behind-keplars-5h6k</guid>
      <description>&lt;p&gt;When most people think about email infrastructure, they usually think about sending emails.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;SMTP servers.&lt;/li&gt;
&lt;li&gt;Email APIs.&lt;/li&gt;
&lt;li&gt;Deliverability.&lt;/li&gt;
&lt;li&gt;Tracking.&lt;/li&gt;
&lt;li&gt;Automations.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;At &lt;a href="https://keplars.com" rel="noopener noreferrer"&gt;Keplars&lt;/a&gt;, we spend a lot of time thinking about those problems too. But while building an email infrastructure platform, I realized that one of the biggest challenges actually happens before an email is ever sent.&lt;/p&gt;

&lt;p&gt;The challenge is simple:&lt;/p&gt;

&lt;p&gt;How do you know whether an email address is truly valid?&lt;/p&gt;

&lt;p&gt;It sounds like a solved problem. In reality, it is much more complicated than most people realize.&lt;/p&gt;

&lt;p&gt;The Problem We Kept Running Into&lt;/p&gt;

&lt;p&gt;While building Keplars, we tested and integrated multiple email validation providers.&lt;/p&gt;

&lt;p&gt;Most of them offered similar capabilities:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Syntax validation&lt;/li&gt;
&lt;li&gt;Domain validation&lt;/li&gt;
&lt;li&gt;MX record checks&lt;/li&gt;
&lt;li&gt;Disposable email detection&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;On the surface, the results looked reasonable.&lt;/p&gt;

&lt;p&gt;However, when we compared validation results against actual email deliverability and mailbox behavior, we kept seeing inconsistencies.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Some addresses marked as valid would later bounce.&lt;/li&gt;
&lt;li&gt;Some belonged to temporary providers.&lt;/li&gt;
&lt;li&gt;Some were aliases that represented the same mailbox.&lt;/li&gt;
&lt;li&gt;Others had DNS records configured correctly but still could not reliably receive mail.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;For a company building communication infrastructure, this creates a serious problem.&lt;/p&gt;

&lt;p&gt;Every invalid email address affects:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Deliverability rates&lt;/li&gt;
&lt;li&gt;Sender reputation&lt;/li&gt;
&lt;li&gt;Bounce rates&lt;/li&gt;
&lt;li&gt;Campaign performance&lt;/li&gt;
&lt;li&gt;Infrastructure costs&lt;/li&gt;
&lt;li&gt;Customer trust&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The more we relied on external validation tools, the more we felt there was still a gap between "technically valid" and "actually deliverable."&lt;/p&gt;

&lt;p&gt;Eventually, I decided to stop stacking validation providers on top of each other and build our own system from scratch.&lt;/p&gt;

&lt;p&gt;That's how &lt;strong&gt;Pluto&lt;/strong&gt; was born.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Introducing Pluto&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Pluto is an internal email validation engine developed for Keplars.&lt;/p&gt;

&lt;p&gt;Built entirely in Go, Pluto was designed with a different goal than most validators.&lt;/p&gt;

&lt;p&gt;Instead of answering:&lt;/p&gt;

&lt;p&gt;"Does this email look valid?"&lt;/p&gt;

&lt;p&gt;We wanted to answer:&lt;/p&gt;

&lt;p&gt;"How confident are we that this mailbox can actually receive email?"&lt;/p&gt;

&lt;p&gt;That small difference completely changed how we approached validation.&lt;/p&gt;

&lt;p&gt;Going Beyond Simple Validation&lt;/p&gt;

&lt;p&gt;Most email validators stop after a handful of checks.&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%2F09bki8ddqthxj8lrdbbh.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%2F09bki8ddqthxj8lrdbbh.png" alt=" " width="800" height="437"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;&lt;strong&gt;Pluto combines multiple layers of validation into a single pipeline.&lt;/strong&gt;&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;RFC Compliance Validation&lt;/p&gt;

&lt;p&gt;Every email address is first validated against RFC standards.&lt;/p&gt;

&lt;p&gt;This includes:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Local-part validation&lt;/li&gt;
&lt;li&gt;Domain validation&lt;/li&gt;
&lt;li&gt;Character restrictions&lt;/li&gt;
&lt;li&gt;Formatting requirements&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Many invalid addresses never make it beyond this stage.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Length Limit Validation&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Email standards include strict limits around:&lt;/p&gt;

&lt;p&gt;Local-part length&lt;br&gt;
Domain length&lt;br&gt;
Total address length&lt;/p&gt;

&lt;p&gt;These checks help eliminate malformed addresses that technically appear valid but violate email specifications.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Internationalized Domain Support (IDN)&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Email is global.&lt;/p&gt;

&lt;p&gt;Many validation systems struggle with internationalized domains.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Pluto supports:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Unicode domains&lt;/li&gt;
&lt;li&gt;Internationalized Domain Names (IDN)&lt;/li&gt;
&lt;li&gt;Punycode conversion and validation&lt;/li&gt;
&lt;li&gt;This ensures proper validation across multiple languages and regions.&lt;/li&gt;
&lt;li&gt;DNS and MX Verification&lt;/li&gt;
&lt;li&gt;One of the most important steps is verifying that a domain can actually receive mail.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Pluto performs:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;DNS lookups&lt;/li&gt;
&lt;li&gt;MX record validation&lt;/li&gt;
&lt;li&gt;Domain routing verification&lt;/li&gt;
&lt;li&gt;Without valid MX records, email delivery simply isn't possible.&lt;/li&gt;
&lt;li&gt;Disposable Email Detection&lt;/li&gt;
&lt;li&gt;Temporary email services continue to grow rapidly.&lt;/li&gt;
&lt;li&gt;These addresses often introduce low-quality users, spam registrations, and unreliable communication.&lt;/li&gt;
&lt;li&gt;Pluto maintains an internal database of more than 5,000 known disposable email providers.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;As part of the Keplars infrastructure (&lt;a href="https://keplars.com" rel="noopener noreferrer"&gt;https://keplars.com&lt;/a&gt;), these lists are continuously updated and monitored.&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%2Fwieriwy5na6gfxyp82s6.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%2Fwieriwy5na6gfxyp82s6.png" alt=" " width="800" height="436"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Role-Based Email Detection&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Certain email addresses are technically valid but may not represent individual users.&lt;/p&gt;

&lt;p&gt;Examples include:&lt;/p&gt;

&lt;p&gt;admin@&lt;br&gt;
support@&lt;br&gt;
info@&lt;br&gt;
sales@&lt;br&gt;
contact@&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Pluto identifies role-based accounts and flags them appropriately.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;This becomes especially useful when building B2B communication workflows.&lt;/p&gt;

&lt;p&gt;Free Email Provider Classification&lt;/p&gt;

&lt;p&gt;Not all email addresses are equal.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Pluto identifies major consumer email providers including:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Gmail&lt;br&gt;
Outlook&lt;br&gt;
Yahoo&lt;br&gt;
iCloud&lt;br&gt;
Proton Mail&lt;/p&gt;

&lt;p&gt;And many others.&lt;/p&gt;

&lt;p&gt;This allows systems built on Keplars (&lt;a href="https://keplars.com" rel="noopener noreferrer"&gt;https://keplars.com&lt;/a&gt;) to better understand the composition of their email lists.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Alias Normalization&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;One of the more interesting challenges was alias handling.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Take Gmail for example:&lt;/li&gt;
&lt;li&gt;&lt;a href="mailto:johnsmith@gmail.com"&gt;johnsmith@gmail.com&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="mailto:john.smith@gmail.com"&gt;john.smith@gmail.com&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="mailto:john.s.m.i.t.h@gmail.com"&gt;john.s.m.i.t.h@gmail.com&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;All of these can point to the same mailbox.&lt;/p&gt;

&lt;p&gt;Most validators treat them as completely different addresses.&lt;/p&gt;

&lt;p&gt;Pluto performs provider-specific normalization for:&lt;/p&gt;

&lt;p&gt;Gmail dot aliases&lt;br&gt;
Gmail plus tags&lt;br&gt;
Yahoo aliases&lt;br&gt;
iCloud aliases&lt;/p&gt;

&lt;p&gt;This helps eliminate duplicate records and improves data quality significantly.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Detecting Common Typos&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;A surprisingly large percentage of invalid email addresses are simply typing mistakes.&lt;/p&gt;

&lt;p&gt;Examples:&lt;/p&gt;

&lt;p&gt;gmial.com&lt;br&gt;
gmai.com&lt;br&gt;
outlok.com&lt;br&gt;
yahho.com&lt;/p&gt;

&lt;p&gt;Pluto automatically detects common mistakes and suggests corrections.&lt;/p&gt;

&lt;p&gt;This simple feature alone helps improve signup quality and reduces unnecessary bounce rates.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Reputation Analysis&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Validation isn't only about the recipient.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Domain reputation matters too.&lt;/li&gt;
&lt;li&gt;Pluto evaluates:&lt;/li&gt;
&lt;li&gt;SPF records&lt;/li&gt;
&lt;li&gt;DMARC records&lt;/li&gt;
&lt;li&gt;DNS reputation&lt;/li&gt;
&lt;li&gt;DNSBL checks&lt;/li&gt;
&lt;li&gt;DBL checks&lt;/li&gt;
&lt;li&gt;These signals provide additional insight into the trustworthiness of email domains.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;SMTP Mailbox Verification&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;This is where things become much more interesting.&lt;/p&gt;

&lt;p&gt;A domain may exist.&lt;/p&gt;

&lt;p&gt;MX records may exist.&lt;/p&gt;

&lt;p&gt;DNS may be configured correctly.&lt;/p&gt;

&lt;p&gt;But none of those guarantee that a mailbox actually exists.&lt;/p&gt;

&lt;p&gt;Whenever supported, Pluto performs SMTP-level mailbox verification.&lt;/p&gt;

&lt;p&gt;While no system can achieve 100% certainty due to anti-abuse protections used by major providers, SMTP verification provides a significantly stronger signal than syntax checks alone.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Building Pluto in Go&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Performance was a major priority from day one.&lt;/p&gt;

&lt;p&gt;Email validation can quickly become expensive when processing large datasets.&lt;/p&gt;

&lt;p&gt;Go was chosen because it offered:&lt;/p&gt;

&lt;p&gt;Excellent concurrency&lt;br&gt;
Fast network operations&lt;br&gt;
Efficient memory usage&lt;br&gt;
Scalability&lt;/p&gt;

&lt;p&gt;This allowed Pluto to process validations quickly while performing multiple checks simultaneously.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The Results&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;After integrating Pluto into our internal workflows at Keplars (&lt;a href="https://keplars.com" rel="noopener noreferrer"&gt;https://keplars.com&lt;/a&gt;), we saw substantial improvements.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Most importantly:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;We became significantly more confident in the quality of data entering our communication infrastructure.&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Today Pluto helps us achieve over 90% validation accuracy internally.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;The benefits include:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Lower bounce rates&lt;/li&gt;
&lt;li&gt;Better deliverability&lt;/li&gt;
&lt;li&gt;Cleaner datasets&lt;/li&gt;
&lt;li&gt;Improved sender reputation&lt;/li&gt;
&lt;li&gt;More reliable automation workflows&lt;/li&gt;
&lt;li&gt;Better overall communication performance&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;For an email infrastructure platform, those improvements compound quickly.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Why the Name Pluto?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;At Keplars, many of our systems follow a space-themed naming convention.&lt;/p&gt;

&lt;p&gt;Since Pluto operates quietly behind the scenes, validating and filtering communication data before it enters the ecosystem, the name felt appropriate.&lt;/p&gt;

&lt;p&gt;It isn't the largest component in our infrastructure.&lt;/p&gt;

&lt;p&gt;But it's one of the most important.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What's Next?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Today, Pluto remains an internal tool used throughout the Keplars ecosystem.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;We continue improving:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Validation accuracy&lt;/li&gt;
&lt;li&gt;Disposable provider detection&lt;/li&gt;
&lt;li&gt;Alias normalization&lt;/li&gt;
&lt;li&gt;Reputation analysis&lt;/li&gt;
&lt;li&gt;SMTP verification techniques&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;And while Pluto was originally built to solve our own challenges, we've received growing interest from developers who face similar problems.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;If enough people find Pluto valuable and would genuinely use it, I'd be happy to explore making it open source for the broader community.&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Because one thing became very clear while building Keplars:&lt;/p&gt;

&lt;p&gt;&lt;em&gt;The quality of your email infrastructure isn't determined when an email is sent.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;It's determined long before you ever press Send.&lt;/p&gt;

&lt;p&gt;Learn more about &lt;a href="https://keplars.com" rel="noopener noreferrer"&gt;Keplars&lt;/a&gt;.&lt;/p&gt;

</description>
      <category>architecture</category>
      <category>go</category>
      <category>productivity</category>
      <category>opensource</category>
    </item>
  </channel>
</rss>
