Skip to main content
  1. Posts/

Rebuilding This Site

·2 mins·
Table of Contents

I’ve had a version of this site for a few years and it has mostly been an empty theme with someone else’s demo content in it. That’s a fair description of a lot of personal sites, and it’s a slightly embarrassing thing for a web developer to leave lying around, so I’ve rebuilt it properly.

What’s here now
#

Two things worth clicking. The projects page has the work I’d actually point at in an interview — production applications, mostly Next.js, a Web3 game, and a LaTeX template that has more stars than any of them. The resume is the same information in the format people ask for.

What I want to write about
#

Most of my experience is in shipping web applications under a deadline for a real audience — a few hundred concurrent exam takers, ten thousand visitors during an orientation week, a screen on a wall that has to still be running next month with no one watching it. That work generates a specific kind of lesson, and I lose those lessons if I don’t write them down.

More recently I’ve been designing benchmarking tasks for agentic AI models, which means spending my days trying to articulate what a correct solution to a software problem actually looks like. That turns out to be much harder than solving the problem, and it’s changed how I write code.

The one thing I keep coming back to
#

The project on this site I’m proudest of has no database.

It’s a live tracker for Qurban processing at a local mosque. The volunteers who update it use a Google Sheet, and the site reads from that sheet. I could have built an admin panel. It would have looked far more like real engineering on a portfolio page.

It also would have been worse. Building it my way would have meant training a group of volunteers on unfamiliar software during the single busiest week of their year, so that I could feel better about my architecture diagram. The best decision in that project was recognising that the boring option was correct.

I suspect most of what I have to say fits somewhere under that heading.

Related