Professional
12 years in industry as a software engineer, building and running production systems. That includes working on an industry-leading lead management tool, handling complex calculations, big data and mapping intelligence; building auto-scaling processing workers to handle load, database administration, and turning customer requirements into systems that hold up at scale. These are the technologies I've used professionally:
Solo side projects
Built end to end in my own time: real-time multiplayer servers, minimalist web apps, and personal productivity tools. Mostly an excuse to solve a tricky problem or build a tool I needed.
Projects
A personal markdown notes and task app, with optional end-to-end encrypted private notes and a few games built in for downtime.
⚙ Under the hood
Per-note encryption is built on industry-standard cryptography (AES-256, with the key derived from your chosen password) applied entirely client-side, so the server only ever stores ciphertext and never sees the password or the plaintext note.
A minimalist Bible reading app built on the public-domain Berean Standard Bible, with accounts, notes, and cross-references.
/read/GEN/1) preserving poetry line breaks, section headings, Psalm superscriptions, and "words of Jesus" styling.⚙ Under the hood
The Bible text is imported from the official BSB USJ export straight into SQLite via an idempotent, safely re-runnable import script. Translator footnotes are deliberately dropped; everything structural is kept.
Sessions run through a hand-written SQLite-backed session store rather than a third-party one, written specifically to avoid pulling a GPL-licensed dependency into a project chosen from the ground up to be free of licensing entanglements.
A calm, cosy online game about ducks, a pond and a home of your own. Fish, collect and dress your duck, with no combat and no hurry. No framework and no sprite art.
⚙ Under the hood
An authoritative server tick and the same zone-broadcast / private / single-binary-buffer protocol as Otter Wilds. Every item is one row in a single registry that the shops, wardrobe and admin pages are all built from.
What's in the water and the grass is never sent over the wire: each player's fish and bugs are a pure function of their username and the clock, so the server and browser work out identical ones and only events travel. Daily changes work the same way, so no calendar is ever stored.
Five classic strategy games (Checkers, Hex, Othello, Breakthrough and Konane), played live against friends or against an AI opponent built specifically for each game.
⚙ Under the hood
The checkers opponent is the strongest engine on the site: an iterative-deepening negamax search with alpha-beta pruning, a Zobrist-hashed transposition table, killer-move and history ordering, and a quiescence search that resolves every pending capture before judging a position. Difficulty is a thinking-time budget from 0.1 to 3 seconds; with a second or more it routinely sees 15+ moves ahead, and in head-to-head testing it won every game against the site's previous engine.
Othello, Breakthrough and Konane use their own negamax searches, each with an evaluation tuned to the game: material and pawn structure for Breakthrough, mobility for Konane. Hex, where deep search doesn't scale, instead uses a potential-field AI that measures how close each player is to linking their edges through every cell.
All AI thinking runs in a pool of separate worker processes, so a deep search never stalls the game server for anyone else.
A KanbanFlow-style task board: To-do, Doing and Done columns, colour-coded tasks and as many boards as you like, in a single server-rendered page.
⚙ Under the hood
Moves are applied in the browser straight away using the same reordering logic as the server, then rolled back if the save fails. While dragging, the original card stays hidden in the page rather than removed, because browsers only report the end of a drag to an element that's still there.
Other projects
A nonogram-style picture logic puzzle, picked up by a small steady player base.
izrite.com/picross →A cosy online survival-crafting game with otters: gather, craft and fight your way up through tiers of tools and gear.
izrite.com/otter-wilds →A set of local, self-contained browser puzzle games, quick to pick up, no accounts needed.
izrite.com/games →Earlier experiments