Projects

Where this started

My first Linux install was Slackware in 1996. I was in IT at the tail end of DOS and Windows 3.x and the start of Windows 95, and viruses were rampant. I wanted a computer I could work and play on, and didn’t feel a Microsoft product would let me.

First boot? “Toto, I’ve a feeling we’re not in Kansas anymore!” Back then it was hard to make it your own, because you spent so much time getting everything working before it broke again … if it wasn’t a driver acting up, then it was X running like ass and looking like sh!t … or the f#cking modem would just dump on you. I was project co-lead on Gentoo Linux’s port to Sun Sparc32 and Sparc64.

At the CMP Media XChange 2004 show in Chicago I watched a Linux vendor try to lock users in for updates and support. They tried to close an open system and failed. About a year later I went into business for myself and built that business model to be open, and I’ve taught quite a few people to run a successful MSP. The repos below are where that open streak lives today.

Everything here is public on my GitHub, and the weekly field notes on how it all comes together live on geekthegreybeard.github.io.

Rabbit R1 games and gear

A cartoon penguin slides belly-down down a winding snowy race course at night, spraying snow past red gate flags and gold-tipped pine trees.

Snowline Sprint

Rabbit R1 games and gear ·  JavaScript 

Tux races belly-down against 3 penguin rivals on 25 alpine courses, built for the R1’s 240 × 282 screen. Tilt to steer, double-tap to jump, and roll the wheel to boost or brake.

View the repo · Play it in your browser

A pearl marble sits at the top of a ramp on an isometric floating maze of navy tiles with gold edges, glowing cyan pads, a bowl and a purple block.

Marble Madness 3D: Momentum Lab

Rabbit R1 games and gear ·  JavaScript 

My isometric marble game for the R1. 25 courses with banks, bowls and ramps, plus moving platforms, elevators and floors that fall out from under you if you hang around too long. Tilt is how you steer.

View the repo · Play it in your browser

A gold marble rests inside a top-down stone tilt maze with gold-edged walls on a navy background.

Marble Madness

Rabbit R1 games and gear ·  JavaScript 

The 2D tilt maze for the R1. 20 levels, 3 difficulties, bombs, bounces and a touch D-pad if you’d rather not tilt.

View the repo · Play it in your browser

A glowing 10 by 10 grid of cyan X marks and gold O marks, with a diagonal run of gold O marks lit up as the winning line.

Tic Tac Toe Extreme

Rabbit R1 games and gear ·  JavaScript 

Tic-tac-toe, but you need 5 in a row on a 10×10 board to beat the R1. Pick an easy, medium or hard AI, and it keeps score of your wins, draws and losses.

View the repo · Play it in your browser

A tiered, 3D-printed charcoal desk rack holding rows of small square gadgets, with pliers, a tool cup and a glowing print nozzle nearby.

RabbiRack

Rabbit R1 games and gear ·  Python 

A modular, 3D-printable desk rack for Rabbit r1 devices. Print 1 cell or join a bunch into rows and columns on expandable bases. My models and source files are free to use under CC0.

View the repo

An exploded view of a small square handheld device: its case, circuit board and 2 glowing translucent OS layers stacked above it.

Splat-I Rabbit R1 OS

Rabbit R1 games and gear ·  Shell 

Build notes and files from bringing the Rabbit R1 up on CipherOS (Android 16), plus the RaBobster lockscreen, icons and screenshots. Written so you don’t have to be an Android ROM expert to follow along. Cute bunny art by James Bubenik.

View the repo

AI, automation and MCP tools

A network of rounded workflow nodes joined by lines, with a magnifying glass inspecting the center node, a shield checkmark and 2 warning triangles.

n8n Template MCP OSS

AI, automation and MCP tools ·  JavaScript 

An MCP server that searches public n8n workflow templates and risk-checks them for webhooks, code nodes, sketchy external calls and secrets before you import anything. It won’t do a live import on purpose.

View the repo

Film strips and an audio waveform flow into a server box full of gears and come out the other side as new film strips and frames.

ffmpeg-API

AI, automation and MCP tools ·  Python 

A small FastAPI service for the everyday FFmpeg jobs: convert audio and video, pull audio out of video, grab frames, strip silence. It ships with an MCP server so agents can use it too. A standalone Splat-I module.

View the repo

A glowing globe ringed by analog clocks showing different times, connected by dotted lines to a small server stack.

Timedate API & MCP Server

AI, automation and MCP tools ·  Python 

Send it any IANA timezone, get back the current time, date, UTC offset and abbreviation. A tiny FastAPI app with an MCP server on top, so an AI assistant can ask what time it is too.

View the repo

An audio waveform turns into floating memory cards, and a hand gives a thumbs-up to one card as it drops into a glowing database stack.

OMI-Memory-Supabase

AI, automation and MCP tools ·  Python 

Self-hosted memory management for Omi using n8n, Postgres/Supabase and a FastAPI review UI. Omi captures get treated as evidence, and nothing becomes a real memory until you review it. Proof of concept.

View the repo

Sticky-note task ideas flow through a glowing checkmark gate into a board of approved, checked-off task rows.

OMI-Tasks-Supabase

AI, automation and MCP tools ·  Python 

Same idea as OMI-Memory, but for tasks: a self-hosted review UI plus a Postgres schema. Omi action items land in a review queue and only become real tasks once you approve them. Built with FastAPI, Postgres/Supabase and Docker Compose. Proof of concept.

View the repo

A dark navy panel with 2 circular usage gauges, one gold and one cyan, partly filled, with a small clock between them for the reset timers.

Codex Limit Watcher

AI, automation and MCP tools ·  JavaScript 

A Linux desktop app that keeps an eye on my Codex 5-hour and weekly usage limits and when they reset. Light and dark modes, a mini mode, and your account number is masked by default. MIT licensed.

View the repo

Hardware automation

A dark standing desk with cyan up arrows beside its legs and a small controller circuit board wired to the control box under the desktop.

IKEA Desk Automation

Hardware automation ·  Python 

Runs IKEA/LINAK standing desks over Bluetooth on Linux, no Home Assistant or cloud needed. An optional Intel RealSense depth camera can raise the desk when I walk away and bring it back when I sit down. Still a prototype, and it dry-runs by default.

View the repo

Just for fun

A cube built from carved jade mahjong tiles floats in starry space with a few loose tiles drifting around it.

Jade Cube: Cosmic Mahjong

Just for fun ·  Python 

Mahjong with floating jade boards, illustrated HD tiles and music visualization. Play solitaire or traditional Mahjong against the computer. This repo holds the published site only, and the code, art and music rights are reserved.

View the repo · Play it in your browser

GeekTheGreyBeard