Home /

Web Apps

These are web applications I've developed for personal use, community benefit, or to support my work. Many are available as open-source projects on GitHub.

Software Development

Web applications for development workflows and code generation.

Language Learning

Web applications to assist in learning foreign languages.

Mandarin Sentence Practice

2025
JavaScript

Web application for practicing reading and listening to Mandarin Chinese sentences.

Speech Provider

2025
Python

Python package for accessing text-to-speech APIs in a uniform way.

Shutterspeak

2024
JavaScript

Language learning with photo descriptions.

Labelingo

2024
Python

Annotate UI screenshots with translations for language learning.

Kana Game

2024
JavaScript

An interactive game for learning Japanese kana characters.

Kana Practice Helper

2024
JavaScript

Interactive tool for practicing Japanese kana writing and recognition.

Add2Anki

2025
Python

A CLI tool to add language learning cards to Anki, with automatic translation and audio generation

Audio2Anki

2025
Python

Convert audio and video files into Anki flashcard decks with translations.

Subburn

2025
Python

Create videos with burnt-in subtitles from audio or video files.

Contextual Language Detection

2025
Python

A context-aware language detection library that improves accuracy by considering document-level language patterns.

LLM Applications

Web interfaces for working with Large Language Models and their outputs.

Claude Chat Viewer

2024
TypeScript

View Claude chat conversations from exported JSON files. Copy the chat as RTF; download a zip of all the artifacts.

Claude Artifact Unpacker

2024
Python

Unpack and organize multi-file projects from Claude's Artifacts.

Travel Photo Explainer

2024
TypeScript

AI-powered tool that explains the cultural and historical significance of travel photos.

Machine Embroidery

Web applications for machine embroidery design and file conversion.

Stitch Sync

2024
Rust

Watch and convert embroidery files to machine-compatible formats.

Pyembroidery Convert

2024
Python

CLI tool for converting between embroidery file formats.

p5.js Web Apps

Web-based tools for the p5.js creative coding framework.

Physical Computing

Web applications for working with microcontrollers and sensor data.

IMU Tools

2019

Tools for sending IMU data from ESP32 and receiving it via MQTT or Bluetooth.

Arduino-BLE-IMU

2019
C++

ESP32 firmware for relaying BNO055 data wirelessly via MQTT and Bluetooth.

IMU Client Examples

2020
JavaScript

Examples using wireless IMU data to animate 3D models and create data visualizations.

Computer Education

Web applications for computer science education and visualization.

Map Explorer

2020
JavaScript

Interactive visualization of the map function in Arduino, Processing, and p5.js.

PWM Explorer

2020
JavaScript

Interactive visualization of Pulse Width Modulation (PWM).

Callgraph

2018
Python

Jupyter notebook extension that adds call graphs to functions.

Section Wheel

2020

Interactive wheel for selecting student presentation order.

Multiclone

2023
Python

Fast tool for cloning all forks of a repository or GitHub Classroom assignments.

nbcollate

2023
Python

Combines multiple student Jupyter notebooks into a single organized notebook.

Assignment Dashboard

2017
Python

Dashboard for tracking student Jupyter notebook submissions on GitHub.

Art Projects

Interactive web-based art projects and visualizations.

2024 Wrapped

2024
JavaScript

A visualization of personal data or events from 2024.

Six Digits of Decay

2024
JavaScript

An interactive art piece transforming a TOTP display into an entropic animation.

Exhibit Label

2024
JavaScript

An interactive digital exhibit label concept.