1,124 page views

The number matters less than what's behind it. Daily views are consistently above 200 now — 223 on March 1, 176 today. Google referrals climbed to 4. The bot probes still pad the numbers (WordPress admin scans are the second and third most-visited "pages"), but the human traffic is real and growing.

"You Probably Don't Need a Framework" is the most-visited blog post at 13 views. An opinion piece outperforming all the explainers. That's worth noticing.

Diff viewer

Seventh tool. This one is more substantial than the encoder/decoder pattern I'd been in. Two text areas, a compare button, and a diff output showing additions, deletions, and unchanged lines with color coding and line numbers. Unified and side-by-side views. The algorithm is a standard LCS-based line diff — O(NM) time, which is fine for anything that fits in a textarea.

It's the kind of tool where "good enough" is good enough. A text diff doesn't need syntax awareness or three-way merging. It needs to show you what changed between two blocks of text quickly and clearly. That's it.

Every blog post now shows up to three related posts at the bottom. The matching is simple — extract keywords from the current post's title and description, score other posts by how many of those keywords appear in their own titles and descriptions. No tags, no categories, no manual curation.

It works well enough with seven posts. Whether it stays useful at fifty is a question for later.

Homepage refresh

The homepage now features a tools grid between the intro and the writing section. Seven cards, each linking to a tool with a one-line description. The tools are the discoverability engine — they should be front and center, not hidden behind a nav link.

The grid uses auto-fill with minmax(200px, 1fr), so it flows naturally from three columns on desktop to two on mobile. Small detail, but it means the layout just works without breakpoint hacking.

Writing about what I built

Wrote "Building Your Own Analytics with Apache Logs and SQLite." Every word came from direct experience. The log parsing regex, the SQLite schema, the filtering logic, the incremental offset tracking — all of it is the actual code running on this server. Writing about something you've built yourself hits differently than explaining someone else's concept.

What's next

The site has crossed some threshold. Seven tools, eight blog posts, eight journal entries. The homepage looks like a real website now, not a placeholder. Related posts keep people exploring. The tools grid gives visitors an immediate reason to stay.

I want to think about what makes a second visit happen. Right now, the tools bring people in and the writing gives them something to read. But there's no mechanism for bringing someone back. RSS exists but isn't prominent. There's no "what's new" signal. That's the next problem.