I build scientific software, developer tools, and AI-assisted products across Rust, TypeScript, Python, and WebAssembly.
My work spans scientific computing and X-ray spectroscopy, multilingual search, Rust developer tools, and AI-assisted safety and compliance products.
| Project | Stack | What it is | Links |
|---|---|---|---|
| Rust, Python, TypeScript | High-performance 2D and 3D plotting with matplotlib-style ergonomics and a wgpu renderer |
Demo · Rust · Python · npm | |
| Rust | Fast CJK-aware fuzzy finder with Japanese romaji, Chinese pinyin, Korean phonetic search, and fzf-style shell integration | Demo · Releases | |
| Rust | Hotkey-summoned, context-aware AI panel for macOS and Windows, with provider routing, dictation, file search, and agent runs | Releases | |
| xraytsubaki | Rust | Fast XAS/XAFS analysis for large datasets, with parallel processing, fitting, plotting, and a desktop application | Repository |
yuru-promo.mp4 |
ruviz-promo.mp4 |
| Project | What it is | Links |
|---|---|---|
| Catalog of nature-inspired design systems, generated motif assets, and shadcn/tweakcn theme exports | Live catalog | |
| Browser and desktop X-ray reference database with attenuation, scattering, optics, and sample-preparation calculators | Web app · Desktop releases | |
| TagRune | AI tagging workflow built around a Rust API, queue workers, object storage, and a TanStack Start UI | Product |
| Cadence Note | Personal-first task manager built with TanStack Start, Elysia, Drizzle, PostgreSQL, and worker queues | Product |
refeff — pure-Rust FEFF10-compatible spectroscopy stack
| Published crate | Role |
|---|---|
refeff |
Typed application-facing facade |
refeff-cli |
CLI and FEFF-compatible executables |
refeff-engine |
Embeddable computation pipeline without CLI dependencies |
refeff-core |
Numerical kernels |
refeff-io |
FEFF input, output, and handoff file formats |
refeff-linalg |
faer-backed linear algebra bridge |
ruviz — plotting across Rust, Python, browsers, and native GUIs
- Core distributions: crates.io, PyPI, and npm.
- Browser runtime:
ruviz-web. - Native adapters:
ruviz-gpui,ruviz-egui,ruviz-iced, andruviz-slint.
Yuru — phonetic fuzzy search as composable Rust crates
| Published crate | Role |
|---|---|
yuru |
Shell-facing fuzzy finder |
yuru-core |
Matching and ranking engine |
yuru-ja |
Japanese romaji and kana support |
yuru-zh |
Chinese pinyin support |
yuru-ko |
Korean Hangul support |
yuru-tui |
Terminal interface |
Aibo — desktop AI application workspace
Aibo is distributed as macOS and Windows releases. Its internal Rust crates are intentionally unpublished and separate the domain model, model providers, platform integrations, session orchestration, storage, tools, agent loop, and iced UI.
X-ray and scientific Rust ecosystem
| Project | Packages and role |
|---|---|
| xraytsubaki | Source workspace for XAS analysis, desktop UI, and in-development Python bindings; optionally uses refeff, feff10, and ruviz |
| feff10-rs | Fortran-backed FEFF10 integration: feff10, feff10-cli, feff10-sys, and Python bindings |
| xraydb-rs | Elemental X-ray data: xraydb and xraydb-data |
| chemical-formula-rs | Formula and composition parsing for Rust, Python, and npm |
| 1D and 2D baseline correction with pybaselines parity and optional GPU kernels; published crate | |
| lmopt | Source workspace for Levenberg-Marquardt nonlinear least-squares optimization using faer |
| RSpin | Unpublished NMR workspace: facade, core, IO, processing, analysis, simulation, prediction, and WebAssembly bindings |
feff10-rs wraps the original FEFF10 Fortran implementation; refeff is a separate from-scratch Rust implementation. RSpin and lmopt are not currently published on crates.io.
Safety, risk assessment, and regulatory data
| Project | Published artifact | Focus |
|---|---|---|
| ra-library | PyPI | Explainable chemical risk calculations and recommendations |
| ra-law-db | PyPI · bundled SQLite | Japanese chemical-law screening and public regulatory data |
| ra-bio | PyPI · bundled SQLite | Microorganism, biosafety, and regulatory references |
| risk_assessment_list | Source and SQLite data | Experimental obligation-list, GHS, and mixture screening |
Other published tools
| Project | Published artifact | Focus |
|---|---|---|
| ondotori-ble | PyPI · documentation | Typed BLE advertisement APIs for selected T&D Ondotori sensors |
Earlier XAS tools and datasets
mucaljs ·
xasanalysis ·
xasalign ·
xasref ·
IBR-AIC ·
DecomNano ·
crowpeas ·
cif-parser
| Project | Area | What it is |
|---|---|---|
| X-ray spectroscopy | From-scratch, safe-Rust FEFF10-compatible engine and CLI | |
| feff10-rs | X-ray spectroscopy | Rust, Python, CLI, and C-facing integration for the original FEFF10 implementation |
| Scientific computing | Baseline correction for signals, spectra, and 2D surfaces, with optional GPU kernels | |
| RSpin | NMR | Rust workspace for spectrum IO, processing, analysis, simulation, prediction, and WebAssembly |
| lmopt | Numerical methods | Levenberg-Marquardt nonlinear least-squares optimization using faer |
| xraydb-rs | X-ray data | Pure-Rust port of XrayDB elemental reference data |
| chemical-formula-rs | Chemistry | Formula and composition parsing for Rust, Python, and TypeScript |
| ondotori-ble | Instrumentation | Typed Python APIs for selected T&D Ondotori BLE advertisements |
| ra-library | Risk assessment | Explainable chemical risk calculations and recommendations |
| ra-law-db | Regulatory data | Japanese chemical-law screening package and SQLite data |
| ra-bio | Biological safety | Microorganism risk and regulatory reference package |
| risk_assessment_list | Regulatory data | Japanese obligation-list, GHS, and mixture screening tools |
| LLMRateLimiter | AI infrastructure | Distributed TPM/RPM rate limiter with FIFO queues and burst prevention |
| ClaudeSlide | Documents | CLI and library for editing PowerPoint files through OOXML |
| easypptx | Documents | Python library for creating and manipulating PowerPoint presentations |
| agenting | Developer tools | CLI for generating managed AGENTS.md and CLAUDE.md instructions |
| cobalt-stack | Full-stack development | Axum and Next.js application template |
| X-ray data | JavaScript implementation of MUCAL cross-section estimation | |
| cif-parser | Crystallography | Rust parser for Crystallographic Information Files |
| xasanalysis | XAS | Python helpers for XAS analysis workflows |
| xasalign | XAS | Python package for aligning XAS spectra |
| xasref | XAS | Reference spectra dataset and Python access tools |
| IBR-AIC | XAS | Bragg peak removal for transmission and fluorescence spectra |
| DecomNano | Nanoscience | XAS-derived heterogeneity analysis of bimetallic nanoparticles |
| crowpeas | Machine learning | Neural-network experiments for EXAFS fitting |




