[
    {
        "node": {
            "name": "guikit",
            "description": "Build simple GUI programs in Java (an extension of PicoEngine)"
        }
    },
    {
        "node": {
            "name": "pastefs",
            "description": "A filesystem based around hosting your files in someone else's cloud"
        }
    },
    {
        "node": {
            "name": "containerFIRST",
            "description": "An entire FRC software development toolsuite in a Docker container"
        }
    },
    {
        "node": {
            "name": "snapterm",
            "description": "Share your terminal to SnapChat"
        }
    },
    {
        "node": {
            "name": "GhostStat",
            "description": "Share your Google Fit or Apple HealthKit stats in SnapChat"
        }
    },
    {
        "node": {
            "name": "homebase",
            "description": "A webapp for tracking meeting participants"
        }
    },
    {
        "node": {
            "name": "swarm",
            "description": "A virtual experiment in swarm-based robotics"
        }
    },
    {
        "node": {
            "name": "pysnapcode",
            "description": "Python scripts for working with snapcodes"
        }
    },
    {
        "node": {
            "name": "pixypose",
            "description": "An experiment in pose estimation with computer vision"
        }
    },
    {
        "node": {
            "name": "PathChaser",
            "description": "An experiment in autonomous movement inside an urban environment"
        }
    },
    {
        "node": {
            "name": "libJames",
            "description": "Query @rsninja722's life from inside Python"
        }
    },
    {
        "node": {
            "name": "Rayzor2",
            "description": "A faster implementation of the Rayzor rendering engine"
        }
    },
    {
        "node": {
            "name": "tictacsolve",
            "description": "A program for deciding the optimal move in tac-tac-toe for any given board state"
        }
    },
    {
        "node": {
            "name": "yubiparse",
            "description": "A simple library for parsing yubikey OTP strings"
        }
    },
    {
        "node": {
            "name": "ewvector",
            "description": "Vectors, Quantities, and Sizes"
        }
    },
    {
        "node": {
            "name": "driverstation",
            "description": "A tool for transmitting X-Input data to robot controllers running FRCNetComm"
        }
    },
    {
        "node": {
            "name": "learning-drake",
            "description": "Source code from my process of learning how to use DRAKE"
        }
    },
    {
        "node": {
            "name": "roborank",
            "description": "A tool for ranking FRC teams"
        }
    },
    {
        "node": {
            "name": "rules_avr",
            "description": "Bazel rules for build code using AVRC "
        }
    },
    {
        "node": {
            "name": "tvdsb-student-life",
            "description": "The TVDSB Student Life app"
        }
    },
    {
        "node": {
            "name": "statix",
            "description": "Easily configurable and scriptable status bars"
        }
    },
    {
        "node": {
            "name": "vessl",
            "description": "An experiment in isometric game development"
        }
    },
    {
        "node": {
            "name": "celltrackd",
            "description": "A tool for tracking people based on their network connectivity"
        }
    },
    {
        "node": {
            "name": "bust_scripts",
            "description": "Experimental bustabit betting scripts"
        }
    },
    {
        "node": {
            "name": "tapatalk-api",
            "description": "Interact with tapatalk via Python"
        }
    },
    {
        "node": {
            "name": "sliding-arm-manipulation",
            "description": "A project to design a system with a single jointed arm on a slider"
        }
    },
    {
        "node": {
            "name": "fsession",
            "description": "A simple library for sorting files based on the current session"
        }
    },
    {
        "node": {
            "name": "SnapAbuse",
            "description": "A script for quickly dealing with spam snapchat accounts to determine what they are trying to do."
        }
    },
    {
        "node": {
            "name": "simple-sensor-fusion",
            "description": "A small Java library and Android webapp for pose estimation of an FRC robot"
        }
    },
    {
        "node": {
            "name": "obfuj",
            "description": "A demonstration of visually obfuscating Java code"
        }
    },
    {
        "node": {
            "name": "backblast",
            "description": "The UI/UX framework I use for web frontends when I don't want to do web work"
        }
    },
    {
        "node": {
            "name": "shotpredict",
            "description": "ShotPredict is a software library for predicting the trajectory of objects launched through the air"
        }
    },
    {
        "node": {
            "name": "tinygc",
            "description": "A small learning experiment in garbage collection"
        }
    },
    {
        "node": {
            "name": "dynfolio",
            "description": "Dynfolio is a web tool for displaying your Instagram profile as a photography portfolio"
        }
    },
    {
        "node": {
            "name": "shift3",
            "description": "A fast re-implementation of https://github.com/Ewpratten/shift"
        }
    },
    {
        "node": {
            "name": "mapcap",
            "description": "A tool for taking \"screenshots\" of a minecraft map by hooking into dynmap"
        }
    },
    {
        "node": {
            "name": "playergraph",
            "description": "Graph the vitals of every player on a Minecraft server in real time"
        }
    },
    {
        "node": {
            "name": "icebucket",
            "description": "A small server-side plugin to allow players to add frost-walker to an iron bucket"
        }
    },
    {
        "node": {
            "name": "coreserv",
            "description": "Fast and easy minecraft server hosting inside a docker container"
        }
    },
    {
        "node": {
            "name": "jekyll-wiki",
            "description": "A small and lightweight jekyll wiki theme"
        }
    },
    {
        "node": {
            "name": "remoduino",
            "description": "A project to turn AVR-based Arduino devices into scriptable devices over UART"
        }
    },
    {
        "node": {
            "name": "amongus-hacking",
            "description": "Playing with the Among Us multiplayer protocol"
        }
    },
    {
        "node": {
            "id": "MDEwOlJlcG9zaXRvcnkzMDAwMzEwNzM=",
            "name": "combat-tracer",
            "description": "Adds the \"Tracing\" enchantment to Minecraft, allowing the player to mark entities by hitting them"
        }
    },
    {
        "node": {
            "id": "MDEwOlJlcG9zaXRvcnkzMDAxMDM4Mzk=",
            "name": "offload",
            "description": "Multi-host hardware interfaces with RPC-over-serial"
        }
    },
    {
        "node": {
            "id": "MDEwOlJlcG9zaXRvcnkzMDE0MTA4NDk=",
            "name": "textual",
            "description": "A web graphics engine based around visual story telling"
        }
    },
    {
        "node": {
            "id": "MDEwOlJlcG9zaXRvcnkzMDM3MjcxMDI=",
            "name": "mc-analytics",
            "description": "A tool for analyzing Minecraft server logs"
        }
    },
    {
        "node": {
            "id": "MDEwOlJlcG9zaXRvcnkzMDQ0NTQ4MjY=",
            "name": "randomart",
            "description": "Generates SSH randomart from any file"
        }
    },
    {
        "node": {
            "id": "MDEwOlJlcG9zaXRvcnkzMDYwNDYxMDE=",
            "name": "snapfinder",
            "description": "A tool for scraping snapchat accounts out of instagram bios"
        }
    },
    {
        "node": {
            "id": "MDEwOlJlcG9zaXRvcnkzMTA2NjY5ODc=",
            "name": "grafana-nt",
            "description": "A Grafana datasource for NetworkTables servers"
        }
    },
    {
        "node": {
            "id": "MDEwOlJlcG9zaXRvcnkzMTE0MDMxMTk=",
            "name": "voxelmc-pipeline",
            "description": "Sponge schematic -> VOX data processing pipeline"
        }
    },
    {
        "node": {
            "id": "MDEwOlJlcG9zaXRvcnkzMTM3Nzc3NjU=",
            "name": "thirdparty-mod-docs",
            "description": "Automatic Javadoc generation for other people's Minecraft mods"
        }
    },
    {
        "node": {
            "id": "MDEwOlJlcG9zaXRvcnkzMTQxMjgzNzk=",
            "name": "backblaze",
            "description": "Rendering improvements for Minecraft"
        }
    },
    {
        "node": {
            "id": "MDEwOlJlcG9zaXRvcnkzMTQ4MjQzMzc=",
            "name": "smtp-send",
            "description": "A tool for sending email using direct SMTP connection"
        }
    },
    {
        "node": {
            "id": "MDEwOlJlcG9zaXRvcnkzMTQ4OTgzMTA=",
            "name": "lp2joy",
            "description": "Convert Novation Launchpad inputs to Joystick buttons"
        }
    },
    {
        "node": {
            "id": "MDEwOlJlcG9zaXRvcnkzMTQ5MjEyNjE=",
            "name": "launchlib",
            "description": "Interact with MIDI controllers"
        }
    },
    {
        "node": {
            "id": "MDEwOlJlcG9zaXRvcnkzMTUwOTY5MzA=",
            "name": "fastrender",
            "description": "Quick, simple, and easy to use graphics"
        }
    },
    {
        "node": {
            "id": "MDEwOlJlcG9zaXRvcnkzMTY2MjkwOTU=",
            "name": "quickxor",
            "description": "A tool and file format for encoding and decoding data with an ASCII key"
        }
    },
    {
        "node": {
            "id": "MDEwOlJlcG9zaXRvcnkzMTY3NDUwNzI=",
            "name": "vscode-poetry",
            "description": "Visual Studio Code extension for the Poetry build tool"
        }
    },
    {
        "node": {
            "id": "MDEwOlJlcG9zaXRvcnkzMTY4MTIxMzQ=",
            "name": "dynmap_heatmap",
            "description": "A GUI tool to generate a real-time heatmap of the positions of Minecraft players via the Dynmap API"
        }
    },
    {
        "node": {
            "id": "MDEwOlJlcG9zaXRvcnkzMTcwMTg4NTY=",
            "name": "mobile_cv_passthrough",
            "description": "An experimental Android app for running basic OpenCV video pipelines on-device"
        }
    },
    {
        "node": {
            "id": "MDEwOlJlcG9zaXRvcnkzMTcwMjUyMzM=",
            "name": "amongus_hooks",
            "description": "A Python library for interacting with a local instance of Among Us on a Windows host"
        }
    },
    {
        "node": {
            "id": "MDEwOlJlcG9zaXRvcnkzMTc3MjA3NTI=",
            "name": "flashbg",
            "description": "Flash BattleGrounds is a fast-paced multiplayer arena battle game"
        }
    },
    {
        "node": {
            "id": "MDEwOlJlcG9zaXRvcnkzMTgwMjM2ODQ=",
            "name": "REGEXResolver",
            "description": "A small and simple asset resolver for the Pixar USD framework, based on REGEX rules"
        }
    },
    {
        "node": {
            "id": "MDEwOlJlcG9zaXRvcnkzMTgyMzk3MDE=",
            "name": "quicksds",
            "description": "A small Python library that extends dataclasses to allow packing and unpacking"
        }
    },
    {
        "node": {
            "id": "MDEwOlJlcG9zaXRvcnkzMTk1MDIxNzg=",
            "name": "no-wurst-logo",
            "description": "A small fabric mod to completely disable the Wurst client logo"
        }
    },
    {
        "node": {
            "id": "MDEwOlJlcG9zaXRvcnkzMTk3NjgyMTU=",
            "name": "robolib",
            "description": "A Python library containing various tools I developed during my time in highschool robotics"
        }
    },
    {
        "node": {
            "id": "MDEwOlJlcG9zaXRvcnkzMjIwODI5MTk=",
            "name": "repeatermap",
            "description": "An interactive map showing VHF and UHF amateur radio repeaters throuought the world"
        }
    },
    {
        "node": {
            "id": "MDEwOlJlcG9zaXRvcnkzMjM2NTU5ODY=",
            "name": "open-london",
            "description": "A simple API for querying data about the city of London Ontario"
        }
    },
    {
        "node": {
            "id": "MDEwOlJlcG9zaXRvcnkzMjM3MzQxMTc=",
            "name": "xlog",
            "description": "Cross-platform PWA for logging radio contacts, and syncing between devices"
        }
    },
    {
        "node": {
            "id": "MDEwOlJlcG9zaXRvcnkzMjQ0MzQxNjk=",
            "name": "rules_teensy",
            "description": "A collection of Bazel rules for the teensy microcontroller family"
        }
    },
    {
        "node": {
            "id": "MDEwOlJlcG9zaXRvcnkzMjQ0Nzc3ODA=",
            "name": "nativetools",
            "description": "My personal toolchain for developing code using the Java Native Interface"
        }
    },
    {
        "node": {
            "id": "MDEwOlJlcG9zaXRvcnkzMjQ5MDc1MDU=",
            "name": "toy.social",
            "description": "A personal learning project where I create a simple social platform for sharing text-based posts"
        }
    },
    {
        "node": {
            "id": "MDEwOlJlcG9zaXRvcnkzMjQ5MDk2NDc=",
            "name": "codestyle.css",
            "description": "CodeStyle is a small CSS+JS project I built to nicely style Kramdown code blocks"
        }
    },
    {
        "node": {
            "id": "MDEwOlJlcG9zaXRvcnkzMjY0NTE5Nzc=",
            "name": "rayconsole",
            "description": "A graphical debug console for use in Java RayLib applications"
        }
    },
    {
        "node": {
            "id": "MDEwOlJlcG9zaXRvcnkzMjY1MDc0NTY=",
            "name": "RayJava",
            "description": "Raylib bindings to Java using cross-compiled JNI"
        }
    },
    {
        "node": {
            "id": "MDEwOlJlcG9zaXRvcnkzMjgyMjc0NDk=",
            "name": "koctl",
            "description": "A tool for interacting with Kobo hardware on-device"
        }
    },
    {
        "node": {
            "id": "MDEwOlJlcG9zaXRvcnkzMjgyNzIxMzQ=",
            "name": "repeaterbook2gqrx",
            "description": "A tool for exporting a list of repeaters from RepeaterBook as a GQRX bookmark file"
        }
    },
    {
        "node": {
            "id": "MDEwOlJlcG9zaXRvcnkzMjkzNTQzOTk=",
            "name": "AutoBCN",
            "description": "Simple CW beacon driver"
        }
    },
    {
        "node": {
            "id": "MDEwOlJlcG9zaXRvcnkzMjk5NDUwNjY=",
            "name": "baremetal-avr",
            "description": "C++ tools for working with AVR microprocessors"
        }
    },
    {
        "node": {
            "id": "MDEwOlJlcG9zaXRvcnkzMzIwNzI1MjE=",
            "name": "openbandplan",
            "description": "A web-viewer for ITU region 2 band plans"
        }
    },
    {
        "node": {
            "id": "MDEwOlJlcG9zaXRvcnkzMzI0NzI4NTI=",
            "name": "LiteIO",
            "description": "A lightweight HAL for systems I commonly use"
        }
    },
    {
        "node": {
            "id": "MDEwOlJlcG9zaXRvcnkzMzM3OTQ2NzE=",
            "name": "VarStrings",
            "description": "Non-constant String types for Java"
        }
    },
    {
        "node": {
            "id": "MDEwOlJlcG9zaXRvcnkzMzQwMzE3MDE=",
            "name": "tooltips",
            "description": "Meta extensions to Java, allowing custom tooltips in source"
        }
    },
    {
        "node": {
            "id": "MDEwOlJlcG9zaXRvcnkzMzQyNDIyNDc=",
            "name": "sdrexplorer",
            "description": "A web tool for exploring WebSDR servers globally"
        }
    },
    {
        "node": {
            "id": "MDEwOlJlcG9zaXRvcnkzMzQ5ODgzNzE=",
            "name": "PlayerStats",
            "description": "A Minecraft server plugin for tracking client-server activities"
        }
    },
    {
        "node": {
            "id": "MDEwOlJlcG9zaXRvcnkzMzUzMzA2MjQ=",
            "name": "ChatBridge",
            "description": "Bridge Minecraft chat to a Discord channel"
        }
    },
    {
        "node": {
            "id": "MDEwOlJlcG9zaXRvcnkzMzU3NDIxNDU=",
            "name": "hookback",
            "description": "Remote monitoring for Java applications"
        }
    },
    {
        "node": {
            "id": "MDEwOlJlcG9zaXRvcnkzMzgzNjM0MjE=",
            "name": "MapLink",
            "description": "The missing link between Dynmap and your Minecraft client"
        }
    },
    {
        "node": {
            "id": "MDEwOlJlcG9zaXRvcnkzMzg4MjAyNDY=",
            "name": "SDRInterface",
            "description": "Web front-end for my WebSDR server"
        }
    },
    {
        "node": {
            "id": "MDEwOlJlcG9zaXRvcnkzMzkyMTk2MjE=",
            "name": "jarcon",
            "description": "A lot of recon in a little bit of jar (A tool for hiding telemetry services in Java applications)"
        }
    },
    {
        "node": {
            "id": "MDEwOlJlcG9zaXRvcnkzMzk4NTkxOTQ=",
            "name": "rq",
            "description": "A scalable rendering pipeline"
        }
    },
    {
        "node": {
            "id": "MDEwOlJlcG9zaXRvcnkzNDAwOTI2NTA=",
            "name": "plugin-core",
            "description": "Core API shared across my Spigot / PaperMC plugins"
        }
    },
    {
        "node": {
            "id": "MDEwOlJlcG9zaXRvcnkzNDAyMDIwMTM=",
            "name": "update-notifier",
            "description": "A small Java library to provide software update notifications to users"
        }
    },
    {
        "node": {
            "id": "MDEwOlJlcG9zaXRvcnkzNDEyODgzMjA=",
            "name": "glass-engine",
            "description": "A dead simple 2d game engine build from past experience"
        }
    },
    {
        "node": {
            "id": "MDEwOlJlcG9zaXRvcnkzNDEzMTY2ODA=",
            "name": "bionic",
            "description": "A robotics framework"
        }
    },
    {
        "node": {
            "id": "MDEwOlJlcG9zaXRvcnkzNDE0MDU4ODM=",
            "name": "mathutils-py",
            "description": "Python port of MathUtils"
        }
    },
    {
        "node": {
            "id": "MDEwOlJlcG9zaXRvcnkzNDE1OTAyMTQ=",
            "name": "control-rs",
            "description": "Rust ports of various basic control loops and systems"
        }
    },
    {
        "node": {
            "id": "MDEwOlJlcG9zaXRvcnkzNDE3MTk5OTk=",
            "name": "basic-control",
            "description": "Basic systems and controllers for Python"
        }
    },
    {
        "node": {
            "id": "MDEwOlJlcG9zaXRvcnkzNDIyNjI0ODA=",
            "name": "mathutils-rs",
            "description": "Rust port of my MathUtils library"
        }
    },
    {
        "node": {
            "id": "MDEwOlJlcG9zaXRvcnkzNDIzNzM0NzA=",
            "name": "maven-edge",
            "description": "Tools to deploy personal maven edge servers anywhere, any time"
        }
    },
    {
        "node": {
            "id": "MDEwOlJlcG9zaXRvcnkzNDI2MjMwNjQ=",
            "name": "rayray-demo",
            "description": "3D rendering 3D objects, ray-traced in 3D. An experiment"
        }
    },
    {
        "node": {
            "id": "MDEwOlJlcG9zaXRvcnkzNDMxODQ5MDE=",
            "name": "twentytwo",
            "description": "A Minecraft server plugin that adds a new music disc type"
        }
    },
    {
        "node": {
            "id": "MDEwOlJlcG9zaXRvcnkzNDM1MjAxMDY=",
            "name": "wxbcn",
            "description": "A project to create a local area CW beacon providing temprature and light level informaiton"
        }
    },
    {
        "node": {
            "id": "MDEwOlJlcG9zaXRvcnkzNDM4MTM0ODE=",
            "name": "tws-bs-x-morse",
            "description": "Platform-agnostic Rust driver for the TWS-BS series high-power wireless transmitter modules. This driver is specifically for sending data encoded as morse code"
        }
    },
    {
        "node": {
            "id": "MDEwOlJlcG9zaXRvcnkzNDQ0ODcwMDM=",
            "name": "propagation-app",
            "description": "A simple android app for displaying HF and VHF propagation information"
        }
    },
    {
        "node": {
            "id": "MDEwOlJlcG9zaXRvcnkzNDU2OTk1NDY=",
            "name": "logbook",
            "description": "Clean and simple log-keeping program for amateur radio operators"
        }
    },
    {
        "node": {
            "id": "MDEwOlJlcG9zaXRvcnkzNDY3NTQ5NDU=",
            "name": "ham-status",
            "description": "An experimental dashboard for amatuer radio operators"
        }
    },
    {
        "node": {
            "id": "MDEwOlJlcG9zaXRvcnkzNDgwMDkyMzE=",
            "name": "hambadges",
            "description": "Embeddable badges for amatuer radio operators"
        }
    },
    {
        "node": {
            "id": "MDEwOlJlcG9zaXRvcnkzNDkwNzQ0Njk=",
            "name": "py-aprsfi-api",
            "description": "An aprs.fi API client for Python"
        }
    },
    {
        "node": {
            "id": "MDEwOlJlcG9zaXRvcnkzNDkxNDY5NzQ=",
            "name": "avr-rust-utils",
            "description": "Some utility functions for working with Rust AVR code"
        }
    },
    {
        "node": {
            "id": "MDEwOlJlcG9zaXRvcnkzNTA3Mzc4Nzg=",
            "name": "repeater-info",
            "description": "Web-based amateur radio repeater information"
        }
    },
    {
        "node": {
            "id": "MDEwOlJlcG9zaXRvcnkzNTA4MzE0MjQ=",
            "name": "path3d",
            "description": "A demonstration of 3D path solving"
        }
    },
    {
        "node": {
            "id": "MDEwOlJlcG9zaXRvcnkzNTE0NTY2NjM=",
            "name": "nodelink",
            "description": "Dockerized internet radio nodes"
        }
    },
    {
        "node": {
            "id": "MDEwOlJlcG9zaXRvcnkzNTI2OTQ5NDQ=",
            "name": "tinyos",
            "description": "A tiny OS"
        }
    },
    {
        "node": {
            "id": "MDEwOlJlcG9zaXRvcnkzNTM3NTg0MzQ=",
            "name": "burstfetch",
            "description": "A very simple BitTorrent implementation"
        }
    },
    {
        "node": {
            "id": "MDEwOlJlcG9zaXRvcnkzNTM4MjI0OTI=",
            "name": "bdl",
            "description": "Small and fast HTTPS file downloader"
        }
    },
    {
        "node": {
            "id": "MDEwOlJlcG9zaXRvcnkzNTQwMzQxMjU=",
            "name": "raylib-tweaks",
            "description": "Some small tweaks and extensions on raylib to make it a little more Rust-friendly"
        }
    },
    {
        "node": {
            "id": "MDEwOlJlcG9zaXRvcnkzNTQzNzU1NzM=",
            "name": "cone-of-vision-demo",
            "description": "A small app demonstrating cone-of-vision rendering in 2D"
        }
    },
    {
        "node": {
            "id": "MDEwOlJlcG9zaXRvcnkzNTc2MDQxODc=",
            "name": "raylib-imgui-rs",
            "description": "Raylib + Dear ImGui. In Rust"
        }
    },
    {
        "node": {
            "id": "MDEwOlJlcG9zaXRvcnkzNTc5NjUwMzA=",
            "name": "GameTK",
            "description": "A game development and 3D rendering framework"
        }
    },
    {
        "node": {
            "id": "MDEwOlJlcG9zaXRvcnkzNTgzMTcxNDQ=",
            "name": "slyce",
            "description": "An experiment in low-complexity game development"
        }
    },
    {
        "node": {
            "id": "MDEwOlJlcG9zaXRvcnkzNTgzMjQ2MTI=",
            "name": "raylib-tessellation",
            "description": "A bridge between Lyon and Raylib, allowing easy GPU path tessellation"
        }
    },
    {
        "node": {
            "id": "MDEwOlJlcG9zaXRvcnkzNjAyMzQ0MzY=",
            "name": "aprtwt",
            "description": "APRS <-> Twitter bridge"
        }
    },
    {
        "node": {
            "id": "MDEwOlJlcG9zaXRvcnkzNjAyNzI1OTQ=",
            "name": "spawn-server",
            "description": "Experimental Minecraft server infrastructure"
        }
    },
    {
        "node": {
            "id": "MDEwOlJlcG9zaXRvcnkzNjIxMjkwMTE=",
            "name": "git-time",
            "description": "Graph time spent on a Git project"
        }
    },
    {
        "node": {
            "id": "MDEwOlJlcG9zaXRvcnkzNjMyMzExNTQ=",
            "name": "lcx",
            "description": "LaunchControlX: A custom macro pad"
        }
    },
    {
        "node": {
            "id": "MDEwOlJlcG9zaXRvcnkzNjYwNjA4ODY=",
            "name": "repeatermon",
            "description": "A tool for monitoring repeater activity"
        }
    },
    {
        "node": {
            "id": "MDEwOlJlcG9zaXRvcnkzNjYzOTQwODA=",
            "name": "ZZALOG",
            "description": "VA3ZZA's Amateur Radio logging software"
        }
    },
    {
        "node": {
            "id": "MDEwOlJlcG9zaXRvcnkzNjc2MzQ3MDA=",
            "name": "autojson",
            "description": "Automatic JSON serialization and deserialization macros for Rust"
        }
    },
    {
        "node": {
            "id": "MDEwOlJlcG9zaXRvcnkzNjc5MTA5NDM=",
            "name": "stratosphere-r6",
            "description": "A tool for estimating Rainbow Six Siege match results"
        }
    },
    {
        "node": {
            "id": "MDEwOlJlcG9zaXRvcnkzNjg1NTQ0ODc=",
            "name": "breaktrack",
            "description": "A simple crawler for broken URLS on a webpage"
        }
    },
    {
        "node": {
            "id": "MDEwOlJlcG9zaXRvcnkzNjk1MzE4ODE=",
            "name": "packtool",
            "description": "A tool for managing Minecraft modpacks"
        }
    },
    {
        "node": {
            "id": "MDEwOlJlcG9zaXRvcnkzNjk4Mjc2OTU=",
            "name": "lmvn",
            "description": "A small tool for managing local maven repositories"
        }
    },
    {
        "node": {
            "id": "MDEwOlJlcG9zaXRvcnkzNzEwMzgzMzc=",
            "name": "wg-dash",
            "description": "A dashboard for WireGuard servers"
        }
    },
    {
        "node": {
            "id": "MDEwOlJlcG9zaXRvcnkzNzMxNjQ3MDQ=",
            "name": "leapmotion-rs",
            "description": "Rust bindings for the LeapMotion V2 API"
        }
    },
    {
        "node": {
            "id": "MDEwOlJlcG9zaXRvcnkzNzM1MDQ4NzA=",
            "name": "improc",
            "description": "Image processing and filtering in Rust"
        }
    },
    {
        "node": {
            "id": "MDEwOlJlcG9zaXRvcnkzNzM1MTcxMjY=",
            "name": "lightpanel",
            "description": "A tool for turning my computer monitors into configurable light sources for my room"
        }
    },
    {
        "node": {
            "id": "MDEwOlJlcG9zaXRvcnkzNzUwNDE4MDk=",
            "name": "mdviz",
            "description": "Multi-dimensional graphing tool"
        }
    },
    {
        "node": {
            "id": "MDEwOlJlcG9zaXRvcnkzNzUwODI5OTA=",
            "name": "pixyusb2-rs",
            "description": "Rust bindings for `libpixyusb2`"
        }
    },
    {
        "node": {
            "id": "MDEwOlJlcG9zaXRvcnkzNzU0MjY2MTQ=",
            "name": "gnn",
            "description": "An experiment in building a generic neural network"
        }
    },
    {
        "node": {
            "id": "MDEwOlJlcG9zaXRvcnkzNzc4NjM0OTY=",
            "name": "ampersand",
            "description": "A build tool for Rust-based Android apps"
        }
    },
    {
        "node": {
            "id": "MDEwOlJlcG9zaXRvcnkzNzgxNTA4MDk=",
            "name": "vision-types",
            "description": "Datatypes and utils related to computer vision targets"
        }
    },
    {
        "node": {
            "id": "MDEwOlJlcG9zaXRvcnkzNzgxNjYzNDI=",
            "name": "ewpose",
            "description": "\"ewpratten's positioning library\""
        }
    },
    {
        "node": {
            "id": "MDEwOlJlcG9zaXRvcnkzNzkzMzY5ODg=",
            "name": "ludum-dare-48-rework",
            "description": "A design rework of our Ludum Dare 48 game: Deep Breath"
        }
    },
    {
        "node": {
            "id": "MDEwOlJlcG9zaXRvcnkzNzk5NDA0MjQ=",
            "name": "tvdsb-student-api-rs",
            "description": "Rust API for interacting with Thames Valley District School Board student information"
        }
    },
    {
        "node": {
            "id": "MDEwOlJlcG9zaXRvcnkzODAzMzYyOTI=",
            "name": "pathwarn",
            "description": "A library for providing useful feedback about invalid paths passed to Rust applications"
        }
    },
    {
        "node": {
            "id": "MDEwOlJlcG9zaXRvcnkzODA1MjEzOTc=",
            "name": "nv",
            "description": "An environment management tool"
        }
    },
    {
        "node": {
            "id": "MDEwOlJlcG9zaXRvcnkzODA1MjkwNzM=",
            "name": "kxsvc",
            "description": "Local gRPC service for programmatic control of Elecraft KX2 and KX3 transceivers"
        }
    },
    {
        "node": {
            "id": "MDEwOlJlcG9zaXRvcnkzODA1MzIyNDI=",
            "name": "kx2-rs",
            "description": "Rust library for serial control of the Elecraft KX2/KX3 transceivers"
        }
    },
    {
        "node": {
            "id": "MDEwOlJlcG9zaXRvcnkzODE3NDA4MDM=",
            "name": "zzarl",
            "description": "VA3ZZA Amateur Radio Logging software"
        }
    },
    {
        "node": {
            "id": "MDEwOlJlcG9zaXRvcnkzODI3NDEzNzU=",
            "name": "ut",
            "description": "Usage Tracking API"
        }
    },
    {
        "node": {
            "id": "MDEwOlJlcG9zaXRvcnkzODMxNTYxMzQ=",
            "name": "tiny-analytics",
            "description": "Small and efficient analytics engine for my personal projects"
        }
    },
    {
        "node": {
            "id": "MDEwOlJlcG9zaXRvcnkzODQ0NDQzMjg=",
            "name": "csrpc",
            "description": "Crazy Simple RPC library"
        }
    },
    {
        "node": {
            "id": "MDEwOlJlcG9zaXRvcnkzODQ0OTQxMjY=",
            "name": "minecraft-wasmtime-experiment",
            "description": "Experiment in loading plugins into Minecraft with Wasmtime"
        }
    },
    {
        "node": {
            "id": "MDEwOlJlcG9zaXRvcnkzODQ5ODg0MTk=",
            "name": "strands",
            "description": "Basic and experimental physics toys"
        }
    },
    {
        "node": {
            "id": "MDEwOlJlcG9zaXRvcnkzODUwMDY0OTY=",
            "name": "xplre",
            "description": "XPLRE: A small 2d game"
        }
    },
    {
        "node": {
            "id": "MDEwOlJlcG9zaXRvcnkzODUwMTQ4OTk=",
            "name": "error-adaptor",
            "description": "Utility macros for wrapping external error types in Rust"
        }
    },
    {
        "node": {
            "id": "MDEwOlJlcG9zaXRvcnkzODUyODI1NzA=",
            "name": "egui-raylib-rs",
            "description": "Raylib integration for egui"
        }
    },
    {
        "node": {
            "id": "MDEwOlJlcG9zaXRvcnkzODcwMDYzMTU=",
            "name": "zndfrm",
            "description": "A procedural audio engine"
        }
    },
    {
        "node": {
            "id": "MDEwOlJlcG9zaXRvcnkzODcxOTI0Mjc=",
            "name": "disco",
            "description": "Simple network discoverability service"
        }
    },
    {
        "node": {
            "id": "MDEwOlJlcG9zaXRvcnkzODk0NTUyMzc=",
            "name": "fileshare",
            "description": "Personal file-sharing service"
        }
    },
    {
        "node": {
            "id": "MDEwOlJlcG9zaXRvcnkzOTA3OTY3OTU=",
            "name": "network-monitor",
            "description": "A tool for logging network drops"
        }
    },
    {
        "node": {
            "id": "MDEwOlJlcG9zaXRvcnkzOTA4Mzg3NDc=",
            "name": "tinygl-rs",
            "description": "Rust bindings to tinygl"
        }
    },
    {
        "node": {
            "id": "MDEwOlJlcG9zaXRvcnkzOTM3MTU1NDY=",
            "name": "discord-framework",
            "description": "Easily build Discord bots by defining them using JSON data"
        }
    },
    {
        "node": {
            "id": "MDEwOlJlcG9zaXRvcnkzOTM5OTgxNTA=",
            "name": "open-echo-proxy",
            "description": "An open-source echolink proxy server"
        }
    },
    {
        "node": {
            "id": "MDEwOlJlcG9zaXRvcnkzOTUwMTQ3NTg=",
            "name": "vec-convert",
            "description": "A translation layer between the many Rust vector types"
        }
    },
    {
        "node": {
            "id": "MDEwOlJlcG9zaXRvcnkzOTYwMzg4MDI=",
            "name": "spac",
            "description": "Abstract mathematical types for library interop with easy-to-use interfaces"
        }
    },
    {
        "node": {
            "id": "MDEwOlJlcG9zaXRvcnkzOTYwNTM4NDE=",
            "name": "rtiod",
            "description": "Ray-Tracing In One Day: A random project to fill my time"
        }
    },
    {
        "node": {
            "id": "MDEwOlJlcG9zaXRvcnkzOTgwNTQwMzk=",
            "name": "gpu-avg",
            "description": "Learning experiment for executing headless compute shaders"
        }
    },
    {
        "node": {
            "id": "MDEwOlJlcG9zaXRvcnk0MDAyNTIwOTE=",
            "name": "kobodash",
            "description": "A simple dashboard application for the Kobo Aura"
        }
    },
    {
        "node": {
            "id": "MDEwOlJlcG9zaXRvcnk0MDA1MTE1MjE=",
            "name": "morsencode",
            "description": "Experimental data encoding algorithm based around morse code"
        }
    },
    {
        "node": {
            "id": "MDEwOlJlcG9zaXRvcnk0MDIxOTAyNDQ=",
            "name": "cloth-toy",
            "description": "2D cloth simulation toy"
        }
    },
    {
        "node": {
            "id": "MDEwOlJlcG9zaXRvcnk0MDMzNTU5Njg=",
            "name": "ewc",
            "description": "C-compatible core library for quick development shortcuts in various languages"
        }
    },
    {
        "node": {
            "id": "MDEwOlJlcG9zaXRvcnk0MDUyMDM0MDc=",
            "name": "discord-map",
            "description": "Generates a graphviz map of all your Discord servers"
        }
    },
    {
        "node": {
            "id": "MDEwOlJlcG9zaXRvcnk0MDc1NDY1NTQ=",
            "name": "sonr",
            "description": "A voice chat control library built on Serenity and Songbird"
        }
    },
    {
        "node": {
            "id": "R_kgDOGKDEdQ",
            "name": "tyler",
            "description": "A custom `tiled` map loader"
        }
    },
    {
        "node": {
            "id": "R_kgDOGKsx4A",
            "name": "egf",
            "description": "Evan's Game Framework: Everything you need to build a 2D game"
        }
    },
    {
        "node": {
            "id": "R_kgDOGK5Ssg",
            "name": "r3_pipeline",
            "description": "Video game and animation production pipeline (Used for **\\[data::loss\\]**)"
        }
    },
    {
        "node": {
            "id": "R_kgDOGOy-aA",
            "name": "darkdns",
            "description": "A standalone Docker-based DNS server that resolves lesser-recognized domains"
        }
    },
    {
        "node": {
            "id": "R_kgDOGPif-Q",
            "name": "ampr-minecraft",
            "description": "Minecraft server for stress-testing an edge router"
        }
    },
    {
        "node": {
            "id": "R_kgDOGRGoVg",
            "name": "discolytica",
            "description": "A tool for tracking discord data into an analytics database"
        }
    },
    {
        "node": {
            "id": "R_kgDOGR_qng",
            "name": "usd-tutorial-files",
            "description": "Scripts from Pixar's USD tutorials"
        }
    },
    {
        "node": {
            "id": "R_kgDOGU8_WQ",
            "name": "vox2usd",
            "description": "Convert from the Magica Voxel file format to Universal Scene Description"
        }
    },
    {
        "node": {
            "id": "R_kgDOGVB7Uw",
            "name": "strangle",
            "description": "Experimental voxel art pipeline"
        }
    },
    {
        "node": {
            "id": "R_kgDOGWlwWQ",
            "name": "hamscan",
            "description": "Frequency monitoring and web visualization based on `rtl_power`"
        }
    },
    {
        "node": {
            "id": "R_kgDOGXm44g",
            "name": "repeaterstack",
            "description": "A full amateur radio simplex node / remote repeater"
        }
    },
    {
        "node": {
            "id": "R_kgDOGZOxKw",
            "name": "tinylink",
            "description": "An alternate repeater linking project"
        }
    },
    {
        "node": {
            "id": "R_kgDOGZjGag",
            "name": "protocrypt",
            "description": "An experimentation in XOR-ing data"
        }
    },
    {
        "node": {
            "id": "R_kgDOGZlSGA",
            "name": "shoot-to-interact",
            "description": "A game with one option: shoot"
        }
    },
    {
        "node": {
            "id": "R_kgDOGZoyoQ",
            "name": "MiwuStickers",
            "description": "A custom sticker pack"
        }
    },
    {
        "node": {
            "id": "R_kgDOGZtGsg",
            "name": "betaroute",
            "description": "A peer-to-peer routing tool (example implementation of [this RFC](/rfc/modern-repeater-linking))"
        }
    },
    {
        "node": {
            "id": "R_kgDOGZ7sKQ",
            "name": "amprdns",
            "description": "An alternate DNS service, only avalible to 44net hosts"
        }
    },
    {
        "node": {
            "id": "R_kgDOGcxcBg",
            "name": "EmmetMob",
            "description": "A minecraft mod that turns my friend into an entity"
        }
    },
    {
        "node": {
            "id": "R_kgDOGdDqow",
            "name": "tiny-osc",
            "description": "Morse code practice ocillator built on the Atmel ATtiny85 platform"
        }
    },
    {
        "node": {
            "id": "R_kgDOGdFEKw",
            "name": "MuchPerformance",
            "description": "A minecraft performance modpack"
        }
    },
    {
        "node": {
            "id": "R_kgDOGdYxbQ",
            "name": "rc2d",
            "description": "A 2D raycasting library for line-of-sight lighting in 2D games"
        }
    },
    {
        "node": {
            "id": "R_kgDOGfeDnw",
            "name": "mitechlib",
            "description": "A library for interacting with Mitech smart connected laundry machines"
        }
    },
    {
        "node": {
            "id": "R_kgDOGifO_A",
            "name": "microfetch",
            "description": "An over-simplistic portable command-line system information tool"
        }
    },
    {
        "node": {
            "id": "R_kgDOGiyiGw",
            "name": "wtf",
            "description": "A utility for dumping large amounts of information about a host"
        }
    },
    {
        "node": {
            "id": "R_kgDOGkoJvw",
            "name": "dynmap-viewer",
            "description": "A high-performance desktop client for Dynmap"
        }
    },
    {
        "node": {
            "id": "R_kgDOGkydgg",
            "name": "multirss",
            "description": "A minimalist RSS aggregator"
        }
    },
    {
        "node": {
            "id": "R_kgDOGk2JNQ",
            "name": "MultiAuth",
            "description": "A development tool to allow a mix of premium and \"offline mode\" accounts to join a Minecraft server"
        }
    },
    {
        "node": {
            "id": "R_kgDOGlTCew",
            "name": "blink-client",
            "description": "A simple client for Blink home security cameras"
        }
    },
    {
        "node": {
            "id": "R_kgDOGlf2QQ",
            "name": "blink-camera-api",
            "description": "A partial API client for Amazon/Blink cameras"
        }
    },
    {
        "node": {
            "id": "R_kgDOGmD9Yw",
            "name": "dst-rpc",
            "description": "Discord RPC (Rich Presence) support for @kleientertainment's Don't Starve Together (precursor to animal-loader)"
        }
    },
    {
        "node": {
            "id": "R_kgDOGmX80Q",
            "name": "ewpratten-commit-stats",
            "description": "A private api for querying my GitHub ranking in Canada"
        }
    },
    {
        "node": {
            "id": "R_kgDOGmr6gQ",
            "name": "render-test",
            "description": "An experimental game that only uses ASCII art for rendering"
        }
    },
    {
        "node": {
            "id": "R_kgDOGoQgqQ",
            "name": "proxmark-rs",
            "description": "A Proxmark3 client library for Rust"
        }
    },
    {
        "node": {
            "id": "R_kgDOGoXonw",
            "name": "CardStudio",
            "description": "A tool for working with various RFID cards using Proxmark devices"
        }
    }
]