Kyle Givler

projects

Projects & experiments

A selection of things I’ve built, run, and tinkered with. Backend applications, small Internet protocols, developer tools, and mods — not every repository I’ve ever created.

Applications / infrastructure

PacketGarden

A living garden powered by real TCPNoise connection attempts. Probes grow plants; Noise Observatory supplies weather; grass spreads, specimens age, and occasionally the gnomes fight.

.NET 10 · NATS · SSE · PixiJS / Canvas

PlutoAdDetector

An experimental .NET browser-automation tool that watches Pluto TV for ad breaks and switches to YouTube instead. It combines DOM detection, learned visual signatures, queue/resume behavior, and a Windows GUI.

.NET · Playwright · WinForms · Browser automation

Random GitHub

A public repository-discovery app that drops you into a random corner of GitHub. It keeps a shuffled repository pool, renders sanitized READMEs, handles API limits, and supports an optional bring-your-own token.

.NET · ASP.NET Core · GitHub API · SQLite · Mission Control

Developer tools

ReaperShell

An experimental .NET shell for local developer tooling. Write command packs in C#, F#, or VB.NET, then rebuild and reload them while working. Git-backed pack management, completion, history, and line editing keep that workflow inside the shell.

.NET · Command packs · Live rebuild / reload · Git

Networking / protocols

DN42Atlas

A .NET tool for discovering and browsing public services on DN42. It starts from registry data, resolves .dn42 names, conservatively probes web services, respects exclusions and robots.txt, and builds a self-contained viewer from the results.

.NET · DN42 · DNS · HTTP probing · SQLite

tcpnoise / Noise Observatory

Small C sensors watch exposed TCP ports for unsolicited scanners, bots, probes, and payloads. A separate .NET observatory turns that stream into sanitized recent activity and aggregate Internet-noise statistics.

C · POSIX sockets · NATS · .NET · FreeBSD / Linux

SmolSearch

A small search engine for Geminispace. The crawler writes a local SQLite/FTS5 index while the query path stays separate and read-only, so search never depends on a live Gemini request.

.NET · Gemini · SQLite FTS5 · TLS / TOFU

Source

HappyGopher

A .NET Gopher server for static content, dynamic pages, and plugins. Part of my ongoing interest in Internet protocols smaller than the modern web.

.NET · TCP :70 · Gopher · Plugins

HappyGemini

A .NET Gemini server with static content, dynamic pages, and plugin support. Another way to publish things without bringing an entire browser application along.

.NET · TLS :1965 · Gemini · Plugins

The smaller Happy protocols

Echo, Discard, Daytime, Time, QOTD, and Finger: small .NET services for classic protocols. Sometimes a service really can do one tiny thing.

.NET · TCP/IP · Shared server infrastructure

DN42 / Yggdrasil

Ongoing routing and overlay-network experiments, including a multi-POP DN42 network and services reachable across alternative networks. This is infrastructure work rather than one neatly packaged repository.

BGP / BIRD · WireGuard · IPv4 / IPv6 · DNS · Overlay networks

Systems

Game / modding

RimWorld Modding

Performance work, quality-of-life changes, and new ways to interfere with a colony. Representative projects include Replace Stuff: Performance Edition, Better Trade Colors, MiniMap performance work, Panic Zone Toggler, and The Gods Are Real.

C# · RimWorld · Performance / gameplay

RimWorld Workshop