blog · 7 nov 2026
Why I'm building hlog
I keep an archive of ideas. Most of them should stay there. Going through it recently, I found a note from years ago that I couldn't stop thinking about: what if people kept a log the way servers do?
Every developer reads logs all day. A timestamp, a level, one line of text. Nobody writes a log entry to impress anyone; it just says what happened, in order. I wanted that for the human side of building things: what I learned, what broke, what shipped, what I noticed. So I built it. It's called hlog.
- 2026-11-07T11:40:19+05:30LEARNpostgres advisory locks are session-scoped, not transaction-scoped.
- 2026-11-07T18:02:51+05:30WIN shipped the import flow. one line at a time.
The process is the product
Most places where developers share things show the finished version: the launch post, the polished thread, the case study. The useful part is usually what happened before that: the wrong turn, the thing that finally clicked at 1am, the bug that turned out to be a typo. That's what a log captures, because it's written while it happens, not afterwards.
hlog's own build is logged at @hlogdev. There's an ERROR line in there that should have been a WIN, and right after it, a line correcting it. That's the whole idea in two lines.
Raw and unfiltered: you can't edit a line
Lines are append-only. Once written, a line can't be changed, by you or by me; the database refuses. The timestamp comes from the server, so you can't backdate one either. If you got something wrong, you write another line, the way you would in a real log. It sounds strict, but it takes the pressure off: there's no draft to polish, so you just write the line and move on. (key concepts)
No friction: the command line first
If logging takes more than a few seconds, I won't do it. So hlog lives where I already am, in the terminal:
hlog learn "advisory locks are session-scoped"
hlog win "shipped the import flow"
hlog tail -fThere's a web version too, a JSON API, and an MCP server so an assistant can log a line when you ask it to. But the shape is always the same: one line, a level, a timestamp. (the command line)
Private by default, public by level
Your log is private until you decide otherwise, and you decide by level. Maybe your LEARN and WIN lines are public and everything else stays yours: the WARNs, the ERRORs, the DEBUG noise. You can also share or hide a single line. Nothing becomes public by accident. (share, retain, export, delete)
No counts, no performance
There are no likes, no reposts, no follower counts, no streaks and no algorithm. You can tail someone (follow their public lines), and their lines show up in your feed, newest first, and that's it. There's no follower count anywhere public: you can see who tails you in your own settings, and nobody else can. Without numbers to chase, there's nothing to perform for. You write the line because it's true, and because future you will want it.
It is social, quietly: you can find people who opted in at everyone, tail them, and reference a line of theirs in your own (re @maya#42). (tail people & reference lines)
FAQ
Is it Twitter? No. There are no likes, reposts or counts, and no algorithm deciding what you see. Lines are short like tweets, but they're entries in your own log, not posts to an audience, and most of them stay private. The closest thing to a reply is referencing someone's line in your own log.
Is it LinkedIn? No. LinkedIn is where the finished, presentable version goes. hlog is the unedited record of getting there. If you want to turn a week of it into a post somewhere else, there's a "copy as post" on your weekly review. You do the posting.
Is it a microblog? Closer, but no. A microblog is written to be read. A log is written to be true, in order, at the time; being read is optional. And unlike a blog, nothing can be edited after the fact.
Is it Hacker News? No. There's no voting, no ranking and no front page. HN is about finding the best links; hlog is about keeping your own record. The everyone page is newest first, never ranked.
So what is it? A log for humans. Short, timestamped lines about what you learn and build, formatted like the logs developers already read every day, private until you share a level. The rules are on about.
Try it
Start at hlog.dev or with cargo install hlog (getting started). Your first line can be anything you learned today. And if something about it is confusing or wrong, tell me: I read every message.