Personal Projects
A subset of things I run on my own self-hosted infrastructure, containerized, reverse-proxied, and maintained as personal projects. It's a reasonable indication of what I do when nobody's paying me to.
⥠All services are self-hosted on personal hardware. Uptime is best-effort, not SLA-bound. Lab projects, not commercial offerings.Featured Builds
A fork of Dustin Brett's DaedalOS project, a full desktop operating system experience running entirely in the browser. No install, no VM, no plugins. It boots a complete windowed environment with apps, a filesystem, and a terminal, all in a browser tab. I've hosted and customized this instance as a showcase of what's possible with modern web infrastructure, and as a demonstration of the kind of immersive, unconventional hosted experiences I can build out for client environments.
A custom live TV channel built on Plex and DizqueTV. When a viewer lands on the page, the server spins up an ffmpeg process and begins rendering a live stream on-demand. The ffmpeg process terminates automatically when the viewer pauses or leaves, tracked via session state to prevent zombie processes. The channel pulls from my Plex library and schedules content through DizqueTV to simulate a broadcast experience. A good demonstration of on-demand server-side media rendering and session lifecycle management.
Professional
A hosted, browser-readable version of my professional resume. Structured for readability, no PDF download required.
Public-facing uptime monitoring for my self-hosted services. Real-time status checks, incident history, and response time graphs via Uptime Kuma.
Emulation Deployments
Browser-based N64 emulation running Zelda: OoT. Works across all platforms and mobile without plugins or downloads.
GBA emulator running Zelda: The Minish Cap fully in the browser. Works on desktop and mobile without any setup.
SNES emulator running Super Mario World in the browser. No ROM hunting, no setup, load and play on any device.
A ROMM instance serving a full library of games accessible via browser. Multiple platforms, one self-hosted interface.
Tools & Utilities
Self-hosted multiplayer chess. Shareable game links, real-time play, no account required.
Self-hosted Mermaid.js editor for creating infrastructure diagrams, flowcharts, and sequence diagrams. Useful for IT documentation.
A diagnostic tool that simultaneously queries multiple IP sources, including WebRTC leak detection, to identify split-tunnelling behavior, Zscaler proxy IPs, and real vs. proxied public addresses. Useful when auditing VPN or ZTNA configurations.
Prevents your device screen from sleeping using the Screen Wake Lock API. Handy for keeping displays active during demos, installs, or monitoring sessions without changing system settings.
Logs and visualizes mouse movement in real time, useful for debugging automation scripts, verifying simulated input events, or testing whether mouse activity is being correctly detected by monitoring software.
A tribute to slow.com, the iconic site that ran for 20 years playing a single looping video. A small piece of internet history, preserved.
Community & Data
A fully scraped and auto-updating events calendar for the City of Pickering, Ontario. Rather than checking the city website manually, subscribe to this ICS feed directly in your calendar app, events show up automatically as they're posted. Updated regularly via scraping the official Pickering events page.
If you're a Boom 97.3 listener, this is a daily export of every song played the previous day, scraped and formatted as a plain text playlist. Feed it into your own automation: an iOS Shortcut, a Python script, or a service like Zapier can parse this and automatically add songs to your Spotify, Apple Music, or YouTube Music library. Updated daily.
Tip: Use an iOS Shortcut with "Get Contents of URL" â parse lines â "Add to Music Library" to auto-save songs each morning.
Under the Hood
Every service here is self-hosted, containerized, reverse-proxied through NGINX, and monitored via Uptime Kuma. The stack includes TrueNAS for storage, ESXi/Proxmox for virtualization, and a mix of Docker and bare-metal deployments. This is the same kind of environment I design and manage for clients, just at a smaller scale with more room to experiment.