I'm Reed;

I'm a developer,

working in various fields such as Android, frontend, backend, machine learning, and gamedev.

I make my projects using Python, Javascript, Node, Kotlin and Rust, among other technologies.

Background powered by Van

Projects

fentoboardimage

Python library for generating customizable chessboard images from FEN notation

PythonPillowPyPI
Fen To Board Image

fentoboardimage

A Python library published on PyPI that generates PIL/Pillow images of chessboards from FEN (Forsyth-Edwards Notation) strings. Highly configurable with options for board colors, piece sets, square highlighting, arrows for move annotations, and coordinate labels. Used by chess content creators, analysis tools, and as a component in other chess-related projects.

PythonPillowPyPIFENChess

Board Explorer

Chrome extension using YOLOv5 to replace static chessboard images with interactive boards

PyTorchYOLOv5Chrome

Board Explorer

A Chrome extension that uses computer vision to detect static chessboard images on any webpage and replaces them with fully interactive, playable boards. The YOLOv5 neural network (trained in PyTorch) identifies board positions with high accuracy, then converts them to FEN notation. Users can analyze positions with Stockfish engine support, explore variations, and even continue games from screenshots.

PyTorchYOLOv5Chrome ExtensionStockfishFEN

Van

Minimal 2D game engine with P2P networking and gamepad support

TypeScriptWebRTCCanvas

Van Engine

A lightweight 2D game engine built in TypeScript, designed for rapid prototyping and browser-based games. Features include peer-to-peer multiplayer via WebRTC (no server required), gamepad support for local multiplayer, a component-based entity system, and Canvas rendering. Includes a visual editor for creating and testing game scenes. Several demo games showcase the engine's capabilities.

TypeScriptWebRTCCanvasGamepad APIP2P

Buzz

Cross-platform app for detecting loud sounds using your phone's microphone

AndroidFlaskReact

Buzz

A practical utility app that monitors ambient sound levels and sends notifications when loud sounds are detected - perfect for knowing when the laundry is done or the oven timer goes off from another room. Available as both an Android app and web application. The phone acts as a remote microphone, with customizable sensitivity thresholds and notification options.

AndroidKotlinFlaskReactWebSockets

DaMa

Training data generator - created 8000+ image dataset for Board Explorer

PythonPillowML
DaMa

DaMa (Data Maker)

A Python tool for programmatically generating training data for machine learning models. Uses JSON configuration files to define image generation parameters, then leverages Pillow to create diverse training samples with randomized variations. This tool was used to generate the 8000+ image dataset that trained Board Explorer's chess detection model, with variations in board styles, piece sets, lighting, and perspectives.

PythonPillowJSONML DataComputer Vision

Stitch

Video rendering pipeline for Twitch content using AWS with auto-scaling Docker containers

AWSFlaskReactDocker
Stitch

Stitch

A full-stack video rendering platform that allows users to easily create and compile videos from Twitch.TV content. The system leverages AWS infrastructure (ECS, ECR) to dynamically spin up Docker containers that handle rendering jobs, enabling cost-effective scaling based on demand. Users can select clips, add transitions, and queue renders through a React frontend, while the Flask backend manages job orchestration and storage.

AWSFlaskReactDockerECSECR
×