The personal site, refreshed →
A Constitution-led redesign of nicolaijohannesen.com — 34 documented decisions in one day, and the reusable substrate that compounded as a byproduct. Read the project page.
Things I've shipped, notes from work in progress, occasional photographs. Reverse-chronological. Updated when something is worth saying.
A Constitution-led redesign of nicolaijohannesen.com — 34 documented decisions in one day, and the reusable substrate that compounded as a byproduct. Read the project page.
Three bugs in the trading-hours chart, all related to what happens across weekends and holidays. Closed-day bars were either invisible or painted onto the wrong local hours. The next-open countdown hardcoded one day on non-trading days instead of computing across the actual gap. The countdown format read either too vague or too precise.
Now: hours-primary format (6h 43m, 23h, 62h — what the eye actually reads), real next-open computed across weekend and holiday gaps, and the weekend-boundary clipping marked load-bearing in the code with a regression test, so a future cleanup pass doesn't quietly remove it.
I kept running into timezone friction when I traded from Asia. Earnings calls landed in the middle of the night, charts came labelled in timezones that weren't mine, and I had to do the conversion in my head every time. It was annoying.
So I built a small site that fixes it. One screen, your markets, your timezone. The first version is rough but it does the one thing.
The wiki I keep has a rule that surprises people: every page gets a version number, bumped on every edit. Not a git hash — an integer the page itself shows. v3, v4, v5.
It sounds bureaucratic. In practice it's the single feature that makes the thing feel alive. When you can see a page has been touched seventeen times, you trust it differently than the first draft of the same idea.