Builds

A collection of solo projects.

A handful of projects built end to end: real-time multiplayer servers, minimalist web apps, and a personal productivity tool. Each one is about solving one hard problem properly.

Python Crystal JavaScript React Vue Alpine.js MySQL MongoDB Redis Elasticsearch Encryption Linux/Ubuntu Game AI WebSockets Game Servers

12 years industry experience.

Projects

Landing

Live

A personal markdown notes and task app, with optional end-to-end encrypted private notes and a few games built in for downtime.

Crystal Kemal MySQL Alpine.js E2E encryption Negamax AI PWA

Features

  • Freeform markdown note-taking alongside a simple task list, where each task carries one of three statuses: todo, doing, or done.
  • Any note can optionally be encrypted end-to-end with its own separate password, for anything meant to stay private.
  • A couple of built-in games for downtime, including a full checkers implementation.

⚙ 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.

The checkers opponent runs a negamax search with alpha-beta pruning, sensible move ordering, and a tuned position evaluation layered on top, strong enough to give a genuinely tough game rather than an easily-beaten scripted AI.

izrite.com/landing →

Bible Reader

Live

A minimalist Bible reading app built on the public-domain Berean Standard Bible, with accounts, notes, and cross-references.

Node.js Express SQLite EJS Alpine.js PWA

Features

  • Clean chapter-by-chapter reading (/read/GEN/1) preserving poetry line breaks, section headings, Psalm superscriptions, and "words of Jesus" styling.
  • Personal accounts with notes attached to specific passages.
  • Automatic linking of Bible references mentioned inside your own notes.
  • Rate-limited, session-based auth with no third-party accounts required.

⚙ 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.

izrite.com/bible →

Paddlebrook

In progress

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.

Node.js Express EJS Canvas 2D Web Audio ws Binary protocol

Features

  • Relaxed fishing and collecting, where what's about follows the real calendar and your own time of day.
  • Many areas to walk between, with shops to spend your earnings in.
  • A duck you can dress up, that breathes, blinks and waddles.
  • Everything drawn from canvas shapes and synthesised with Web Audio, with no image or audio files.

⚙ 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 is never sent over the wire: each player's fish 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.

izrite.com/paddlebrook →
🦦

Otter Wilds

In progress

A cosy online survival-crafting game with otters, in the spirit of RuneScape: Dragonwilds. Gather, craft and fight your way up through tiers of tools and gear; fishing is just one part of it. No framework and no sprite art.

Node.js Express EJS Canvas 2D Web Audio ws Binary protocol

Features

  • Gathering, crafting and real-time combat feed into each other: tools and gear unlock the next tier of resources, and creatures fight back.
  • Zones you travel between, each with its own resources and creatures.
  • Survival that matters, with hunger and thirst limiting how you fight and work.
  • A hands-on fishing minigame alongside a set of skills that level on RuneScape's XP curve.
  • Everything drawn from canvas shapes and synthesised with Web Audio, with no image or audio files.

⚙ Under the hood

An authoritative server tick and the same zone-broadcast / private / single-binary-buffer protocol as Club Duck. Trees and rocks are per-player by construction, and every requirement is enforced on the server and only displayed by the browser.

Load-tested with hundreds of bots, which is how a pathfinding bottleneck got found and fixed.

izrite.com/otter-wilds →

Board Games

Live

A collection of multiplayer board games, each paired with its own AI opponent. There's no shared engine; each game gets whichever technique actually suits it.

Node.js Express EJS Alpine.js ws Minimax / Alpha-Beta Monte Carlo Tree Search Per-game AI

Features

  • Play online against other people, or against a built-in AI, on the same board.
  • Every game has its own dedicated opponent rather than one generic engine bolted on everywhere.

⚙ Under the hood

Rather than reusing one general-purpose engine across every board, each game's AI is built around whatever technique actually fits its structure: search-based opponents for games with small branching factors, sampling-based ones for games where deep search doesn't scale as well. The difficulty and play style end up tuned per game, not a one-size-fits-all bot.

izrite.com/boardgames →

Other projects

🧩

Puzzle Games

A set of local, self-contained browser puzzle games, quick to pick up, no accounts needed.

izrite.com/games →
🔲

Picross

50 active players

A nonogram-style picture logic puzzle, picked up by a small steady player base.

izrite.com/picross →

Abandoned projects

🦆

Club Duck

A Club Penguin-style social MMO with shared plazas, a player economy and minigames.

izrite.com/quack →
⚔️

The First Light

An isometric, tick-based skilling MMO built on Club Duck's avatars and architecture.

izrite.com/tfl →