---
title: "Projects"
description: "A collection of things I've built over the years."
permalink: "https://obviy.us/projects"
---
# Projects

## Navigation

- [blog](/blog)
- [projects](/projects)
- [gallery](https://gallery.obviy.us/)
- [friends](/friends)

A collection of things I've built over the years. Most are open source.

## Highlights

- [chanson.live](https://github.com/obviyus/chanson.live): An ultra low-latency radio built on WebRTC. Imperceptible de-sync for two devices next to each other on different networks. Built using Remix + Websockets + Python. Previous iterations used Liquidsoap with HLS chunks (latency too high 15s+) and Icecast. I love the idea of listening to music together as a social experience.
- [agentwall](https://github.com/obviyus/agentwall): A macOS sandbox for AI coding agents with file and network approval controls.
- [SuperSeriousBot](https://github.com/obviyus/SuperSeriousBot): A Telegram bot serving 5,000+ users with APIs and chat management features. Built using Python + Docker.
- [Pilane Spotting](https://pilane.obviy.us): A DIY plane-spotting system using YOLO and an old Android phone to identify aircraft flying overhead. Built with Astro for the web frontend.
- [playtime-panorama](https://github.com/obviyus/playtime-panorama): Generate a dense, responsive collage of your Steam library where each game's header image is sized proportionally to your playtime. Built with Bun + HTML/CSS.
- [pong](https://github.com/obviyus/pong): A TUI app to continuously ping all AWS regions and display latencies in a table. Written in Rust.
- **Homelab**: 2 x Raspberry Pi's, a VPS, and my old workstation connected via Tailscale. Orchestrated with Nomad + Consul. Eventually I plan to open-source the configurations.

## Tools

- [uvlift](https://github.com/obviyus/uvlift): Interactive Python dependency updater for uv projects. Written in TypeScript.
- [anki-mcp](https://github.com/obviyus/anki-mcp): A CLI MCP server for Anki using AnkiConnect.
- [ynab-mcp](https://github.com/obviyus/ynab-mcp): A CLI MCP server for YNAB budgeting.

## Bots

- [HamVerBot](https://github.com/obviyus/HamVerBot): #f1's favourite F1 bot on Libera. Counts down to the next Formula 1 race/event. Written in TypeScript.
- [SDTB](https://t.me/StableDiffusionTelegramBot): A Telegram bot running a fine-tuned SDXL 1.0 model (DreamShaper) on serverless A10G/A100 GPUs via Modal. Built with Python.

## Community

- [trilbys-archive](https://github.com/obviyus/trilbys-archive): A searchable archive of every Zero Punctuation and Fully Ramblomatic video transcript. Search for any quote, game, or phrase and jump directly to that moment on YouTube. Built with Astro + Pagefind.
- [gotm-remix](https://github.com/obviyus/gotm-remix): Game of the Month voting site for the Patient Gamers Discord server. Built with Remix + TypeScript.

## Creative

- [shelleport](https://github.com/obviyus/shelleport): A web UI for coding agents anywhere: real-time SSE sessions, tool-call visualization, inline approvals, directory browser, and historical Claude Code import. Native binaries via bun build --compile; systemd/launchd service install.
- [Piquarium](/blog/the-piquarium-project/): A tiny project with my Dad to monitor the temperature of his fish tank(s). Python on Raspberry Pi with some light soldering.

## For Fun

- [Pooductivity](https://github.com/obviyus/pooductivity): A browser extension that replaces all mentions of "productivity" with the poo emoji. Born from frustration with productivity preaching gurus.

