Orchard Lab

A place to share my thoughts and learnings

📨 Void Inbox

Posted at — Nov 18, 2023

Over the past weekend, I created a web app called VoidInbox using Phoenix and Elixir. Which can let me receive newsletters or other not so important emails, and read them there. It looks like this:

void inbox home screen

Why am I building this

With the flourishing of the thousands of newsletters. I’ve always found myself lost in the pile of emails in my inbox. Not only it messes with my “actual” emails, but also it’s hard to read them as well.

Plus I am not comfortable to share my personal email address to random newsletters or email lists.

So I am thinking to build one, a simple enough where I can still confidently subscribe to the newsletters I found useful, where I can read them in one place, but also give me the peace of mind of not letting anyone bombarding my email inboxes.

On top of that, I want to share the process of the creation. I truly believe in open source and self hosting software. But I think we can go even further by sharing the creation process. Hopefully even if people don’t find the software itself is useful, they still can benefit from some of the thinking or ideas within it.

I like building things, I think that’s the ultimately form of finding long lasting happiness. Putting them into the writing form not only helps me to have more clear thoughts, but also enforce me to have some level of rigorous. Bottom line is I might found the thing I wrote useful for my future self.

What’s next

Over the next couple of weeks, I am gonna share the pieces by piece how I build this. It would include but not limited to core, models, UI, deployment etc. Hopefully you can get something useful from it or at least get inspired to create something your own as well.

I love the article Teaching Iteration from Jason Fried. Where I think it’s way more relevant from the software projects perspective, as the software we produced most likely would evolve overtime. By learning how to take something from naive and primitive to useful and beautiful takes time and practice, so I am hoping by doing this to practice the iteration process as well.

Here is the general agenda of what I am gonna to share in the next couple of weeks:

  1. Core. SMTP server to receive email and parse them.
  2. Models. Database models and context to power the app.
  3. UI. Build a simple and minimal UI using LiveView.
  4. Deployment. Deploy it to the cloud provider (fly.io) or using docker compose in any machines.
  5. More features …

Stay tuned to subscribe the RSS feed. At the same time, give it a shot to the demo version of it on https://void-inbox.fly.dev/ and let me know what you think.

Or if you can’t wait to get your hands dirty on the source code, you can head over to 29decibel/void_inbox giving it a spin as well.

See you in the next post.