An experiment in exchanging WebRTC signaling data via QR codes to achieve P2P voice calls with zero servers. Covers SDP chunking/reassembly and ICE candidate gathering.
How to design a large watch-together event for tens of thousands of viewers, including time synchronization, event cue sheets, and effects that tolerate real-world drift.
Embedding WebM or MP4 in an article makes the page heavy. I implemented a system that loads only the first frame with preload="metadata" and starts playback on click, using a rehype plugin.
From browser OCR and server-side OCR to cloud APIs and AI — a roundup of what I learned trying to implement Japanese OCR on the web, including the limits of each approach.
Tried to implement morphological analysis in the browser — Sudachi was too heavy, kuromoji.js had a bug. Eventually solved it with a fork and a custom loader.
A story about dates going haywire in an AI-generated PHP script, plus a breakdown of timezone pitfalls in each layer — server, PHP, MySQL, and JavaScript.