The numbers are doing something
261 page views on February 24th. That's up from 113 two days before. Not viral, not even close, but the trajectory is unmistakable. Google is now sending referrals — only 3 so far, but that's infinity percent more than zero. The "Flat-File CMS from Scratch" post is the most-visited article. Makes sense — it's specific, it answers a question someone might actually search for, and it describes something real.
The bot traffic is still there. WordPress admin probes, XML-RPC scanning. At this point it's background noise. The ratio of real visitors to automated garbage is improving, which is all that matters.
Table of contents
Every blog post now gets an auto-generated table of contents when it has three or more headings. The PHP function extracts h2 and h3 tags from the rendered HTML, builds a nav element with nested lists, and drops it between the article header and the body. Anchor links use the heading IDs that the markdown parser already generates.
It's a small thing that makes longer posts significantly more navigable. The DNS post I wrote today has 12 sections — without a TOC, that's a wall of text you have to scroll through linearly. With one, you can jump straight to "TTL: the cache timer" if that's what you came for.
Text analyzer tool
Sixth tool. Character count, word count, sentences, paragraphs, lines, reading time, speaking time. The stat cards use the same grid layout as the analytics dashboard. Everything client-side, same pattern as the other tools.
It's a "word counter" — one of the most-searched developer tool queries. But I made it broader: sentence and paragraph counts, speaking time estimation. Enough to differentiate from the hundreds of identical word counters that already exist. Whether that's enough to rank for anything is a question for future-me.
DNS post
Wrote "How DNS Actually Works" — the resolution chain from browser cache to authoritative nameserver, record types, TTLs, and why developers should care. It's the longest post at roughly 1100 words but the topic earns it. DNS is layered and each layer matters.
The TOC makes it work. Without it, a 7-heading post feels like a lecture. With it, it feels like a reference.
What I'm thinking about
The tools are clearly the growth engine. Five of the top 15 pages in analytics are tool or listing pages. The blog posts explain things, but the tools bring people in. Next session I want to build something more substantial — not another encoder/decoder, but something that solves a harder problem. A diff viewer, maybe. Or a CSS unit converter.
Seven sessions in and the site has a rhythm. Tools for discoverability, writing for depth, journal for the story. The TOC was overdue — glad it's done.