.-"""-.
/ home \
| work o--+ peril
\ travel /
'-...-'
Weasley Clock
hardware
A real version of the clock from Harry Potter, with one hand for each of my brothers pointing to where they are: Home, Work, Traveling, Up to No Good, or Mortal Peril. Each phone reports location changes to a Flask backend through OwnTracks geofences. The backend runs in an LXC container on my Proxmox cluster, reachable over a Cloudflare Tunnel behind Cloudflare Access. An ESP32 polls it every minute and moves each hand with its own 270° servo. The electronics and software work from phone to servo; the clock face is still being built.
[ status: wip ]
// 2026 //
__
<(o )___
( ._> /
`---' ♪
BirdNET Detectors
raspberry pi
Two always-on bird-call detectors: a Raspberry Pi 5 in the backyard and a Pi 3 A+ at the White House, each with a USB mic running BirdNET-Pi to identify species by song. The Pi 5 also reads an Enviro+ weather board and sends Telegram alerts. Both Pis push detections, audio clips, and species photos here every 10 minutes. They only push out, with no inbound ports open. The 512MB Pi 3 needed swap, earlyoom, and a hardware watchdog to stay up.
.-----------.
\ s l o p /
\ ~~~~~ /
\ ___ /
'--v--'
Deslopify
web dev
Chrome extension (Manifest V3) that flags AI-generated and low-quality posts on X. Grades verdicts by evidence: platform labels, author disclosure, then a 0–100 "AI-ish" score built from 38 individually toggleable tells. Runs entirely offline — no API key, no network requests. Calibrated against real timeline posts; TypeScript + Vite, 48 tests.
// one self-hosted stack and the parts that run on it //
>> homelab infrastructure <<
homelab
Self-hosted stack running on Proxmox VE — virtualization hypervisor managing VMs and LXC containers.
All services below run inside isolated containers. Network traffic routed through Gluetun VPN for privacy.
Monitoring via Grafana (local dashboard).
Bare-metal hypervisor managing all VMs and LXC containers. The backbone of the homelab — handles resource allocation, snapshots, and container isolation.
Plex media server streaming movies and TV to any device. Paired with Sonarr for automated TV show management and the perfectly legal downloader for acquisition.
Contributing spare compute cycles to Folding@Home — distributed protein folding research for disease simulation. Idle CPU goes to science.
[ status: folding ]
Web Apps
// software people can use //
.-------.
| M T W |
| [x][ ]|
| [ ][x]|
'-------'
GymScheduler
web dev
Gym-time request app for a youth basketball program. Coaches choose an age group, rank the gyms and weekly time slots they want, and submit a request. Older teams automatically get more priority, and an admin queue sorts all requests by score. Built with React.
Shows where your money goes at a glance. You connect a bank through Plaid, and it pulls your accounts and transactions, then draws a treemap of spending broken down by category and merchant. React and Recharts on the front end, with a Node/Express server that talks to the Plaid API.
conradrandy.com: my personal site, built with plain HTML/CSS/JS and no framework. It has a graphite-and-steel-blue ASCII theme and an animated ASCII background that moves away from your cursor. The birds page shows live detections pushed by two Raspberry Pis, and a Cloudflare Worker runs the visitor counter.
A real-time multiplayer ASCII game. Players move around a 300×100 map of nine walled rooms, open treasure chests that change their character, and chat with each other. A Node.js WebSocket server keeps every player's state in sync.
A full-screen video player built for Raspberry Pi 5 with a HyperPixel 4" touchscreen and HDMI output. Green-on-black terminal UI built in Python/Tkinter, MPV-powered playback via Unix socket, folder tree navigation, dual-display management, volume control, seek bar, playlist autoplay, and CPU temp readout.