Selected work
Portfolio
A closer look at the projects I have built, grouped by the kind of problem each one solves.
Web applications
Full-stack PHP applications sharing a common approach: PHP 8+, PDO and SQLite, prepared statements, CSRF protection and a responsive, accessible frontend.
Blog
A clean, minimal, responsive personal portfolio blog built with PHP 8+ and PDO/SQLite for the backend, HTML5/CSS3 (Inter) and vanilla JS for the frontend, featuring a secure admin …
View project →
CMS
A clean, minimal, responsive content management system built with PHP 8+ and PDO/SQLite, with a frontend of HTML5/CSS3 (Inter) and vanilla JS. It includes a secure admin panel (pas…
View project →
Forum
A compact, responsive discussion forum implemented in PHP 8+ with PDO/SQLite and HTML5/CSS3 (Inter) plus vanilla JS. It provides secure authentication (password hashing, CSRF), use…
View project →
Store
A minimal, responsive store module built with PHP 8+ and PDO/SQLite, using HTML5/CSS3 (Inter) and vanilla JS. Features include a product catalog with featured images, cart and chec…
View project →
Calendar
A full-featured, responsive calendar web application built with PHP 8+ and PDO/SQLite for robust server-side persistence, and HTML5/CSS3 (Inter) with vanilla JavaScript for a fast,…
View project →
Games
Playable projects built for game jams and for the joy of making something interactive.
404 Kingdoms
A full RTS mini-game hidden inside the 404 error page. Command an army of knights to rescue a kidnapped webpage from dragons. Features real-time strategy mechanics, unit selection,…
View project →
Roombageddon
A 3D action game built in Godot 4.7 for Godot Wild Jam #94, where it placed 24th out of 115 entries. The player controls a robotic vacuum defending a household against everyday obj…
View project →
Let Meowt
Another Godot Engine Wild Jam in the books. I teamed up with Rick Mann and Dianna Koh for GWJ 95, and we put together "Let Meowt" - a 90s-inspired 2D platformer built with Godot 4.…
View project →
Plugins and overlays
Tools that connect to existing applications and surface useful information where people already are.
DPS Overlay (FFXIV)
A lightweight browser overlay for Final Fantasy XIV (FFXIV) that integrates with ACT/OverlayPlugin or connects via WebSocket to receive CombatData and log events. Built with HTML5,…
View project →
CactBridge (FFXIV Plugin)
A custom FFXIV Dalamud plugin written in C# (.NET) that integrates Cactbot alerts directly in-game. It was originally designed for SteamOS on Steam Deck, where Browsingway is harde…
View project →
Client and migration work
Projects delivered for other people, including a legacy migration and a portfolio for a designer.
Olate Download, Music Website Migration
Migrated the Amazing World Music website, which ran on Olate Download with many custom modules not designed to work together. Refactored all modules into a coherent codebase, secur…
View project →
Dianna Koh Portfolio
A custom portfolio website built for a friend, Dianna Koh, a graphic designer, digital artist, and animator. The site features a fully responsive design with a clean, modern aesthe…
View project →
How these projects were built
The details differ, but the principles are consistent across the portfolio.
- PHP 8+ with PDO and prepared statements for data access
- Secure authentication, CSRF protection and strict input validation
- Responsive HTML5 and CSS with progressive enhancement
- Vanilla JavaScript where it adds value, without unnecessary dependencies
- Version control and clear project documentation throughout
Most commercial work is delivered through my business, Nerd @ Technology. The projects here are my own builds and experiments.