Tech is just a tool, But life matters.

Building AI that helps people live better.

I build agents that plan, act and verify — from teaching a ship to steer itself to a platform that runs the products around me. Every project here started with a real person or a problem I cared about.

Open to AI / ML · agentic-systems · Python-backend roles in New Zealand
A hand-drawn journey: a small sailboat on the water leaves a trail that rises past a sprout, a sun, a winding path and small app cards, up to a bright spark. from a boat → to agents that act → to products for real people

It all starts with one agent.Yumi — the flagship ↓

012025 – now · The flagship · yumi.nexus

Yumi — the agent that runs everything I build.

Say it in plain language and Yumi plans, calls the right tools, acts across your ecosystem, and verifies the result. Built in three layers: an open-source agent, an enterprise platform, and my own Nexus deployment that powers Temi, Memori and the hardware around you.

yumi ① · the engineopen source · Apache-2.0
❯_ yumi-agentone API to let AI call functions — in any language, on any device

Say it in plain words.The room follows.

The open-source core I wrote runs the whole agentic loop — it plans, calls the right tools, acts, and verifies. The scene beside this is a live trace of it:

  • It acts, for real — every chip is an actual tool call: light, set_curtains, ♪ lo-fi
  • Then it verifies — the closing line is the product’s own reply, not decoration
  • Bring your own function — register water_plants() in Rust (or 10 other languages); your very next sentence can use it
$ pip install yumi-agent yumi-agent on GitHub ↗ yumi.nexus ↗
yumi ② · the architectureall three layers solo-built
The Yumi Stackopen-source core → commercial platform → my own ecosystem

Open source at the base.A business on top. My ecosystem above.

  • L1 · yumi-agent — the open-source core. Free for everyone: anyone can build their own agent with it.
  • L2 · Yumi Enterprise — L1 plus multi-tenancy, billing & admin. This is the layer other companies buy.
  • L3 · Yumi Nexus — my own deployment of L2. Every app I ship plugs in here and is driven by conversation — it shows off L2, and it grows my own ecosystem.
yumi ③ · the identityid.yumi.nexus
🔑 Yumi IDone sign-in for every Yumi app and device

Register once.Your agent reaches everything.

I built a unified sign-in, id.yumi.nexus. All my apps log in through it — so behind the scenes they share one backend.

  • One account — sign up once; subscriptions managed in one place
  • Every app signs in with it — Temi ✓ Memori ✓ and whatever I ship next
  • So Yumi sees the whole picture — it reaches across every app's data to pick the right words and the right tools
Agentic-loop designAPI & SDK designMulti-tenant SaaSUnified auth (SSO)Cloud deployment

Then it becomes things people use.Shipped work ↓

02Shipped · in real use

Products people actually use.

The line forks to four things I shipped. Temi and Memori are driven by Yumi; SaKi and Meetup stand on their own — each began with one real person or community.

shipped ①driven by Yumi
TemiRain or Shine — tasks, habits & mood diary

A day that keeps itself.Tasks, habits — and how today felt.

“One calm home for your days”: reminders, goals and habits with gentle streaks — and a one-swipe mood diary watched over by a radish who dozes until you log.

  • Reminders · goals · habits — three progress modes: check-in, percent, count (“30 sit-ups”)
  • Say it to Yumicreate_temi in chat, and it appears in the app live
  • Mood, gently — seven levels from rough to delighted; the radish wakes when you do
shipped ②driven by Yumi
MemoriNow and Once — AI vocabulary cards & review

Meet a word in the wild.It comes back right before it fades.

Capture words the moment you meet them; one ✨ tap builds the whole card — pronunciation, meaning, examples. Reviews are just “Know it / Don’t know”: a custom forgetting-curve scheduler decides what returns, so there is never a “due” pile.

  • ✨ one-tap card — AI fills pronunciation · meaning · examples
  • Know it / Don’t know — mastery climbs a ladder of return times: ¼ day → 1 → 3 → 6 → 14 days
  • Ten languages — Aa · 文 · あ · 가 · … · Te Reo Ā
shipped ③independent · App Store
SaKiWalk the Line — an ARKit game

Ever balanced along a painted line as a kid?Record a real path. Walk it again. Don’t step off.

An ARKit game: walk anywhere to record a trail, and SaKi scatters coins and gifts along it. Retrace it inside the corridor — drift, and the fireflies turn red and your heartbeat rises; 0.8 m off and you fall.

  • Record by walking — the path is sampled every 0.12 m as you move
  • The corridor judge — warn at 0.20 m, fall at 0.8 m; fireflies fade cyan → red
  • Shipped as a Christmas gift 🎄 — win, and the confetti says “Merry Christmas!”
shipped ④independent
🎲 Meetup SeaterAuckland JP–EN Exchange — seating that remembers

Thirty people, four to a table.Everyone meets someone new.

Built for Auckland’s Japanese–English exchange (ようこそ!): check in at the door, tap 🎲, and a history-aware seater balances the languages at every table while avoiding repeat pairings. Your phone shows your table and the round countdown.

  • Check-in at the door — bilingual UI, names & language into Firestore
  • The seater — language-balance seeding, then minimise repeats (last round counts ×3)
  • Your phone is your seat — a big table number and the round’s countdown ring
runs at the door · Streamlit + Firestore
Cross-platform apps (Flutter · SwiftUI)AR (ARKit)Firebase backendsApp Store delivery0→1 product design

But the instinct began in research.Research foundations ↓

03Research · Master's & RL

Decisions grounded in evidence and feedback.

Two research systems, one focus. CiteSeek — my Master’s thesis — searches, cites and verifies with grounded evidence. Ship RL — where it all started — a physics world I built where a policy learns to steer and give way.

research ① · master’s thesisUniversity of Auckland
❝❞ CiteSeek“Credit Where Credit Is Due” — an agentic citation support tool

Select a claim in a paper.It finds who deserves the credit — and proves it.

An agent that searches the open scholarly record, ranks candidates, pins passage-level quotes and judges each one — with verdicts grounded: a quote only counts if it appears verbatim in the retrieved paper, so the judge cannot invent evidence.

  • Search wide — LLM-generated queries fan out to arXiv, Semantic Scholar & OpenAlex, deduped and embedding-ranked
  • Follow the citations — snowballing through references lifted retrieval from 11/28 to 28/28 benchmark claims
  • Grounded judging — supports / partially / background / unrelated with confidence; R@5 0.91 · MRR 0.84
citeseek on GitHub ↗ also an MCP server — 8 tools, e.g. find_supporting_papers
research ② · BEng thesisTianjin University · 2023
Ship RLa reinforcement-learning world for autonomous ships

8 km of open water, a rudder,a rulebook — and 5,000 episodes.

My undergraduate thesis built the training world itself: a 4-DOF ship-physics simulator (MMG model, parameterised from a real 111 m container ship) where a Soft Actor-Critic policy learns to hold course and dodge traffic — with the collision rules written into the reward.

  • The world — surge · sway · yaw · roll physics; rudder ±35° slewing at 5°/s, one decision every 6 s
  • The rulebook — COLREGs encounters (head-on · crossing · overtaking) shaped into rewards: give way to starboard
  • The learning — collision-avoidance success 95% after ~4,000 episodes, vs 12–27% for a sparse-reward baseline
SAC & TD3 · PyTorch · pygame environment · MATLAB MMG model
Agentic RAG · MCPDeep RL (Soft Actor-Critic)Physics simulation (4-DOF MMG)Reward shaping (COLREGs)

Different systems. One pattern.The loop behind the work ↓

04The pattern behind the work

Yumi is the full loop. The shipped work proves I can deliver it.

Yumi is the clearest expression of how I build: understand intent, plan, act and verify. The shipped apps prove I can turn that thinking into software for real people. The research contributes two habits underneath it all — ground decisions in evidence, then improve them through feedback.

Every loop starts with a real person.Let's talk ↓

The line reaches its end

Let's build something that acts.

Early-career, endlessly curious, and happiest shipping things people actually use. The best way to reach me is a plain email — I answer everything.