§01

Products

Selected Work3 in focus · 2 in development

The works nadai builds and runs. A small number, kept for the long run.

01SonirMobile · Measurement

A Local First app for air recording, acoustic measurement and comparison: from SPL/RTA/FFT to sweep-based impulse response (RT60, frequency response, waterfall), with a DSP core written from scratch in Rust.

Most audio apps sell ambience. Sonir sells repeatability: gear profiles, calibration files and room tags keep every capture comparable, so you record under the same conditions and compare under the same conditions. From SPL/RTA to sweep-based impulse response (RT60, waterfall) — Flutter UI, Rust DSP, everything on-device. The product itself lives at sonir.app; the deep technical notes go to Zenn.

02jpzipData · API

Japan Post’s KEN_ALL normalized to JSON: all 120,677 Japanese postal codes served from a CDN. No registration, no API key, no rate limits — read it from an SDK in every language, or over MCP.

Turning a postal code into an address is something everyone needs, yet free and unlimited options are scarce — jpzip fills that gap. Japan Post’s KEN_ALL is normalized monthly and served as static JSON from Cloudflare Pages: all 120,677 entries, with no registration, no API key and no rate limits. The protocol is an open spec; the SDKs (TypeScript / Go / Python / Rust and more) are MIT.

03PixmendBrowser · Image restoration

Real-ESRGAN running on onnxruntime-web (WebGPU): decode, inference and encode all happen in the browser, so images never reach a server. No sign-up, no upload, no run limits.

The premise is never send, never invent, only mend. Images stay on the device, missing detail is not hallucinated in, and the tool stays inside restoration. Inference runs on WebGPU (falling back to wasm), the models are Real-ESRGAN ONNX builds, delivery is Cloudflare. With no server-side processing, cost does not scale with the number of people using it. The UI is Vue 3.

04gpdfLibrary · PDF generation

A library that builds PDFs with nothing but the Go standard library: a declarative builder API, a 12-column grid, TrueType subset embedding with CJK support, and PDF/A, AES-256 encryption and digital signatures in the same module.

Generating PDFs in Go gets awkward the moment Japanese text enters the picture: external dependencies and font problems. gpdf has zero dependencies (standard library only) and handles Chinese, Japanese and Korean from day one. It is three layers (pdf / document / template) with three entry points: a declarative builder, a JSON schema and Go templates. A one-page document takes 13µs, roughly an order of magnitude faster than the established libraries. The license is MIT.

05ndeck-monitorDesktop · Dev environment

A Tauri desktop app that owns the Claude Code sessions it starts, and handles conversation, approvals and completion notices in the GUI. Reading the resulting code is left to GitHub pull requests.

The point is never going back to the terminal. Existing tools only watch a session run, so every question or approval sends you back to a shell. ndeck-monitor owns the sessions instead, putting the bidirectional stream-json exchange and control-protocol approvals into the GUI. It ships no diff viewer: the output is read as a pull request. The UI is Vue 3, the shell is Tauri (Rust).

In common

jpzip is open source: SDKs and protocol spec, all MIT; Sonir is a Local First app that runs entirely on-device; Pixmend runs its inference in the browser and never uploads an image; gpdf builds PDFs inside your own process with no dependencies at all. What they share is a no-server, data-stays-with-you design.