Skip to content

Latest commit

 

History

4 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 

Repository files navigation

Game and XR engineer in Nagoya, Japan. Thirteen years building characters and realtime experiences — mobile games, industrial VR/MR, and lately products built around generative AI. Making things that feel alive, not just things that move.

Profile

  • Languages / Engines: C# (Unity), C++ (Cocos2d-x), Python, TypeScript, Dart (Flutter)
  • XR: Varjo XR-3, Meta Quest, Magic Leap 2, HoloLens 2, Apple Vision Pro, XREAL, MRTK, VRM, Live2D
  • Realtime: WebRTC, RTSP, UDP, Photon, Netcode for GameObjects, DirectShow
  • Web: Next.js, React, Cloudflare Workers, Vercel
  • Interests: Simple rules that add up to something worth watching — boids, ant pheromone trails, Conway's Life, city builders. The whole technical craft of making games, generative AI, making characters feel alive in conversation
  • Engineering Style: Read the source. Someone already answered this in 2019 and forgot to write it down
  • Desk Life: A headless Mac mini running local LLMs, and an e-paper calendar I built for family that generates roughly one support call per month

What I Do

I build the client side of realtime applications, and lead small teams doing the same.

  • Game logic, graphics, UI, realtime networking, resource pipelines — the whole client surface, across three shipped mobile titles on Unity and Cocos2d-x
  • Industrial VR/MR simulators: a real cockpit seat, a headset, and a virtual world tracking hardware telemetry in realtime
  • Feasibility calls and estimates at kickoff, then design, implementation and review, as engineering lead for a team of four
  • Web apps where an LLM is the premise rather than a feature — TypeScript and Next.js, shipped on Vercel

Most of that is ordinary work done carefully. Now and then the straightforward path is closed — the third-party product can't be modified, the library was never meant to do this, the show opens next week. That part I enjoy. I once added an avatar to a product I wasn't allowed to touch, by pretending to be a webcam.

What I Care About

  • The details nobody put in the spec: a character standing perfectly still reads as broken. The half-second of idle sway isn't a requirement anywhere, and it's the difference between alive and not
  • Undocumented behavior: the interesting bugs live in the gap between what a library says and what it does
  • Writing down why: decisions outlive the people who made them, and an agent picks up a repo faster when the reasoning is in the tree
  • Giving fixes back: if a library breaks at work, the fix goes upstream — Android-PullToRefresh (#56), msgpack-java (#18), UnityCapture (#36), uWindowCapture (#5), MRTK-Profiles-for-NrealLight (#4). Doing this since 2012

Before All This

My university research was a conversational agent that tried to persuade people. Generative AI didn't exist yet, so we collected the training data with the Wizard of Oz method: subjects were told they were talking to an AI, and I was the AI.

Impersonating an AI was the first job I lost to AI.


Pinned above. Most of my recent work is in private repositories; the rest of the list is Android, from a decade ago.

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors