<?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: &lt;Aimad Ait Elhousse /&gt;</title>
    <description>The latest articles on DEV Community by &lt;Aimad Ait Elhousse /&gt; (@aimadaitelhoussecrypto).</description>
    <link>https://dev.to/aimadaitelhoussecrypto</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%2F4108626%2Fe74bf8c4-bf99-4bbc-b814-e7a97246e887.png</url>
      <title>DEV Community: &lt;Aimad Ait Elhousse /&gt;</title>
      <link>https://dev.to/aimadaitelhoussecrypto</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/aimadaitelhoussecrypto"/>
    <language>en</language>
    <item>
      <title>I Built My First Product as a Solo Developer — With Breaking Bad on My Second Monitor</title>
      <dc:creator>&lt;Aimad Ait Elhousse /&gt;</dc:creator>
      <pubDate>Thu, 03 Sep 2026 19:33:43 +0000</pubDate>
      <link>https://dev.to/aimadaitelhoussecrypto/i-built-my-first-product-as-a-solo-developer-with-breaking-bad-on-my-second-monitor-1m4h</link>
      <guid>https://dev.to/aimadaitelhoussecrypto/i-built-my-first-product-as-a-solo-developer-with-breaking-bad-on-my-second-monitor-1m4h</guid>
      <description>&lt;p&gt;A few months ago, I decided I wanted to ship my first real product.&lt;/p&gt;

&lt;p&gt;Not another project sitting in a GitHub repository.&lt;br&gt;
Not another prototype that works perfectly on localhost.&lt;br&gt;
Something real. Something people could actually use.&lt;br&gt;
That product became &lt;strong&gt;MailOnce&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;And for a surprisingly large part of building it, my setup looked like this:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;MailOnce on one monitor. Breaking Bad on the other.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Probably not the productivity system they teach you in engineering books.&lt;br&gt;
But somehow, it worked.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why temporary email?
&lt;/h2&gt;

&lt;p&gt;I had used temporary email services before, mostly when testing signups, verification emails, and OTP flows.&lt;br&gt;
They worked, but I kept noticing things that annoyed me, Sometimes messages took too long to arrive, Sometimes the interface was overloaded with ads and popups Sometimes I only needed a six-digit verification code, but I had to open the email and hunt for it.&lt;br&gt;
And as a developer, I also wanted something that felt useful for testing email flows rather than just being a disposable inbox.&lt;/p&gt;

&lt;p&gt;Eventually I had the dangerous developer thought:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;"How hard could it be to build my own?"&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Very hard, apparently.&lt;/p&gt;

&lt;h2&gt;
  
  
  Receiving an email is the easy part
&lt;/h2&gt;

&lt;p&gt;At first, the idea sounded simple:&lt;/p&gt;

&lt;p&gt;Generate a temporary address Receive an email and Display it.&lt;/p&gt;

&lt;p&gt;Done.&lt;/p&gt;

&lt;p&gt;Then the rabbit hole started.&lt;/p&gt;

&lt;p&gt;I had to think about SMTP delivery, domains, inbox lifecycle, realtime updates, abuse controls, verification links, OTP detection, security, rate limits, responsive behavior, and what happens when multiple users are doing things at the same time.&lt;/p&gt;

&lt;p&gt;Then there were all the problems that have nothing to do with the feature you're currently building.&lt;/p&gt;

&lt;p&gt;A UI that looks perfect on your screen and breaks on another viewport.&lt;/p&gt;

&lt;p&gt;A production configuration that behaves differently from local development.&lt;/p&gt;

&lt;p&gt;An email that arrives correctly from one service but behaves differently from another.&lt;/p&gt;

&lt;p&gt;A deployment where one missing environment variable can make a perfectly working feature suddenly look completely broken.&lt;/p&gt;

&lt;p&gt;Building the feature was often only half the work.&lt;/p&gt;

&lt;p&gt;Making it survive reality was the other half.&lt;/p&gt;

&lt;h2&gt;
  
  
  The feature I cared about most
&lt;/h2&gt;

&lt;p&gt;One thing I really wanted was a better experience for verification emails.&lt;/p&gt;

&lt;p&gt;If an email contains an OTP, MailOnce tries to detect it and surface it quickly.&lt;/p&gt;

&lt;p&gt;If there's a verification link, the inbox should make that useful without forcing you to dig through a messy email.&lt;/p&gt;

&lt;p&gt;And incoming messages should feel realtime.&lt;/p&gt;

&lt;p&gt;These sound like small details.&lt;/p&gt;

&lt;p&gt;But when you're testing the same signup flow again and again, small details become the entire experience.&lt;/p&gt;

&lt;h2&gt;
  
  
  Building solo changes the way you think
&lt;/h2&gt;

&lt;p&gt;This was also my first product shipped as a developer.&lt;/p&gt;

&lt;p&gt;That meant there wasn't another department waiting to solve the next problem.&lt;/p&gt;

&lt;p&gt;Backend problem?&lt;/p&gt;

&lt;p&gt;Mine.&lt;/p&gt;

&lt;p&gt;Frontend problem?&lt;/p&gt;

&lt;p&gt;Also mine.&lt;/p&gt;

&lt;p&gt;Deployment?&lt;/p&gt;

&lt;p&gt;Mine.&lt;/p&gt;

&lt;p&gt;SEO?&lt;/p&gt;

&lt;p&gt;Apparently mine too.&lt;/p&gt;

&lt;p&gt;Production bug at the worst possible moment?&lt;/p&gt;

&lt;p&gt;Definitely mine.&lt;/p&gt;

&lt;p&gt;There were days where I spent hours fixing something users would probably never notice.&lt;/p&gt;

&lt;p&gt;And there were other days where a tiny change made the whole product feel significantly better.&lt;/p&gt;

&lt;p&gt;I learned that shipping a product is very different from finishing a feature.&lt;/p&gt;

&lt;p&gt;A feature can be "done."&lt;/p&gt;

&lt;p&gt;A product keeps finding new ways to tell you that you're not done.&lt;/p&gt;

&lt;h2&gt;
  
  
  And yes, Breaking Bad was actually there
&lt;/h2&gt;

&lt;p&gt;This part isn't some clever metaphor for startup life.&lt;/p&gt;

&lt;p&gt;I was literally watching Breaking Bad on my second monitor while working on MailOnce.&lt;/p&gt;

&lt;p&gt;Sometimes I would spend an absurd amount of time debugging something, finally find the problem, look at the other monitor, and realize I had absolutely no idea what happened during the last 20 minutes of the episode.&lt;/p&gt;

&lt;p&gt;So I would rewind.&lt;/p&gt;

&lt;p&gt;Then go back to debugging.&lt;/p&gt;

&lt;p&gt;Not exactly peak efficiency.&lt;/p&gt;

&lt;p&gt;But it became part of the routine.&lt;/p&gt;

&lt;h2&gt;
  
  
  Today, MailOnce is live
&lt;/h2&gt;

&lt;p&gt;After all the building, testing, breaking, fixing, deploying, and testing again, I finally reached the point where I was comfortable putting it in front of real users.&lt;/p&gt;

&lt;p&gt;MailOnce is now live:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;a href="https://mailonce.org" rel="noopener noreferrer"&gt;https://mailonce.org&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;You can generate a temporary email address and use it immediately. No account is required for the basic experience.&lt;/p&gt;

&lt;p&gt;I also published a small developer repository with examples for testing things like OTP emails, signup verification, passwordless authentication emails, and verification links:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;a href="https://github.com/mailonce/mailonce-developer-kit" rel="noopener noreferrer"&gt;https://github.com/mailonce/mailonce-developer-kit&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;I'm still at the beginning.&lt;/p&gt;

&lt;p&gt;There are things I want to improve, features I want to build, and probably bugs that real users will discover much faster than I ever could.&lt;/p&gt;

&lt;p&gt;So if you're a developer, QA engineer, or just someone who uses temporary email:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Try to break it.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Seriously.&lt;/p&gt;

&lt;p&gt;Send it weird emails. Test your verification flow. Use it on different devices. Tell me what feels slow, confusing, unnecessary, or broken.&lt;/p&gt;

&lt;p&gt;I'd rather get useful criticism now than spend months building in the wrong direction.&lt;/p&gt;

&lt;p&gt;And if you're building your first product too, here's probably the biggest thing this project taught me:&lt;/p&gt;

&lt;p&gt;You don't really learn what your software is until you let strangers use it.&lt;/p&gt;

&lt;p&gt;Now I get to find out what MailOnce actually is.&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>buildinpublic</category>
      <category>productivity</category>
      <category>indiehackers</category>
    </item>
  </channel>
</rss>
