VirtualRare
Portfolio

Work

Side projects, hobby builds and smaller client work. Private repositories are marked as such. The code is not public, but the description is honest about what it does.

Professional work

Zelifcam

My everyday engineering work is at Zelifcam. Larger engagements go through them. Everything on this page is separate. Side projects, hobby builds and smaller client work of my own.

zelifcam.net ↗

Applications

7

Web applications rendered on the server, mostly Grails, htmx and Postgres, built to work on a phone and to keep working when the connection does not.

TimeMemoir

TimeMemoirlive

Timelines assembled and corroborated by the people who were there. You build a spine of what happened and invite the people who remember it; where accounts disagree, the disagreement becomes part of the record instead of being flattened away.

Grails 6.2.3GORM 7Postgres 17htmxTailwind
OBT Portal

OBT Portallive

A multilingual PWA for planning training workshops worldwide, built to keep working when the connection drops. Coordinators, trainers, field partners and guests share one secure place for schedules, personnel, travel documents and messaging.

Grails 6.2.3Spring Security 6Postgres FTShtmxSSE
$ catch_cruise_roatan

Catch & Cruise Roatánprivate

Booking and client management for a boat excursion business in Roatán, Honduras. Built on a declarative architecture of one controller and one data service, over Postgres full text search and pgvector.

Grails 6.2.3PostgrespgvectorhtmxTailwind
Vineyard of God

Vineyard of Godlive

A PWA built for a phone first, for a Christian school. Announcements, calendar, files, prayer wall and messaging for families, plus studios, attendance, grades and badges on the staff side.

Grails 6.2.3Spring Security 6Postgres 17htmxSSE
Clearcandy

Clearcandy

A music streaming server you host yourself, for your own library. Adds genre browsing, one click genre playback, shuffle and installable PWA support on top of Black Candy.

Ruby on RailsPWA
Korean School House

Korean School Houselive

A learning management application for Korean language study, with hand rolled server sent events over Servlet async and Postgres full text search.

Grails 6.2.3htmxTailwindPostgresDocker
Awana Club Management

Awana Club Management

Club management built for a phone, for Awana leaders. Attendance, scripture progress and QR check in, so club night runs on less paperwork.

GrailsGroovyPWA

Terminal

8

Things that run where I actually work. Rust and Python, no browser required.

Phosphor

Phosphor

A digital audio workstation that lives in the terminal, written in Rust. 8 synthesizers, 18 drum kits, 1,275 patches, a plugin system, and zero allocations in the audio path. Runs in the terminal or as a desktop app.

RustTUIGUIaudio
TEK

TEK

A face, a voice and a pair of eyes for a model you already pay for. Local neural speech, local wake word and transcription, and a camera that recognises the people you enrol. Runs on a Jetson Nano or a Raspberry Pi.

PythonJetsonRaspberry Pion device
Cheshire Chess

Cheshire Chess

A chess club that lives in your terminal. Ten computer personalities, 5.8 million puzzles, 62 interactive lessons and online game rooms. No browser, no Electron, works over SSH.

RustTUI
SpaceVim2

SpaceVim2

A maintained revival of SpaceVim after its original author archived it. The same modular distribution built in layers, for Vim and Neovim, cleaned up and kept working the same way on both editors.

Vim scriptLua
slskd-cli

slskd-cli

Search Soulseek, queue downloads and watch transfers without opening a browser. Ships a single binary that works as both a scriptable CLI and an interactive TUI.

RustCLITUI
$ sshing

sshing

An SSH connection manager that runs in the terminal. Keep your hosts organised and connect from a TUI instead of hunting through config files.

RustTUI
clippy

clippy

Create and play animated or static ASCII art in the command line, in colour or monochrome. For roguelikes, screensavers, TUIs and animated logos.

PythonASCII
Lambda

Lambda

A digital entities game rendered entirely in terminal art.

GroovyTUI

Data & research

2

Models and datasets.

Ember

Emberprivate

A personality preservation system. It trains a model on how one particular person actually talks, using LoRA fine tuning over their own conversations, so what comes back sounds like them rather than like a chatbot. Started years ago as RememberMe and rebuilt from the ground up.

PythonPyTorchLoRA / PEFTFastAPIPostgresCUDA
URFA

URFA

The Universal Repository of Flagged IP Addresses. A free, openly accessible dataset of real network attacks that grows and updates itself hourly, with visual breakdowns of where the traffic comes from.

Pythondatavisualisation

Stack

What the work above and the day job have run on. Grails and Groovy most days, but the problem picks the tool.

Languages
GroovyJavaPythonTypeScriptJavaScriptRustRubyPHPC#
Server
GrailsSpring BootOdooDjangoFastAPILaravelRailsFlask
Browser
ReactNext.jsVueAngularhtmxTailwindVite
Data
PostgreSQLMySQL / MariaDBSQL ServerMongoDBNeo4jRedisElasticsearchSQLite
Operations
DockerTerraformGitHub ActionsCaddyLinuxPlaywright