45deg

About

A collection of small web tools, visualizations, PDF experiments, and notes I made for myself. This is less a polished portfolio than a log of things I tried and want to be able to revisit. X

Works

QuickCalc

QuickCalc (2026)

A note-like reactive calculator where expressions and variables update line by line.

CalculatorReactive
STICK GAME

STICK GAME (2026)

A browser game version of a small finger-counting game, with a CPU opponent and a compact state space.

GameAI
nanotation

nanotation (2026)

A lightweight browser annotation editor for layering notes over images or work targets, designed for quick review and sharing.

AnnotationEditor
Subleq Compiler

Subleq Compiler (2026)

A compiler experiment that lowers a higher-level syntax into the one-instruction SUBLEQ architecture.

CompilerOISCSUBLEQ
FlowTimer

FlowTimer (2025)

A minimal presentation timer focused on the remaining time and progress state a speaker needs while presenting.

TimerPresentation
pdf2md

pdf2md (2026)

A local browser tool for converting PDFs to Markdown and extracting images as part of the same flow.

PDFMarkdownLocal
PDFUnbinder in Browser

PDFUnbinder in Browser (2025)

A browser version of PDFUnbinder that reads PDF outlines and splits files by chapter or section.

PDFBrowser
MNIST UMAP Visualization

MNIST UMAP Visualization (2024)

A visualization that maps MNIST handwriting samples into 2D with UMAP, making digit clusters and overlap easy to explore.

UMAPMNISTVisualization
HoverDictCN

HoverDictCN (2019)

A Chinese reading aid using CEDICT. Hover or tap characters to quickly check word and character meanings in English.

ChineseDictionary
PDFUnbinder

PDFUnbinder (2018)

A JavaFX desktop app for splitting bookmarked PDFs by chapter.

PDFJavaFX
RGBCloud

RGBCloud (2017)

A 3D viewer that plots image pixels in RGB or HSL color space so the color distribution can be inspected directly.

Three.jsColor3D
Kantele

Kantele (2016)

A Scheme-like sound programming language made as a lab assignment. It plays sound.

LanguageAudioScheme
dynamorphism の紹介

Introduction to Dynamorphism (2015)

A technical article explaining dynamic programming as a functional fold, written with diagrams for rogy Advent Calendar.

ArticleFunctional Programming
ニューラルネットワークの可視化

Neural Network Visualization (2014)

An early browser visualization of BPNN weights, node states, and the learning process.

BPNNVisualization

Browser-only Video Converter (2026)

A demo for converting video directly in the browser using WebCodecs and web-demuxer.

WebCodecsVideoMisc

Browser-only MP4 Generation with WebCodecs and MP4Box.js (2026)

An article exploring MP4 generation in the browser with WebCodecs and MP4Box.js.

ArticleMP4Misc

ZIP Generation in Plain JavaScript with Compression API (2026)

An article explaining how to generate ZIP files in JavaScript with the Compression API.

ArticleCompressionMisc

AsciiArt Table Parser (2026)

A tool that parses ASCII-art style tables and turns them into plain structured text.

ParserTextMisc

CRT-style Image Effector (2025)

A WebGL image effect tool that processes images into a CRT television look.

WebGLImageMisc

JPEG Artifact Generator (2025)

A tool that repeatedly applies JPEG compression to create a crunchy artifact texture.

ImageEffectMisc

Images to PDF (2025)

A tool for dragging, dropping, reordering, and exporting images as a PDF.

PDFImageMisc

Nahuatl Text Helper (2024)

A text editor that helps input long-vowel marks for Nahuatl.

EditorLanguageMisc

Safetensors Metadata Viewer (2023)

A viewer for inspecting metadata inside safetensors files.

ViewerMetadataMisc

Jinja2 Template Renderer (2022)

A browser renderer that runs Jinja2 templates on Pyodide.

PyodideTemplateMisc