
Back in 2023, I wrote a note about rebuilding my blog. I started with "what screens do I need?" and "which libraries should I use?" — Home, Series, Tags, Books, Links, About. I lined up the pages first, then worried about how to build the newsletter and comment features.
Looking at that note three years later, I realize I was drawing the features first and planning to fill in the information later. It should be the other way around. Decide what information you want to show and how, and the screens will follow naturally.
So this time, let me break down "what's needed" into five layers.
1. What goes into a single post#
The smallest unit of a blog is a post. Once a single post is built well, everything else just sits on top.
Here's what every post needs:
- Title and body — obvious, but where most of your effort should go
- Published date and updated date — technical content ages fast, so "when this was written" affects trust
- One to three tags — pile on too many and they lose meaning
- Reading time — gives the reader a chance to brace themselves
- Table of contents — essential once a post gets long
Then come the presentation pieces:
- Code blocks — per-language highlighting, line numbers, copy button
- Images — both inline images and an OG (Open Graph) hero image
- Quotes, tables, callout boxes — for emphasis and comparison
The OG image matters more than you'd think. It decides the first impression whenever your link gets shared on social media or messengers. Even if you don't draw one by hand, a simple OG generator that auto-renders the title and date keeps your posts looking consistent wherever they travel.
2. Information that helps people find your posts#
Good posts don't matter if readers can't reach them. A blog has to provide paths to find the posts, too.
There are roughly four arrival routes:
- Home (latest posts list) — the most common entry point
- Tag pages — a collection of posts on the same topic
- Series — a bundle of posts that go deep across multiple parts
- Search — for readers who already know the keyword
The one people often forget is RSS. People keep saying RSS is dead, but plenty of technical blog readers still consume content through feed readers. Generating an RSS XML file on a static site costs almost nothing, and the return is surprisingly large.
Wait to build a series until you have at least three posts you're sure you want to write under the same theme. Designing a series upfront feels heavy and kills the writing.
3. Information that brings people back#
A blog isn't a one-and-done visit. You need devices that bring readers back to keep the writing sustainable.
The strongest one is the newsletter. RSS is "the reader comes to fetch it," while a newsletter is "I send it to them." You don't even need to build it yourself — Buttondown or ConvertKit have free tiers. Back in 2023, "how do I implement this?" was the question. Today, you just plug it in.
Lighter devices help too:
- Related posts — show next reads from the same tag or series at the bottom of a post
- Previous / next — make navigation inside a series feel natural
- Short, bookmarkable URLs — the
/posts/[slug]shape is also friendly to search engines
Comments are surprisingly low priority. Wiring up GitHub Issues or Giscus is easy, but a blog without comments works perfectly fine. If nobody comments, the empty section just looks sadder.
4. Information that shows the writer#
Even a technical blog is ultimately a space that shows a person. The same content carries different weight depending on who wrote it.
An About page needs roughly this much:
- A sentence or two of self-introduction
- What you're working on and what you care about now
- Contact info (email, GitHub, LinkedIn is enough)
- External channels — YouTube, newsletter, social links
You don't have to write a long bio. Once posts pile up, the posts themselves become the introduction. The About page only needs to show "what this person is doing right now."
You can add some side pages:
- Books — books you've read with the passages that stuck. If summarizing a whole book feels heavy, leaving a single line from page 22 is enough
- Links — blogs you read regularly, your peers' writing, sites that inspire you
- Now — a nownownow.com-style single page for "what I'm up to lately"
These side pages are for people, not for search traffic. To a returning reader, they're a strong signal.
5. Things you don't have to build#
Looking at that 2023 note again, I had planned to build a mind map screen — tags connected as nodes and edges to show the flow of my studies.
Now I think that's not a blog, that's a separate project. Before you have around 50 posts there's nothing meaningful to visualize, and even when you have it, readers arriving from search won't look at it. It would take a month to build, and that's five posts you could have written instead.
Other things you can deprioritize:
- Heavy search engines — fuse.js running in the client is plenty for a static site
- Customizable dark mode — just following the system preference is fine
- A comment system — same reason as above
- Visitor stats widgets — one line of Google Analytics or Plausible is enough
What kills a blog is not having posts, not lacking features.
So what do you actually need?#
Compressing the five layers into one line each:
- A structure where a single post reads well
- Paths that help readers find posts (list, tags, series, search, RSS)
- Devices that bring readers back (newsletter, related posts)
- Pages that show the writer (About, Books, Links)
- Only as much functionality as doesn't threaten the four above
What my 2023 note was missing was priority. Without deciding what to build first and what to defer, the screen list just keeps growing.
If I rebuilt now, I'd start from a single post and expand outward. Posts have to exist first — that's what gives tags, series, and newsletters their meaning.
He who fears being conquered is sure of defeat.
— Napoleon Bonaparte


