Sign in

Andris Reinman

@andrisreinman.com
835 followers 543 following 54 posts

Founder of EmailEngine (emailengine.app), a solo startup simplifying IMAP and SMTP access for developers.

PostsRepliesMedia
Andris Reinman @andrisreinman.com · 28/12/2025
Wait, what do you mean I can ask Claude Code to take baseline memory snapshots of my app, run a bunch of operations, take another snapshot, find memory leaks, and link them back to the exact code paths causing objects to stick around? 🙀
220
Andris Reinman @andrisreinman.com · 11/10/2025
After 17 years of being Mac-only, I got a Windows laptop as a second device. What are the mandatory apps to install these days?
210
Andris Reinman @andrisreinman.com · 10/10/2025
Modern software development - just run your agents whenever you have a few minutes of free time
020
Andris Reinman @andrisreinman.com · 24/09/2025
Currently debugging EmailEngine with a Zimbra mail server. Strange detail: before authentication, it identifies as Dovecot, after authentication as Zimbra. But there’s no mention of Dovecot in their open-source licenses 🤔 Is Zimbra disguising itself as Dovecot?
010
Andris Reinman @andrisreinman.com · 11/08/2025
Oh wow, so meta. I asked Claude Code to generate a release script that checks the actual diff between releases and then asks itself (via Claude CLI) to write the release notes. Now I can keep using commit messages like “update” without ending up with messy release notes.
020
Andris Reinman @andrisreinman.com · 06/08/2025
Just sitting around doing nothing, waiting two hours for my Claude limit to reset 🥴
120
Andris Reinman @andrisreinman.com · 23/07/2025
After a month of vibe coding with Claude Opus 4, I can’t imagine going back. It’s like when I first started using a code formatter: I also can’t imagine going back to manually formatting code with spaces and tabs.
020
Andris Reinman @andrisreinman.com · 08/07/2025
Some of the strangest IMAP bugs seem to come from the large Asian mail providers. Just added a workaround to EmailEngine for a bug in Lark Mail, ByteDance’s managed mail service. I’m guessing it’s because most of their users access email via the web interface, not IMAP.
020
Andris Reinman @andrisreinman.com · 22/06/2025
Managed to bypass the stupid canvas thing in ChatGPT to get my document printed out directly to chat
010
Andris Reinman @andrisreinman.com · 23/05/2025
My open-source project Nodemailer reached a million downloads per day this week and it is still accelerating 😱 Am I now a downloads-millionaire 🤔
060
Andris Reinman @andrisreinman.com · 04/05/2025
Spent almost all my ChatGPT O3 requests, but finally managed to migrate Nodemailer.com from Hugo to Docusaurus
nodemailer.com
Nodemailer | Nodemailer
Send e-mails with Node.JS – easy as cake! ✉️
030
Reposted by Andris Reinman
Katie Mack @astrokatie.com · 09/04/2025
The problem with most machine-based random number generators is that they’re not TRULY random, so if you need genuine randomness it is sometimes necessary to link your code to an external random process like a physical noise source or the current rate of US tariffs on a given country.
374189803605
Andris Reinman @andrisreinman.com · 22/02/2025
The main reason EmailEngine.app processes and lists emails so quickly is that it primarily operates with the BODYSTRUCTURE value. It doesn’t download or parse emails fully - only the minimally required MIME parts. Just like regular email clients.
emailengine.app
EmailEngine Email API
Streamline email integration for your app or service with a unified REST API that seamlessly connects with IMAP, SMTP, Gmail API, and Microsoft Graph API
040
Andris Reinman @andrisreinman.com · 13/02/2025
After 3 weeks of testing, I considered the pricing changes a failure and rolled back previous plans. The only people who tried to sign up for the monthly plan were obvious scammers, and I had to block several payment attempts to avoid future chargebacks. The yearly-plan-only setup is much calmer.
230
Andris Reinman @andrisreinman.com · 03/02/2025
I attended almost all the modern email and API talks at FOSDEM—still recovering from all that sitting. The highlight for me was an unexpected mention of my EmailEngine project!
151
Andris Reinman @andrisreinman.com · 27/01/2025
I will be at FOSDEM this weekend, mostly to attend the modern email track. Usually would listen these talks online but this time decided to go on person.
140
Andris Reinman @andrisreinman.com · 27/01/2025
Now that my one-person, bootstrapped startup has reached $10k MRR, I’m finally ready to experiment with pricing. Until now, EmailEngine was only offered as an annual subscription, but I’ve just introduced a monthly option - mainly to hide away the price increase on yearly plans 🫣
050
Andris Reinman @andrisreinman.com · 24/01/2025
TIL, reusing JavScript TextDecoder objects is not a good idea. It works most of the time, but when dealing with shifting encodings like ISO-2022-JP, things get messy. The TextDecoder object seems to remember the last shift, resulting in an invalid first character when decoding the next payload.
120
Andris Reinman @andrisreinman.com · 20/01/2025
This is completely bonkers, I’ve been building the nodemailer library for 15 years and it is still gaining momentum. Daily downloads are starting to reach 800 000 😱
040
Andris Reinman @andrisreinman.com · 17/01/2025
I was finally forced to add rate limiting to Ethereal.email after some schmuck flooded the system with 6 000 000 emails in a short period of time. So far, there were no limitations at all.
ethereal.email
Ethereal Email
130
Andris Reinman @andrisreinman.com · 07/01/2025
Finally reached the post-game heaven realm in Dragon Quest III re-make 🗺️
010
Andris Reinman @andrisreinman.com · 07/01/2025
Working with MS Graph API for email messages feels like working with the arcane. You think something is not possible but then, by applying some bitwise OR integers, it suddenly is 🤷‍♂️
130
Andris Reinman @andrisreinman.com · 06/01/2025
I added a new configuration option to Postal-Mime, my email parsing library for front-end/web-workers/serverless, to return attachments not as ArrayBuffer values but as base64 encoded strings. This allows to JSON-stringify the entire parsed email structure. github.com/postalsys/po...
github.com
GitHub - postalsys/postal-mime: Email parser for browser and serverless environments
Email parser for browser and serverless environments - postalsys/postal-mime
010
Andris Reinman @andrisreinman.com · 29/12/2024
I’ve been using MacBook Pro M1 Pro 16GB for the past 3 years and I still don’t see a single reason to upgrade. Maybe if I used virtual machines a lot but I don’t 🤔
250
Andris Reinman @andrisreinman.com · 26/12/2024
Is this validation? A random person listed EmailEngine next to well-known software 🤓
050
Andris Reinman @andrisreinman.com · 21/12/2024
I haven’t really played JRPG games before (except Pokemon games), but after completing Octopath Traveler 2, I’ve been getting into it. Currently playing the Dragon Quest 3 remake and having tons of fun with it.
020
Andris Reinman @andrisreinman.com · 17/12/2024
TIL: If your business makes over $10k and you’re a cheapskate like me, you can still use ChartMogul without a paid plan—just stick to the mobile app. It works even without a subscription 😅
020
Reposted by Andris Reinman
Ant Stanley @iamstan.dev · 12/12/2024
Ken Cheng is the only person doing LinkedIn correctly
A LinkedIn post from Ken Cheng with the following text

I owed a friend £22.91 for an Uber.

I transferred them £22.19 by accident.

They never brought it up.

Nobody would bring up 72p.

I did it on purpose. 

I've been doing it for years.

Every time I have to transfer someone money, I "accidentally" leave off a bit.

I call it the Plausible Deniability Typo.

£24.37 instead of £24.73.
£9.38 instead of £9.83.
£3.46 instead of £3.64.

Sometimes if I'm feeling really risky, I'll do £18.54 instead of £19.54.

They'd look like a complete tool to quibble over this.

Instead, they are a tool in a different way.

A tool for me to get to the top.

I've probably made £100 over 5 years.
2937936
Andris Reinman @andrisreinman.com · 04/12/2024
I've been doing indoor rowing a lot this year to get in shape (more than 1500km), but it can be incredibly boring. My solution was to start watching action anime during my rowing sessions. It turned out that time really flies with flashy action scenes and a banger soundtrack.
020
Andris Reinman @andrisreinman.com · 30/11/2024
What is this crap? I’m getting a ton of “delete my account” requests sent to EmailEngine’s support email. Some kind of attempt to force me to engage with them or what? All these are Gmail, Outlook, etc. addresses, but EmailEngine only allows “business email” logins so these accounts don’t even exist
000
Andris Reinman @andrisreinman.com · 26/11/2024
As an european ECMAScript sounds way better than JavaScript 🫠
040
Andris Reinman @andrisreinman.com · 25/11/2024
With the USD strengthening against the EUR recently, my goal of reaching $10k MRR is sliding further into the future, as I mainly operate in EUR 🫣
000
Andris Reinman @andrisreinman.com · 24/11/2024
Huvitav kas sellist varianti pole, et saaks tasuta coachingu, aga laenu ei peaks võtma 🤔
020
Andris Reinman @andrisreinman.com · 18/11/2024
Reading “Tales of Demons and Gods” is pure torture these days — just 30 seconds worth of content after a week of waiting. Even the smallest story arcs take forever to complete.
000
Andris Reinman @andrisreinman.com · 17/11/2024
Thought I’d finally found a use case for Stripe’s instant payouts as SEPA payments take weeks to clear. But no—until the payment clears, there are no payout options. Which makes sense, but then what’s the point of instant payouts? Pay a fee to get funds two days earlier than you’d get them anyway?
020
Andris Reinman @andrisreinman.com · 16/11/2024
This is why my solo business is old-school software, not service or SaaS: I’m on a two-week family vacation on the other side of the world, and left my laptop at home. Some support questions might go unanswered, but that’s it—and there aren’t many anyway.
000
Andris Reinman @andrisreinman.com · 13/11/2024
Is it even possible to write complex regexes without triggering a ReDos vulnerabilty?
000
Andris Reinman @andrisreinman.com · 13/11/2024
Struggling to find a new game to play after completing Zelda Echoes of Wisdom with nothing in the queue. We only have a Switch at home, so that limits my options. I've already completed everything in the Zelda series. I have a level 86 character in Diablo 2, but TBH, the grinding is getting boring.
220
Andris Reinman @andrisreinman.com · 12/11/2024
Finally, my kids are old enough that they can teach _me_ about the ways of the world, not the other way around. On a related note, I learned that furries and therians exist.
020
Andris Reinman @andrisreinman.com · 11/11/2024
I picked up indoor rowing in March to have some kind of physical activity, and it seems I recently passed the 1500 km mark. 🚣
010
Andris Reinman @andrisreinman.com · 11/11/2024
The shared MS365 accounts feature in EmailEngine is now live. First, add the main account, and then all the shared accounts the main account has access to. EmailEngine treats all these as separate mail accounts but will use credentials from the main account. emailengine.app/shared-mailb...
emailengine.app
Accessing Shared Mailboxes in Microsoft 365 with EmailEngine
EmailEngine supports accessing Microsoft 365 (MS365) shared mailboxes, allowing your applications to interact with these mailboxes via a RESTful API. This guide will walk you through the steps to conf...
000
Andris Reinman @andrisreinman.com · 08/11/2024
I’ve been doing some serious OAuth2 wrangling to get seamless support for MS365 shared mailboxes into EmailEngine. The account might use IMAP and SMTP, or it might use the MS Graph API to list and send emails—so all possibilities need to be covered.
000
Andris Reinman @andrisreinman.com · 05/11/2024
It took me a while to figure out the actual difference between BIMI VMC and CMC logos. So much fuss, yet so little technical information out there. The certificate structure includes an OID field ‘1.3.6.1.4.1.53087.1.13’, which is either ‘Registered Mark’ (for VMC) or ‘Prior Use Mark’ (for CMC).
000
Andris Reinman @andrisreinman.com · 04/11/2024
I recently added a USD currency option for EmailEngine.app subscriptions, and the first thing I discovered was the high fees for transferring USD from Stripe to my Estonian bank account. So, I set up a USD account for my business with Wise, and suddenly, no transfer fees anymore!
emailengine.app
EmailEngine Email API
Streamline email integration for your app or service with a unified REST API that seamlessly connects with IMAP, SMTP, Gmail API, and Microsoft Graph API
030
Reposted by Andris Reinman
Syntax @syntax.fm · 02/11/2024
I just spent way too long adding every guest to a Syntax starter pack If you want to follow the best devs in web development 👇🏻 go.bsky.app/SoASbQA
2421442
Andris Reinman @andrisreinman.com · 02/11/2024
It’s difficult to provide support for ImapFlow.com, my open-source IMAP library for Node.js. People often ask how to do X with ImapFlow, where X is something I’ve put a lot of thought into and implemented in EmailEngine—my paid offering that puts bread on my table and pays my mortgage 🙄
imapflow.com
Home - Documentation
000
Andris Reinman @andrisreinman.com · 01/11/2024
Thread: 1️⃣ Owning the entire stack has its perks—as I do with EmailEngine. Recently, I received a report that EmailEngine wasn’t properly interacting with a lesser-known mail server software.
100
Andris Reinman @andrisreinman.com · 31/10/2024
Changed my Bluesky handle to my own domain name.
030
Andris Reinman @andrisreinman.com · 29/10/2024
I’m starting to think that building paid apps like EmailEngine is viable again. Previously any good idea was quickly copied into an open-source project. But now it seems there aren’t individuals who would actually do that anymore. Open-source software is dominated by corporations with narrow agendas
040