The Problem
Resend costs $20/month. For many small teams, that is money spent on a tool they only partially use. We asked: can we rebuild the core functionality ourselves?
What We Built
A replacement for Resend using Python, Flask, and SMTP. The system handles transactional email delivery, basic template rendering, and send logging — covering the 80% use case for small teams.
How We Did It
Stack: Python, Flask, SMTP
Estimated time: 135 minutes
Build Steps
[done] Step 1: Scaffold Flask app and SMTP connection layer (Python, Flask, SMTP) – 20min
[done] Step 2: Implement send_email() with template variable substitution (Python, Jinja2) – 25min
[done] Step 3: Add send logging to SQLite (Python, SQLite) – 20min
[done] Step 4: Build REST endpoint POST /send (Flask) – 15min
[done] Step 5: Write validation layer and error handling (Python) – 20min
[done] Step 6: Test against live SMTP relay (SMTP, Python) – 15min
[done] Step 7: Document and package (Python) – 20min
Results
Steps completed: 7/7
Total build time: 135 minutes
Completion: 100%
Verdict: COMPLETE
Build vs Buy
| |
Buy (Resend) |
Build (Custom) |
| Cost |
$20/month |
Time investment only |
| Stack |
Managed SaaS |
Python, Flask, SMTP |
| Setup Time |
Minutes |
135 minutes |
| Ongoing Cost |
$20/month |
$0 (self-hosted) |
Limitations of the Rebuild
No hosted deliverability infrastructure (you need your own SMTP relay)
No open/click tracking without additional build work
No GUI dashboard – API and logs only
Not suitable for high-volume bulk email without relay configuration
Verdict
The rebuild is complete. We successfully replaced Resend with a custom solution built in 135 minutes using Python, Flask, SMTP. The ongoing cost is $0.
Want us to build this for you?
We help small teams replace expensive SaaS tools with AI-assisted custom builds. If you are paying for a tool you barely use, we can probably rebuild it for less.
Get a free rebuild assessment
Free giveaway: Every month we give away one free rebuild to a qualifying team. Reply to this post or DM us to enter.
Leave a Reply