A side project that I actually want to work on

A problem that also other people have

I’ve had my share of silly mistakes in the past, and some of them involve the completely obvious ‘surprise’ when something important expires according to its original, well known expiration date. For example, SSL certificates. Every time you browse a website using HTTPS, your requests and the site’s responses are encrypted in transit. The SSL certificate presented by this website is a key part of this process, and needs to be valid in certain aspects. One of these aspects is the expiration timestamp of the certificate. It simply needs to be ‘in the future’, or else the certificate cannot be trusted.

Let’s build!

Tech bits first, I chose the most basic stack that I know — a NodeJS app running on Heroku. This will help me keep the technical aspects as simple as possible so that they don’t pull me in. I am very noob when it comes to Front End engineering, so I spent some time looking at tutorials of relevant frameworks and made my first mistake right there! After spending time on tailwindcss, being lured by its praises, I realized I was slipping away from my objective. I was increasing my Front End competence (at a questionable rate, mind you), but making no progress towards my goal. SSL certificates were still expiring somewhere in the world, and people were no less surprised by this fact. You get the point — I was distracted.

Naming things is hard

Choosing a domain name is hard. You choose one option out of an endless list of alternatives, check for availability as a .com, .io, .dev and what not. Then look into twitter handles, github accounts, instagram maybe? This is yet another potential pitfall for endless deliberations with myself, and no impact on the problem. I time-boxed this decision to just a few hours. Tried a few variations with ‘SSL’, ‘expiration’ and such, but all were taken — quite popular terms, I guess. I went with haveibeenexpired.com. If this sounds vaguely familiar to you, it is probably because of haveibeenpwned.com, Troy Hunt’s immense impact on personal security on the Internet. $12 paid to Google for the domain, and I’m done with this part. Twitter fiddled with the handle a bit, giving me @haveibeenexpir1, but it is what it is and I need to move forward.

Building is nice, but getting people to notice your work is nicer

Here is where I sank my teeth into growth. I am quite new to writing, so wasn’t aiming to make an educational website that will bring traffic organically. I wanted to knock on the doors of the Search Engines and do the right thing to promote my web-app for the right audience. Thinking about Google Search Console, maybe with a dash of AdWords to get the hang of it. This is the main ‘selfish’ reason for the existence of this project!

Performance issues already?

I notice that Heroku were telling me that some requests are timing out! How is this possible? The app doesn’t do much at all, it’s too soon for performance issues. Looking into the code, I see that crt.sh are doing a great job, but at best effort. If you query for all related certs for, say, google.com, prepare to wait a while. 30 seconds is as much as Heroku will wait for the app to respond before giving up, but this is overly gracious. I don’t want my users waiting more than a couple of seconds for what they came for.

Ok, let’s launch this!

This took quite a bit of coding time by now, can we please get this in front of users, and see how they behave? Google Analytics will help me with more data (first time I’m using it), and I go live on April 5th.

What did I learn?

  • As a techie guy, I wanted tech to blend into the background as soon as possible. Choose boring, I’m not using this project to learn new tech!
  • Stickiness — the problem I chose to address has urgency, but urgency isn’t sustainable. I want to tap into people’s desire to learn, to discover relevant information. Luckily, SSL certificates can offer some of this with the help of the ecosystem around them.
  • Twitter is where I have the most of my negligible social presence on the Internet, and I’m using it to entice wider audiences — out of the 750K followers of eBay on Twitter, a few would probably want to know if there’s an issue with their public SSL cert, right?
  • Don’t be afraid to spend some money on education — $12 for having basic AdWords experience, and knowing what to ask to get more out of the tool is a great bargain for me.

 by the author.



Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store
Anton Drukh

Tech Executive Mentor. Previously VP Engineering and GM Israel at Snyk.