The Beginning

The first issue of Something That Sticks.

The Beginning

Merry Christmas to whoever celebrate it and welcome to the first issue of Something That Sticks, a newsletter documenting the building of emailtojson.com. The aim of this newsletter is to be a terse and to-the-point documentation of the marketing and sales process of a dev-oriented service/product. I'll also include SOME technical details (this issue will be heavier than most in that regard, since I'm still building out the product), but the focus will primarily be on the business side of things.

A Quick Overview of the Service

As the name implies, the service allows developers to quickly setup a system for translating incoming emails to JSON format, and receive notifications via a webhook. A more detailed description of the service and the problems it aims to solve can be found on this kern.al post I made a week ago. The aforementioned platform is fairly good for validating ideas and I could see companies using it to validate new features for their products or services.

The basic use flow of the service is as follows,

  • User creates email with one of their favorite clients (gmail, outlook, hotmail, yahoo, protonmail, whatever)

  • User creates mailbox on emailtojson.com and adds a webhook endpoint on which they can be notified

  • User creates a forwarding rule to their emailtojson.com mailbox using their client for all or some mail hitting their email

  • User starts receiving inbound emails in JSON format

There are a number of use cases, but I don't want to go into details on that because this isn't a sales pitch (you can see a number of use cases in this comment). Let's just say if you're using email for marketing or sales, there is value in having access to your emails in an easy to process format, and of course the real-time notifications help with any automation you would want to implement.

Everything Up to Now

I started working on this idea about two weeks ago. I needed a similar solution for my own purposes and couldn't find a good alternative online. After setting up a simple MVP I could use myself, I realized that it could be valuable for other people and was a worthwhile project to try to make into a paid service. It's small enough to be manageable for one person, while being a pain point for enough people to potentially be a profitable business.

I immediately decided to use carrd to make a simple landing page for validating the idea. It took about 30 minutes to setup and I like it because it gives me an easy way to share the idea with other people. Plus it makes the idea seem more real and professional. It took me a couple of days to realize that I could add analytics on the landing page through carrd, but I added google analytics as soon as I realized. Even at this early stage, it's essential to get as much information as possible, so doing anything you can to get more data is a must.

After setting up the landing page, I used the link to post on different social media sites and my programming newsletter, the performance details of which can be found in the "Marketing So Far" section below. I told myself that if I could talk to 10 potential users and see that the idea solved a pain point of theirs, it would be worth building out a more functional public MVP. I reached that goal within a couple of days and began working on the MVP application.

Marketing So Far

Here's an outline of the marketing done so far and any stats I can get.

LinkedIn (personal account, 951 followers, primarily software engineers)

Twitter (personal account, 70 followers, primarily software engineers)

Kernal (personal account, 0 followers)

Reddit (6 followers)

Newsletter (~3,000 subscribers, 99% software engineers)

Analytics (started on 14th of December, 2022)

  • 66 users

    • 45 direct

    • 11 organic social

      • 8 from linkedIn

      • 3 from twitter

    • 11 referral

      • 7 from kernal

    • 5 organic search

      • 3 form baidu

      • 2 from google

    • 2 unassigned

Other

When searching for email to JSON alternatives on duckduckgo, I came across email2json.net as one of the results. I asked the owner if I could buy his domain. He was really nice and we came to the arrangement that he would just redirect his URL to emailtojson.com (since the value of the URL was too low for him to bother transferring ownership). I figured it would be a nice organic search boost at the start of the project and based on the analytics for the landing page, it somewhat worked with 5 organic searches.

Thoughts

It seems that linkedin and kernal have been by far the most effective methods for getting eyes on the landing page (outside of direct visits). In terms of impressions, linkedin and reddit were the most successful. At the moment there isn't enough data to make a definitive decision, so I'll keep posting on all of the different platforms.

In regards to making a reddit community; I'm usually not a fan of making communities yourself, since it's a lot easier to support/contribute to an existing one, but it was a low effort endeavor and I can always explore building it out in the future.

Once the MVP is done, I'm planning to go the content marketing route by writing some articles relevant to the service. I don't have a concrete plan in place, but it'll probably be a matter of doing some basic SEO keyword research, hiring a couple of content writers for simpler articles, filtering out the best ones, then paying them to write more specific/complicated articles. I could do it myself, and I very well might end up writing a couple of articles, but it's a good task to delegate and there are more pressing issues for me to personally address.

Sell It Like a Salt Shaker

I've been actively trying to get people to commit to paying for the service, by following up with anyone who commented/engaged with any of the marketing posts. There are 5 people who are interested, but no one has said that they'd commit to paying yet. I'll continue to follow up with people.

The people who are interested primarily came from kernal, reddit, and a slack channel I'm in for bootstrapped startups.

State of the Website

My goal by the end of this week was to get a local working MVP for the mailbox creation/testing/notifying process. Unfortunately I didn't get as far as I wanted, but below is an image of the current mailbox page. Users can create mailboxes and send test emails from the browser. I still need to finish the infrastructure that handles notifying the user, which includes saving the notifications to the database and sending the post request with the email to the webhook URLs tied to the mailbox.

Mailboxes page with the user's mailboxes, a tab for sending a test email, and the create mailbox form.

The gif below shows the process of adding a mailbox (from an earlier version of the page).

Process of making a new mailbox for users of emailtojson.com

Clearly the design is terrible at the moment, but I'm just doing the basic functionality first. Once everything is working properly, I'll either fix up design myself, or more likely, hire a front-end dev with some design chops to handle it for me. Again, this is a great task to delegate, since it requires minimal guidance from my side.

After the typical flow is done, I'll need to add stripe for processing payments and the account settings page. I also want to add some infrastructure that'll allow me to publish blog posts for the future content marketing plans, but that's definitely the last priority on the list.

Here's a list of all of the different technologies being used for this project (so far). I'm not going to link to them because they're all relatively easy to find with search engine,

  • docker for the database container (I'll probably remove this for the production version)

  • postgresql as the database

  • sveltekit for the web framework

  • tailwindcss for the website front-end design

  • daisyui for the website front-end components

  • typescript for the back-end and front-end (with svelte)

  • directus as the admin dashboard for the database

  • clojure for the API that handles parsing emails and webhook notifications

  • aws for file storage, sending emails, receiving emails, and notifications

If you're interested in any of these and can't find them, just ask me by replying to this email (replying also helps with my deliverability, so two birds, one stone).

Tech architecture wise, everything is pretty standard. The only thing that might stand out is the fact that there is a separate API for processing emails and sending webhook notifications. The reason for this is that I wanted to separate that logic from the website. The website will likely require lots of edits/fixes, which will make it temporarily unavailable (potentially several seconds at a time). I didn't want this unavailability to interfere with inbound email notifications being sent, hence the separation. Plus, I really wanted to work with clojure, because me likey it.

So by separating the website from the primary service functionality, I can reduce the risk of any service disruption for existing users resulting from issues with the website. Technically there shouldn't be any critical issues (ie., lost of email data) if either the website or the API don't work, since the email data is going to be stored regardless; I just need to add a system for checking if any emails are in storage that haven't been sent as notifications, then add them to the notification queue when the service is back online.

I also need to setup deployment for the production version of the service. For the website it's going to be a standard gitlab deploy to a server with pm2 for managing the node process. For the clojure API, I'll have to figure out what the best practices are, since I haven't done that before. I'm guessing it'll also be through gitlab to a server, but I need to find out what the best solution is for managing/monitoring the service.

Next Steps

Development

  • Finish a public MVP by Wednesday

  • Setup the deployment pipeline for production

  • Get 3 beta testers

Marketing

  • Continue posting progress on twitter with #buildinpublic

  • Post on all socials once the MVP is up

Sales

  • Get 1 user to pay for the service

Closing Thoughts

The format of these updates will likely change once I get further away from the technical side of things and start focusing on the business itself. At that point, hopefully I can flesh out the marketing/sales sections more and add more tracking information on where users are coming from. My goal is to be as data driven as possible and I can foresee that tracking results in data sheets will likely be a good way to facilitate that. I'll make those resources available as I create them.

If you have any comments, questions, or feedback, feel free to reach out to me. Otherwise, have a lovely holiday and see you in the new year!