Origins

Written by @JakeHarding on January 18th, 2021

The idea for Vicariously has been on my list of "things I should build, but will probably never get around to and hate myself for it" for years. I thought the idea was simple, clever, and original – everything you'd want out of a fun side project. I would later learn that it was only simple and clever at best.

In January 2018 (probably while all my friends were partaking in a sober January and my social life took a nosedive), I purchased the vicariously.io domain and built a prototype. It worked just as I imagined, but using lists on the Twitter iOS client was such a pain I quickly lost interest in the project and it was left to collect dust with all my other abandoned side projects.

Fast-forward to July 2020 and I found myself barely using Twitter due to my home timeline being so miserable. I never used to miss a tweet; Now, I rarely opened the app. Granted, this could have just been a reflection of the time, but I believe it was more due to poor curation on my part. I took a peek at the lists I had previously made with the Vicariously prototype to put this theory to the test. Lo and behold, I enjoyed the content on those lists! Twitter was fun again! On top of that, I discovered it was now super easy to access lists through the Twitter app.

With a renewed interest in Vicariously and an assist from COVID-19 to free up all my weekends, I was now determined to build and deploy a tool I knew would upgrade my Twitter experience. The initial feature set was simple:

  • Log in with Twitter
  • Create a list and populate it with the follows of a given Twitter user
  • Sync the created lists daily to ensure they stayed up to date

For once in my life, I finally had a weekend project that could be completed in a weekend. Using NextJS and Tailwind, I was able to stand up a simple, functional UI in a few hours. I had already completed the backend logic two years earlier when I built the initial prototype, so implementing that was just a matter of porting it over to my new project. The only thing I had to put thought into was how I wanted to implement the daily syncs. For side projects, simple is always better, so I created a worker using node-cron and spun up a DigitalOcean droplet to run it on for $5/month.

Vicariously 1.0 was complete and available for the world to use. Did I think anyone other than myself would use it? No, not really. But hey, if you spend a weekend building something, you might as well tweet about it to make the launch official.

I never expected that all this would lead to Vicariously having its 15 minutes of fame in only a matter of weeks, but that's a blog post for another day.

Thanks for reading. If you haven't started using Vicariously yet, it's never too late!