I recently published the second video in the series Building Optionality where I share all the steps I take when building a new product from the ground up. As we discussed in the first video Optionality is literally from the ground up as I'm also building an audience.
This is a not an easy task, but a critical step. Too often developers overlook this step. However, it's important to emphasize that before you even start architecting or writing code for your product you need to do some initial marketing.
In the first article, I talked about how I planned to build a blog and start writing weekly content to cross post on Medium and community forums in an effort to build an audience.
Now admittedly I didn't do much over the holidays, but I want to stay disciplined about making these posts and videos each step of the way.
Since last time I probably spent roughly 10 hours on the project. Here's the breakdown:
- 3 hours setting up the blog.
- 6 hours drafting the first two posts.
- 1 hour deploying everything to the server.
Before I go through each of these steps in more detail, it's important to again point out that this isn't much time. Everything is MVP right now. And right now MVP means minimal effort.
Furthermore, I still haven't built any of the product. Although I wish I had because I mismanaged a few trades during December's downturn. No, right now all my effort is going into building the audience. I'm not down in my office cave hacking away at this huge application for weeks followed by some big bang launch.
I'm going to continue to reiterate this because it's one of the most important things about building products. In fact it parallels nicely with investing in general. Time is money. I don't want to spend a bunch of time building Optionality when it may not generate a return on investment because there is no market.
With that said, let's review each of the three things I did since last time.
First, I finished setting up Jigsaw. Jigsaw actually had a starter template which I was able to use. In fact, I don't know why I didn't see this the first time. Then I went back and watched the first video to verify they indeed updated the docs.
I spent a little time tweaking it, which really meant I jumped out to Google Fonts to give me some a super simple, text-based masthead. Otherwise it's using the starter template. Again minimal effort.
I did spend roughly 30 minutes adding a Read Time feature. I justified this as I felt it helped improve the reading experience. Investment articles tend to be long, so I want to encourage potential readers they can get through these posts quickly. This also acts as a measure for me to keep them similar in length.
A majority of time was spent drafting articles. I found it best to write two articles at a time as this allows me to get a week ahead. Everyone underestimates how much time goes into writing an article. You have to narrow a topic, write a draft, proofread, fact check, add images, tweak for SEO, cross post. It's a process.
Admittedly these first two were probably a bit slower as I was finding the right tone and structure. Although my programmer brain wants to dismiss these nuances, they are critical. These kinds of details help build an audience and ultimately build trust that Optionality will be a useful product.
Finally, I spent about an hour deploying the site. For right now I'm piggybacking some space on one of my existing web servers. While I'm optimistic for the future, optionality.app currently gets little traffic. Again, minimal effort. No need to purchase hosting, spin up servers, etc. If I didn't have server space just sitting, I likely would have looked at Netlify or Amazon S3 before setting up my own server.
On a similar technical note, sometimes as developers we also get caught up in the tools and services. This can be a pretty nasty time drain. Never underestimate the power of a command like
rsync. It's been around since the early days of UNIX and it still crushes the use case of synchronizing remote files.
That's pretty much it this time. Soon I plan to start working on a fuller landing page with a newsletter sign-up. But as outlined in the first video, I need to get a bit closer to my goals before moving on to the next step.