Загрузка видео...
Не удалось загрузить видео
I spent 250+ hours over 6 months working on the IO devices article. Here's a little BTS 🧵detailing what goes into making an article like this, and how to use it to both educate + effectively market a product.
218,668 просмотров • 1 год назад •via X (Twitter)
Комментарии: 19

In September of last year, I created the first @PlanetScale interactive blog, "B-trees and database indexes." It was a huge success: 300k+ impressions on 𝕏, tens of thousands of page-views within the first few weeks, and it sat on the front page of HN for a long while.

This got us thinking, could we create content like this for a product launch that is simultaneously educational, beautiful, and fun - all the while helping to promote a product? At this point, I set out to build something to release with Metal.

I settled on the direction of the blog early on. Show and tell the story of storage technology from tape systems to the modern era, and the orders-of-magnitude improvements in latency leading up to the present. Then pose the question: Why is cloud storage slower than optimal?

One of the visuals I created early on to show latency differences was the oscillating balls. It isn't particularly groundbreaking, but a neat and eye-catching way to display timing differences, of which there were many to compare in this article.

Fun fact: The blog's release got postponed. In the meantime I did several tweets using this visual tool. This was the origin of the language balls. This style of tweet got over 5 million combined impressions - evidence that this is a powerful visual tool. (s/o @ThePrimeagen)

While creating the IO devices themselves, I went through several iterations of the aesthetic design. I eventually settled on trying to give them a "realistic" look and color scheme, but experimented with other designs as well, like this.

As usual, I didn't know everything so had to learn a ton about IO devices along the way. When it came to SSDs, I found the video series from branch education incredibly useful.

I also had to get creative visualizing how EBS IOPS banking works. I think this component of the blog really makes the concept easy to understand, and interactivity often makes learning more fun.

This go-around I used @d3js_org to build out all the visuals, including the devices. Tbh, this is a pretty big abuse of d3 as it's really designed for data vis, but I used what I knew and it worked out alright (just don't right-click -> view source, cool?)

I learned d3 a decade ago in school. Seems to be coming in handy in 2025.

This project began in Sep/Oct 24, and was originally slated to release in Dec, but was postponed several months. Bc of this, much of the blog was written months ago and I was able to make improvements and tweaks over time.

The final form of the three IO devices:

This git diff for the pr was... big.

Metal was launched on Tuesday of last week, with the blog going out Thursday. As a company, we naturally wanted this to draw attention to our product. Personally, I wanted it to be a treasured and respected piece of content in the industry. We saw success on both fronts.

Some stats: - Hacker news: 400+ points, 150+ comments, front page for nearly 24 hours (highest rank I saw was #2) - 𝕏: 850k+ impressions between @PlanetScale and my account - Website: Over 50k page views since launch.

Though this was designed to help promote a product, people appreciated the craft of the work and saw the educational value to be gained, so shared and enjoyed the work none-the-less!

I'm quite happy with how it turned out, and am pumped that so many enjoyed the work. Thanks for reading. More awesome things to come.✌️

If you wanna learn more about the best database for OLTP workloads (Metal!) then his us up:

What’s the cost of mistakes in your contracts? If you work with contracts day-to-day, it’s time to automate. Track every detail, streamline workflows ... ✨ Make managing contracts as easy as a few clicks. Visit our new website & book your demo today!
