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 29 plot types, publication output, and interactive tooltips and series controls | Demo · v0.11.0 · Rust · Python · npm | |
| Rust | Fast CJK-aware fuzzy finder with Japanese, Chinese, and Korean phonetic search plus Bash, Zsh, Fish, PowerShell, and Clink integration | Demo · v0.2.3 · crates.io | |
| EasyPPTX | Python | AI-friendly PowerPoint generation with grid and Deck builders, Markdown conversion, auto-pagination, themes, and table style presets | Demo · v0.11.0 · PyPI |
| Python | Reactive chemical hazard evaluation with thermodynamic estimation, CHETAH-style screening, decomposition analysis, and batch SMILES workflows | PyPI · Docs | |
| 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 |
EasyPPTXeasypptx-promo.mp4 |
promo.mp4 |
baselines-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 interactive plots, shareable XAS-planning links, attenuation, scattering, optics, and sample-preparation calculators | Web app · Demo · Desktop releases | |
| AI tagging workflow built around a Rust API, queue workers, object storage, and a TanStack Start UI | Product | |
| Personal-first task manager built with TanStack Start, Elysia, Drizzle, PostgreSQL, and worker queues | Product |
refeff — pure-Rust FEFF10-compatible spectroscopy stack
Current release: refeff 0.2.2, with the component crates at 0.1.3.
| 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, all at 0.11.0: 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 |
Elemental X-ray data v0.4.1 for Rust with xraydb-data, plus the self-contained xraydb-wasm npm package |
|
| chemical-formula-rs | Formula and composition parsing for Rust, Python, and npm |
| 1D and 2D baseline correction with pybaselines parity and optional GPU kernels; Rust, Python, npm, and video | |
| 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 |
|---|---|---|
| PyPI · documentation | Reactive chemical hazard evaluation and CHETAH-style instability screening; for screening only, with experimental validation required | |
| PyPI | Explainable chemical risk calculations and recommendations | |
| PyPI · bundled SQLite | Japanese chemical-law screening and public regulatory data | |
| 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 |
|---|---|---|
| EasyPPTX | PyPI · v0.11.0 · video | AI-friendly PowerPoint creation with grid and Deck builders, Markdown conversion, and designed table presets |
| 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 and surfaces in Rust, Python, and WebAssembly/npm | |
| RSpin | NMR | Rust workspace for spectrum IO, processing, analysis, simulation, prediction, and WebAssembly |
| lmopt | Numerical methods | Levenberg-Marquardt nonlinear least-squares optimization using faer |
| X-ray data | XrayDB 0.4.1 elemental reference data for Rust and WebAssembly/npm | |
| chemical-formula-rs | Chemistry | Formula and composition parsing for Rust, Python, and TypeScript |
| Chemical safety | Reactive chemical hazard evaluation and CHETAH-style screening for Python, with public documentation | |
| ondotori-ble | Instrumentation | Typed Python APIs for selected T&D Ondotori BLE advertisements |
| Risk assessment | Explainable chemical risk calculations and recommendations | |
| Regulatory data | Japanese chemical-law screening package and SQLite data | |
| 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 | PyPI package for AI-friendly PowerPoint generation with grid layouts, Markdown, auto-pagination, themes, and table style presets |
| 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 |




