45deg

About

Browser tools, visualizations, experiments, and notes. X

Works

mogami-stream

mogami-stream (2026)

TypeScript operators for asynchronous streams, with concurrency and buffer limits, cancellation, and asynchronous cleanup. npm · GitHub

ProgrammingData
YADA
YADA displaying the customers table with the database object explorer on the left

YADA (2026)

View SQLite, DuckDB, CSV and Parquet files in your browser. Inspect table data, schemas and statistics.

ViewerDataWebAssembly
Alloy Analyzer WASM (unofficial)
Alloy IDE with a model on the left and temporal trace results on the right

Alloy Analyzer WASM (unofficial) (2026)

An unofficial browser IDE for analyzing Alloy models. Edit code and inspect instances, counterexamples, and temporal traces.

ProgrammingEditorWebAssembly
Wordkin
Part of the etymology tree tracing dictionary through Middle English and Latin

Wordkin (2026)

An etymology dictionary for exploring English word ancestry, viewing definitions and derivatives, and comparing shared ancestors across words.

DictionaryVisualizationSearch
refinepy Playground
refinepy showing verified range and return-value contracts and termination for the clamp function

refinepy Playground (2026)

A browser playground for Python refinement types and contracts. Edit code and use Z3 to check function preconditions, postconditions, and termination statically.

ProgrammingCompilerWebAssembly
Real Quantifier Elimination
An example converting exists y: y² = x into the quantifier-free condition x ≥ 0

Real Quantifier Elimination (2026)

A browser tool for eliminating quantifiers over the reals with QEPCAD. Find conditions on free variables and inspect projection factors, cells, and calculation steps.

MathematicsUtilityWebAssembly
DepPy Playground
Close-up of DepPy code defining a natural number function and an equality proof on a black background

DepPy Playground (2026)

A browser demo for DepPy, a dependently typed language with Python syntax. Edit code, check types and proofs statically, and run the source separately as Python.

ProgrammingCompilerWebAssembly
a-b text
A Japanese passage selected in a-b text, with start and end cursors and copy, cut, and delete controls

a-b text (2026)

A text editor for selecting long passages by tapping their start and end. Navigate with a minimap, then copy, cut, or delete the selected text.

EditorTextUtility
C2PA Inspector

C2PA Inspector (2026)

A local browser tool for inspecting and comparing C2PA provenance, signing certificates, and declared creation software embedded in PNG images.

ImageSecurityViewer
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
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
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
Lucide Icons Map
Lucide Icons Map

Lucide Icons Map (2026)

An interactive 2D map of Lucide icons laid out by vector embeddings with UMAP.

IconsVisualization
Lucide Text Search
Lucide Text Search

Lucide Text Search (2026)

A tool for semantically searching Lucide icons from text queries.

IconsSearch
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
Subleq Compiler
Subleq Compiler

Subleq Compiler (2026)

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

CompilerProgramming
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 (ConvnetJS)
ニューラルネットワークの可視化 (ConvnetJS版)

Neural Network Visualization (ConvnetJS) (2016)

A ConvnetJS rewrite of the neural network visualization, with adjustable units and learners for observing training behavior.

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

Neural Network Visualization (2014)

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

AIVisualization