Research → Working System

Turning ideas
into working systems.

Working across AI, embedded systems, devices, and the web, I turn research ideas and technical concepts into testable software and working prototypes. I can also join mid-project — investigating why something isn't working, or picking up a technical evaluation already in progress.

Feel free to reach out even mid-way through research, prototyping, or debugging.

40+ YEARSFollowing technology as it changes
CROSS-DOMAINAI / Embedded / Devices / Web
END-TO-ENDDesign, implementation, hardware verification, operation
29 TITLESTechnical book translation, supervision, and editing

What I Can Take On

What I Can Help With

Organized by the kind of problem you can bring me, not a list of technologies. This includes tools that fall outside your core research but still need building, and bugs whose cause isn't known yet.

Build research software and verification tools

Experiment and measurement tools, sensor data visualization, performance comparison, cross-OS verification — designed and built around your specific research goal.

Connect AI to devices, the OS, and sensors

Using MCP servers and similar bridges, let an AI client operate BLE devices, capture the screen, monitor serial logs, or reach into a business system.

Prototype AI / LLM-powered tools

From multi-agent systems and structured output to full prototypes with auth, a database, and streaming. On-device inference that reduces cloud dependence is also in scope.

Build sensor / microcontroller / IoT hardware

Multi-MCU coordination, wireless communication, low-power design, cloud integration, and companion phone apps. Delivered as working hardware plus handoff documentation.

Isolate why something doesn't work, or runs slowly

I isolate root causes by measuring and testing hypotheses — reading library source, checking OS settings, tracing communication, right down to the hardware boundary.

Selected Work

Selected Work

Each entry states clearly whether it's a concept, a prototype, hardware-verified, or in production. For client work that can't be disclosed, the company name and confidential details are withheld.

Building MCP servers, one per use case, to connect AI to the physical world
Illustration of the MCP server suite

MCP server suite

Rust / TypeScript / MCP

I/O adapters that let an AI client reach BLE devices, capture the screen, or monitor serial logs across multiple devices.

Implementation scope

Implemented BLE read/write/notify, screen and window capture, multi-device serial log monitoring and summarization, a web UI, and both stdio and HTTP transports.

● In daily use
Illustration of the TTS x lip-sync avatar framework for AI agents

TTS x lip-sync framework for AI agents

Tauri / Rust / Azure Speech / MCP

Gives AI dev-support tools like Claude Code a voice and a 3D avatar body, via MCP. Used daily to have TTS read out the progress of dev work.

Implementation scope

An MCP server built into the Tauri app (list voices, speak, play VRMA animations, and more), TTS via Azure Speech Service, VRM avatar lip-sync, and Windows/macOS/Linux support.

End-to-end communication verified on real hardware
Illustration of Bluetooth PAN / low-power IoT communication

Bluetooth PAN / low-power IoT communication

C / ESP-IDF / BTstack

Implemented BNEP/PAN, which isn't in the standard stack, to get internet access via a smartphone. Also designed the wake-cycle correction and current-measurement methodology.

Implementation scope

Verified SDP, SSP pairing, BNEP, DHCP, and HTTPS communication on real hardware. Corrected deep-sleep wake-cycle jitter using EWMA prediction.

Server and client implemented (integration testing pending)
Illustration of PC control from a VR headset

PC control from a VR headset

Rust / NVENC / OpenXR

A remote-desktop system that streams a Windows app's screen over HEVC and displays it as a manipulable panel in VR space.

Implementation scope

Implemented zero-copy GPU encoding, UDP video delivery, input injection, OpenXR rendering, 6DoF manipulation, and hand tracking.

● In production
Illustration of an AI chatbot for LINE

AI chatbot for LINE

Node.js / nginx / systemd

Runs continuously on a self-hosted server. Supports switching between multiple LLMs, web search and image generation, and an admin panel — hardened against stalls and rendering glitches hit in real operation.

Implementation scope

Implemented the webhook, an authenticated admin panel, switching between OpenAI/xAI/Google, selective replies in group chats, and Flex Message rendering with a plain-text fallback.

Delivered (client project, company name withheld)
Illustration of the production-line model for demoing a manufacturing management system

Production-line model for demoing a manufacturing management system

Arduino / Raspberry Pi / PLC

A tabletop production-line model built to demonstrate a manufacturing management system — reproducing conveyance, processing, assembly, inspection, pass/fail judgment, and sorting. Integrates role-split coordination across multiple MCUs with image- and color-based judgment.

Implementation scope

Built out motor PWM control, PLC relay communication, photoelectric sensors, camera and color-sensor integration, servo control, a shared library, and handoff documentation.

How I Debug

How I Debug

I consider the process of getting to a root cause — not just the deliverable — part of what makes technical support good.

Don't fix on a hunch —
observe first, then decide.
It wasn't the GPU that was slowIsolated and measured stuttering in object detection, and traced the cause to the camera's auto-exposure.
Symptom

Real-time object detection video was stuttering.

Approach

Instead of assuming "the model inference must be heavy," measured GPU inference and camera frame delivery independently.

Measurement

Tested each hypothesis separately: USB bandwidth, sensor readout, warm-up time, driver settings, and a dirty lens.

Conclusion

The GPU was using only 1/22 of its inference capacity — the fix needed wasn't model optimization, it was better lighting.

The servo problem was an OS settingTraced the issue past the wiring and code, into PWM clock management, and resolved it there.
Symptom

A servo connected to a Raspberry Pi wasn't moving to the commanded angle.

Approach

Instead of stopping at wiring and code, investigated the OS's PWM clock management as well.

Measurement

Isolated the default settings and found a hardware clock conflict with the audio driver.

Conclusion

Resolved with a configuration change, and documented the cause and fix in the README to prevent recurrence.

Same panic, a different cause each timeRefused to treat the ESP32 crashes as one bug, and separated them into several independent ones.
Symptom

Repeated crashes during HTTPS communication, always showing the same panic message.

Approach

Before just increasing the stack size, switched to logging remaining stack space and capturing backtraces.

Measurement

Worked through stack monitoring, disabling unneeded features, freeing heap, and backtrace analysis in sequence.

Conclusion

Identified and fixed stack pressure, an object-lifetime issue, and an invalid free during disconnect handling — each a separate bug.

Publications / Editorial Work

Publications

Illustration representing technical book translation and editing work
Editorial / Translation / Technical Books
29titles
Technical book translation, supervision, and editing (under the company's name)

From the late 1990s to the early 2000s, I worked on translation supervision, technical supervision, editing, and writing for PC and programming books. Translating and editing complex technology from abroad into something Japanese engineers could actually use still shapes how I design and build today.

In addition, under my own name, I supervised or translated titles including "Windows 95 Bible."

Windows 98 BibleSupervising TranslatorImpress1998
Windows 2000 Professional BibleSupervising TranslatorImpress2000
Active Directory (in depth)Supervising TranslatorO'Reilly Japan2001
Game Creators' BibleSupervising TranslatorImpress2001
Professional Java (Vol. 1 & 2)Supervising TranslatorImpress2001
Introduction to Java StudioAuthorSoftBank Publishing1998
Show all 29 titles under the company name
  1. Windows 95 Game Programming: Intro to DirectX (Supervising Translator, 1997)
  2. Game Creators' Bible (Supervising Translator, 2001)
  3. The Complete Guide to Powerful CGI Techniques (Supervising Translator, 1997)
  4. Active Directory (in depth) (Supervising Translator, 2001)
  5. The Complete Guide to Powerful Java Techniques (Supervising Translator, 1997)
  6. Build Your Own PC: Windows 98 Edition (Editor, 1999)
  7. Build Your Own PC: Windows Me/2000 Edition (Editor, 2000)
  8. The Complete Guide to Powerful Perl 5 Techniques (Supervising Translator, 1998)
  9. The Complete Guide to Powerful Visual Basic 4 Techniques, Vol. 2 (Supervising Translator, 1996)
  10. High-Speed 3D Graphics for Windows 95/98/NT (Translator, 1999)
  11. Professional Java, Vol. 1 (Supervising Translator, 2001)
  12. Professional Java, Vol. 2 (Supervising Translator, 2001)
  13. C# Language Reference Black Book (Supervising Editor, 2002)
  14. Practical C# Programming (Supervising Editor, 2001)
  15. The Complete Guide to Powerful C++ Techniques (Supervising Translator, 1999)
  16. C++ MIDI Programming (Supervising Translator, 1999)
  17. Introduction to DirectX 3D Game Programming (Supervising Translator, 2000)
  18. Introduction to DirectX 5 Game Programming (Supervising Translator, 1998)
  19. Introduction to Java Studio (Author, 1998)
  20. The Complete Book of Linux (Supervising Translator, 2000)
  21. Web Page Sound Techniques (Supervising Translator, 1998)
  22. Windows 2000 Professional Bible (Supervising Translator, 2000)
  23. Windows 2000 Professional Networking Bible (Supervising Translator, 2000)
  24. Windows 98 Secrets (Supervising Editor, 1998)
  25. Windows 98 Tuning Black Book (Supervising Editor, 1999)
  26. Windows 98 Bible (Supervising Translator, 1998)
  27. Windows 98 Bible, Professional Edition (Supervising Translator, 1998)
  28. Windows 98 Registry Black Book (Supervising Editor, 1999)
  29. Windows NT Server 4 Network Bible (1997)

About

Background & Current Interests

My earliest technical work was porting Fantavision — an Apple II animation program — to the PC-9801, building the assembly-language animation-generation engine. From there: translation-supervising and technical-supervising books, embedded systems, industrial demonstrator hardware, mobile apps, and AI agents. Rather than stay in one domain, I've kept doing the same underlying work — understanding complex technology, verifying it, and turning it into something other people can use. Right now I'm especially interested in connecting AI to the OS, devices, and sensors, instead of leaving it confined to a chat window.

01

Connecting AI agents to the physical world

Mechanisms — MCP and similar — that let AI operate devices, OS functions, and business systems.

02

Cloud-independent inference

Running LLMs entirely on-device, designed to reduce dependence on connectivity, accounts, and external APIs.

03

Low-power communication grounded in real measurement

Measuring how power-saving modes actually behave, and designing from those measurements rather than datasheet numbers.

Timeline

Development Activity Timeline

From October 2024 to the present, cross-referencing records left in both macOS and Windows working environments (git commit history, READMEs, work logs) with activity on GitHub — personal repos and the cami org (my own team's repos) — laid out chronologically. It shows a throughline from book supervision/translation to AI and embedded work, growing markedly denser over the last two years.

Kaz Sato — Software Development Activity Timeline Built from ~/Work directories (macOS/Windows) + GitHub (personal + cami org) (October 2024 – September 2026) Category: AI Collaboration / MCP VR / 3D / Photogrammetry Embedded / IoT Desktop / Mobile Apps Audio / Music / Games Other 2024 2024-10 anidet Node.js tool prototyping a detection process Node.js 2024-12 sIoTamago board bring-up Built a full set of Zephyr/Arduino board definitions for the nRF52840-based "sIoTamago" custom board Zephyr / nRF52840 2025 2025-05 Motor control prototype (BLE) Sending motor/vibration control parameters over a Flutter app via BLE characteristics Flutter / ESP32 (BLE GATT) 2025-07 linkstogo A secure URL-management desktop app with encrypted storage Flutter / Dart / SQLite 2025-07 meetingofthespirits Real-time audio streaming over WebSocket + AI chat Vue.js / Vite / Express 2025-07 In-pipe camera / BLE transfer prototype An ESP32 setup that captures JPEG images and transfers them to a phone over BLE, plus a companion app ESP32 / BLE / Flutter 2025-07〜08 Pico 4 VR experiments VR UI experiments on the Pico 4 — WaylandTerm, guacaspace, and others Pico4 / OpenXR 2025-07〜09 WaterWars water-level monitoring prototype An early prototype of a long-range wireless water-level monitoring system using SX1262 LoRa and an ultrasonic sensor ESP32 / LoRa (SX1262) / Ultrasonic sensor 2025-08〜11 In-pipe photogrammetry pipeline ESP32 fisheye camera capture plus an OpenGL/GLFW visualization toolset ESP-IDF / C++ / OpenGL 2025-09 incog A secure URL-sharing system with OAuth2 auth and PIN encryption Node.js / Flutter 2025-11 another-copilot / lovelace Prototyping an AI coding-assist / vibe-coding chat tool as a VS Code extension TypeScript / VS Code API 2025-11 GlChecker A Blender-based check tool for an autonomous underwater vehicle (AUV) Blender 2025-11〜2026-02 Embedded board bring-up Device-tree tuning for an nRF5340/nRF7002 custom board; tracked down the cause of a WiFi connectivity fault Zephyr / nRF Connect SDK 2026 2026-01 agent-girl An ADHD body-doubling app with a companion VRM 3D agent Tauri / TypeScript 2026-01 langstream / engless An English↔Japanese listening-practice platform using AI generation + TTS Python / Flutter / TTS 2026-02 MCP server suite, first wave serial-monitor and web-search — MCP servers giving AI a physical interface Node.js / TypeScript (MCP) 2026-02 WaterWars LoRa GPS Implemented LoRa point-to-point sensor↔gateway communication carrying GPS telemetry, plus a web dashboard server ESP-IDF (ESP32-S3) / TypeScript 2026-02 3D board game prototype An isometric 3D board game with Tank/Archer/Healer/Caster roles Tauri / Three.js 2026-03 MCP server suite, second wave bluetooth-helper and screen-capture — opening up BLE and the screen to AI Rust / MCP 2026-03 Embedded hardware, expanded A BLE HID foot switch, an nRF52 BSP, and a Rust-based Windows IME switcher ESP-IDF / Arduino / Rust 2026-03〜05 TTS × lip-sync framework Experiments in AI-driven TTS speech with 3D avatar lip-sync (ongoing) Tauri / Rust / Azure Speech 2026-03〜04 vrws (VR Window Stream) A system that streams a Windows screen over H.265 to a VR headset and allows controlling it there Rust / Tokio / OpenXR 2026-04 photogramet A C++ GUI app integrating COLMAP for in-pipe photogrammetry C++ / CMake / COLMAP 2026-04 soundvisualizer A plugin-capable desktop visualizer that runs FFT analysis on system audio Rust 2026-05 WaterWars × Meshtastic integration Forked an open-source LoRa mesh firmware and added ww-gateway-node, which relays position data to the gateway as water-level-monitoring schema. Untangled a multi-layered crash by isolating its causes one at a time. ESP32 / PlatformIO / WiFiClientSecure / FreeRTOS 2026-05 sIoTamago bare-metal assembly experiments LED blink and RAM/flash memory tests written entirely in assembly, with no bootloader Assembly / nRF52840 2026-06 kintone-get-hours A desktop app that tallies work hours via the Kintone REST API and auto-generates invoices Rust (egui) 2026-06〜07 Industrial-line demonstrator hardware A tabletop demonstrator, coordinated across multiple MCUs, covering conveyor transport through inspection and sorting Arduino / Raspberry Pi 4 / PLC 2026-06 rss-curator / news-cache Fixed a bug in RSS article filtering; built out a news-caching layer Node.js / Python 2026-06 tidalwinds A personal news chat where the AI opens the conversation, prompted by the day's articles Python 2026-06 agent-fleet-monitor A dashboard for watching multiple Claude Code sessions' status, progress, and tool-call history in real time from a browser HTML / JavaScript 2026-06 aicussion A platform where four LLM agents, each with a distinct role, debate while searching the web Python / FastAPI / OpenAI API 2026-07 rpg_zero A 2D isometric action-RPG template with real-time combat Godot 4.7 / GDScript 2026-07 house_of_agents A desktop app that visualizes Claude Code hook events as a glowing, animated sphere Tauri / Rust / Three.js 2026-07 line_msg A bot in production, using the LINE Messaging API, where AI responds in both 1:1 and group chats Node.js / Express 2026-07〜08 ESP32 Bluetooth PAN / QSPI display / tethering A Bluetooth PAN implementation built on BTstack, a native QSPI-display driver, and multi-board WiFi tethering ESP-IDF / BTstack / C 2026-07 ai3dmodeler A VRM-generation pipeline where the LLM only generates the skeleton, and mesh/rigging are handled deterministically Python / Blender / three.js 2026-07 yolo-test-00 Comparing real-hardware performance of YOLO object detection and pose estimation on Linux vs. macOS Python / Ultralytics YOLO11 2026-08 bandbox (ongoing) A system that analyzes a musical theme and generates real-time accompaniment Python / Tkinter 2026-08 beacon-gadget / beacon-gadget2 A monorepo where a button press makes an nRF52840 advertise as an iBeacon, detected in the background by a Flutter app nRF52840 / Flutter 2026-08 footswitch-pico / jam-tonight-app A USB HID foot-switch controller for bandbox, and turning a multi-agent music-generation experiment into a Rust app C (RP2040) / Rust 2026-08 Small prototypes A technical-book-supervision support app, a design study on rPPG heart-rate/expression estimation, a Rust text editor, and more Rust / Python / Tauri 2026-09 conatus A 3D ecosystem simulation of plants, herbivores, and carnivores (soil nutrient cycling, water, predation) Rust / Bevy (ECS) 2026-09 fx-predictor An FX-rate prediction prototype combining war, shipping-chokepoint, gold-price, crypto, and exchange-rate data (does not execute real trades yet) Python 2026-09 fx-predictor (update) Forward-testing several allocation strategies (directional alert, profit-first, aggressive allocation) in parallel on shadow accounts (real order execution is still disabled) Python 2026-09 Yorisoi Note A mental-health conversation prototype that runs inference on LM Studio and doesn't persist conversations. Also includes a Flutter voice client with TTS/STT. Next.js (custom WebSocket server) / TypeScript / Flutter 2026-09 ssh-mcp An MCP server that lets an AI agent operate remote Linux servers over SSH. Any sudo command blocks until a human approves it via a local GUI dialog — a safety design. Rust / MCP 2026-09 iothub An mTLS-authenticated HTTPS/MQTTS IoT telemetry ingestion server. Implements mTLS device-certificate authentication, storage in a MongoDB Time Series collection, and a web viewer. TypeScript / MongoDB / mTLS 2026-09 wiobg770a-test-0 Test firmware for the Wio BG770A cellular board. Integrates Grove sensors (BME280, GPS, magnetic switch, etc.), mTLS MQTTS communication, and data upload to SORACOM Harvest. Arduino (arduino-cli) / BG770A / mTLS MQTTS 2026-09 profile-updater An automation pipeline that scans GitHub activity and drafts update candidates for this external-facing profile (this timeline and portfolio), always subject to human review before anything is applied. Python / GitHub CLI (gh) / launchd

Contact

From the research-and-concept stage
onward — feel free to reach out.

It's fine if you're still at the "I'm not sure what to even ask for" stage, or want to talk through how to verify something before starting.