Having done some reading and read threads on the topic, I decided to take the plunge and move the website from inboxes.app to inboxesapp.com. It does make the url longer, but supposedly Google treats .com domains with preference, so given I've started to see a trickle of clicks coming in from Google, I thought best to do it earlier rather than later and set up a 301 using CloudFlare workers.
I'll keep the .app for all things api, smtp and as a domain for user emails.
In the initial MVP of Inboxes.app, when a user read an email, it would be marked as such and then hidden from their inbox. It just made sense.
Then I kept getting complaints about "where did my email go?".
Damn. So that didn't work out as I expected.
Version 0.0.4 of the Inboxes extension now has a nice big button at the bottom which says "View read", meaning users can now view their past read emails 🎉
But this release does more than this, it also adds "screens" and an easy way for me to create new ones. This will be key when it comes it offering paid features, a settings page and much more.
I found a bug within the app extension where one request would fail as it was malformed, then pushed a quick fix to the Chrome Store. I half expected the request to take a day or two, but since updating to Manivest Version 3, the approval time has gone down significantly. 7 hours to review and get 0.0.3 published!
In short, this is great news. Pushing fixes and new features is much less painful than it used to be, and it gives me confidence to push out new features quicker to the Chrome Store.
With the website and pricing page now designed and done, I'm working on the paid features of the extension out, so shorter review times is going to be very helpful.
Not the craziest achievement, but while redesigning inboxes.app I managed to hit 99/100 on PageSpeed Insights on Desktop.
A lot of it comes down to caching, a simple website, using SVGs where possible and keeping external assets and plugins to a minimum.
I'll get that last 1% another time, but for a re-design I'm happy I was able to get a better looking website with an even better PageSpeed score 👌
Version 0.0.2 is submitted! It doesn't add a whole lot of features, but it fixes things I've learnt and discovered about the Chrome Extension Store.
It's bumped to Manifest v3, so this changes how background processes work. It should also speed up reviews according to Google.
I've moved from using GET to POST for all endpoints. The server currently converts GET to POST, but will soon force POST. This will help stop generic web crawlers hitting all endpoints.
There was a bug where if you clicked a link in an email, the opened page would not be allowed to execute JS due to iframe security policy. This is now fixed and I'll be writing a blog post on this soon along with the V2 to V3 manifest update.
The extension can now show rich news items including background image and background colour. This means I'll be able to advertise the paid features and see if it converts at all.
Next up: working on a paid features page which will track clicks, and a slight website re-design to accommodate this.
It's not the craziest number, but inboxes.app has reached >100 users!
So what's next? I'm going to release all the updates I've been working on, and start prioritising testing paid features using 'fake doors'. There's a few features I'd love to offer to paid users, and so I'll throw up a quick pricing page and see if anyone clicks a buy button. At that point I'll record the click and start working on that feature set.
Given that freemium typically has a 2-5% conversion rate, I'm expecting at least one click.
Let's see how that plays out.
Between version 0.0.1 and what will soon be version 0.0.2 of the browser extension, a lot is changing under the hood for https://inboxes.app
The current version uses HTTP GET while the new router supports GET but will soon require POST - which the new extension will use. This a great way of stopping general web crawlers from hitting endpoints sporadically too.
The new Go Router also follows more traditional Go patterns, and makes offering new features cleaner and quicker as a developer.
As part of this work, I'll also soon be moving the database to MongoDB Atlas.
So while there's no new features, this will make things much much easier in the long run. (I'm hearing excuses here for not doing marketing 😂)
I received my first bit of feedback the other day completely out of the blue and it's been a huge morale boost. I've been talking to them to try find out their pain points, get their feedback and figure out how they found out about my project but I thought I'd share this as a good milestone 🕺
As the above suggests, my thinking is that as I'm about to start focusing on marketing and SEO it would be great if visitors could test out inboxes.app straight from the website before even downloading the extension.
Thankfully Mongo has expiration TTLs, so for the most part its simply adding a new endpoint and an expirary field.
I've told myself that this is the last bit of code I'm doing before focusing on SEO and light marketing. It's too easy to get distracted building new features ;)
Finally took the plunge and registered to UberSuggest to try work on my SEO. Marketing and SEO are two areas I have very little knowledge in, so outside of getting the new extension updates published, I'll be focusing on these two areas to try find my users and market fit. Engineering is the easy part: build and they won't come.
I made Inboxes.App because it's something I've wanted for myself for a long time. I'm tired of always gettng countless marketing/spam messages, so I made an extension where you can delete an address once you're done.