45deg

About

A collection of small web tools, visualizations, and notes I made for myself. X

Works

Scroll Stitch
Scroll Stitch combining a scrolling video into a long image and splitting it into three PNG files

Scroll Stitch (2026)

A browser tool for stitching vertical scrolling videos into images and saving selected regions as PNG files.

ImageVideoUtility
Multistage JS
Multistage JS syntax diagram showing a stage block and escaped expression transforming from L2 to L1 to L0

Multistage JS (2026)

A browser IDE for exploring multistage computation by extending JavaScript with stage {} and $(), then stepping through code generation and execution.

ProgrammingCompilerEducation
Public-Key Cryptography Demo

Public-Key Cryptography Demo (2026)

A browser-only WebCrypto demo for generating keys, encrypting and decrypting messages with public-key cryptography, and creating digital signatures.

SecurityWeb
Morf
Morf correcting the perspective and distortion of an image

Morf (2026)

A browser tool for straightening perspective and distortion by adjusting control points directly on an image.

ImageUtility
Solving Sudoku
A 9×9 Sudoku board with clue digits

Solving Sudoku (2026)

A series that translates the same Sudoku puzzle into search, logic, mathematical optimization, and other computational methods, with runnable examples.

ArticleAlgorithmsEducation
UI Pattern Atlas
UI Pattern Atlas displaying the Welcome screen pattern

UI Pattern Atlas (2026)

A searchable interface design catalog for exploring UI patterns by purpose and category, with concrete examples.

UIDesignReference
A Tour of Succinct Data Structures

A Tour of Succinct Data Structures (2026)

An interactive guide to succinct data structures, from information-theoretic lower bounds and rank/select to wavelet matrices and succinct trees.

Data StructureVisualizationEducation
Colorange
Colorange analyzing an image’s dominant colors and usage ratios

Colorange (2026)

A color analysis tool for extracting an image’s dominant colors and usage ratios, and seeing where each color appears.

ImageAnalysisUtility
Multi-Armed Bandit Demo

Multi-Armed Bandit Demo (2026)

An interactive demo for comparing six multi-armed bandit algorithms and reward models through step-by-step rounds and learning curves.

AIVisualizationEducation
HAR Tools
HAR Tools displaying a list of resources from a HAR file

HAR Tools (2026)

A browser tool for extracting and inspecting images, code, and other responses stored in HAR files.

WebUtility
GEESE
GEESE puzzle game board

GEESE (2026)

A stage-based puzzle inspired by a traditional board game: move the geese and surround the fox.

GamePuzzle
Bagh-Chal
Bagh-Chal game introduction screen

Bagh-Chal (2026)

A browser version of Nepal's traditional asymmetric strategy game, playable against AI or another player.

GameAI
P2P PONG
P2P PONG の対戦画面

P2P PONG (2026)

A serverless two-player PONG game where players exchange connection codes directly.

GameWebRTC
CJK Markdown Fixer
CJK Markdown Fixer

CJK Markdown Fixer (2026)

A browser-based tool that fixes emphasis boundaries that fail to render in CJK Markdown text.

MarkdownEditorLanguage
Image Measurement Tool
Image Measurement Tool

Image Measurement Tool (2026)

A web application that makes it easy to measure the length of objects on photos or images.

ImageEditor
Lecture Scheduler
Lecture Scheduler

Lecture Scheduler (2026)

A tool for creating and editing lecture schedules on a monthly calendar.

ProductivityEditor
Converting KaTeX to SVG

Converting KaTeX to SVG (2026)

Notes on embedding KaTeX HTML output in SVG with foreignObject, DOM analysis, and WOFF2 glyph subsetting for compact standalone SVGs.

ArticleWeb Development
Intl API Comparison Viewer

Intl API Comparison Viewer (2026)

An experimental viewer for comparing JavaScript Intl API output across locales and constructors.

ArticleWeb Development
Practical Zustand Notes

Practical Zustand Notes (2026)

Practical notes on Zustand basics, selectors, typing, middleware, SSR, and design trade-offs in React.

ArticleWeb Development
Vibe Design Gallery
Vibe Design Gallery

Vibe Design Gallery (2026)

A design gallery using Tailwind CSS utility classes, with design prompts for vibe coding.

DesignAI
Japanese Punctuation Completion Tool
句読点補完ツール

Japanese Punctuation Completion Tool (2026)

A browser tool that automatically adds punctuation and line breaks to Japanese text using a lightweight Transformer exported to ONNX.

LanguageAI
bkcrack.wasm

bkcrack.wasm (2026)

A browser port of bkcrack to WebAssembly for cracking ZIP encryption via known-plaintext attack.

SecurityWebAssembly
QuickCalc
QuickCalc

QuickCalc (2026)

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

Productivity
STICK GAME
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

nanotation (2026)

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

ImageEditor
Browser-only Video Converter

Browser-only Video Converter (2026)

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

VideoConverter
AsciiArt Table Parser

AsciiArt Table Parser (2026)

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

TextConverter
pdf2md
pdf2md

pdf2md (2026)

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

PDFMarkdownConverter
Inverted Pendulum Simulator
Inverted Pendulum Simulator

Inverted Pendulum Simulator (2026)

A browser-based real-time simulation of an inverted pendulum on a cart. Compare classical control (PID/PD cascade), modern control (LQR), and non-linear control (Sliding Mode Control) with dynamic visualizations and charts.

SimulationVisualization
FlowTimer
FlowTimer

FlowTimer (2025)

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

ProductivityPresentation
PDFUnbinder in Browser
PDFUnbinder in Browser

PDFUnbinder in Browser (2025)

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

PDF
CRT-style Image Effector

CRT-style Image Effector (2025)

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

ImageVisualization
JPEG Artifact Generator

JPEG Artifact Generator (2025)

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

ImageEditor
Images to PDF

Images to PDF (2025)

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

PDFImageConverter
MNIST UMAP Visualization
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.

AIVisualization
Nahuatl Text Helper

Nahuatl Text Helper (2024)

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

EditorLanguage
Jinja2 Template Renderer

Jinja2 Template Renderer (2022)

A browser renderer that runs Jinja2 templates on Pyodide.

Web DevelopmentProgramming
HoverDictCN
HoverDictCN

HoverDictCN (2019)

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

DictionaryLanguage
PDFUnbinder
PDFUnbinder

PDFUnbinder (2018)

A JavaFX desktop app for splitting bookmarked PDFs by chapter.

PDF
RGBCloud
RGBCloud

RGBCloud (2017)

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

ImageVisualization
Kantele
Kantele

Kantele (2016)

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

AudioProgramming
Neural Network Visualization
ニューラルネットワークの可視化

Neural Network Visualization (2014)

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

AIVisualization