I’m Vincent, an AI and software engineer in Auckland. I build apps for daily life, assistants that can use them, and tools for research — from the first idea through to working software.
3
apps on the App Store
~30
people at a meetup using my tool weekly
Open source
AI agent framework published on PyPI
Open to applied AI & software engineering roles in New Zealand
Personal ideas. Research foundations. Working products.
It all starts with one agent.Yumi — the flagship ↓
012026 – now · The flagship · Yumi Nexus
Yumi — an assistant that can use your apps.
Ask Yumi to create a reminder in Mugi or save a word in Memori, and it uses the connected app’s tools to do it. I built the agent framework, user accounts, app integrations and mobile/web client — from the first request to a visible result.
You say
light · warm 30% ✓
set_curtains✓
♪ lo-fi ✓
your water_plants() · Rust
water_plants()✓
Illustrated example · words → tools → result
yumi ① · the engineopen source · Apache-2.0
❯_
yumi-agent
An open-source framework that connects AI to software tools
Ask in everyday language.Let connected tools do the work.
I built the Python core that turns a request into tool calls and a checked response. This room is an illustrated example of the loop: plan, act, then check the result.
Choose a tool — route requests through Claude, Gemini, OpenAI or Ollama using native tool calling.
Check the response — use returned tool results to decide what to do next and what to tell the user.
Connect your code — register functions over WebSocket using multi-language SDKs; water_plants() illustrates a custom tool.
Seven products, each built around a real need. A calmer day, a word remembered, a room brought together. Explore the work in use and the ideas still on my workbench.
01 — Out in the world
Small things, used in real life.
Four App Store releases and a tool used at weekly meetups.
Released · connected to Yumi
Mugi
Tasks, habits & mood diary
Product artwork & app screens · illustrative task
Plan the day. Leave room for life.
Reminders, goals, habits and a mood diary in one calm place. Keep what you did alongside how the day actually felt.
Ask Yumi to add a task, check off a habit, then make a little space for how the day felt. Progress can be a tick, a count or a percentage; the diary is there when you want it.
Available on the App Store · Yumi can create tasks
Flutter · Firebase · recurring reminders · connected to Yumi
Released · connected to Yumi
Memori
AI vocabulary cards & review
Product artwork & app screens
Catch words in the wild.
Save a word from a menu, a conversation or a film. Turn it into a useful card, then revisit it in a short review.
AI helps with meanings, pronunciation and examples, and every detail stays editable. Short reviews adapt to what you remember, without a growing queue of overdue cards.
Available on the App Store · ten learning languages
AI-assisted vocabulary cards · adaptive reviews · connected to Yumi
Released · App Store
SaKi
An augmented-reality walking game
Product artwork & real gameplay
Make a path. Play it back.
Record a real walking route, turn around and follow its glowing trail. Collect surprises and find your way back to the line.
It started as a personal gift. Your movement makes the course; sound, vibration and the trail in the camera view guide you back through the world around you.
Released on the App Store · built from a personal gift
SwiftUI · ARKit · RealityKit · spatial audio and haptics
Released on the App Store
Tsukimi
iPhone & iPad
Actual app screens · illustrated sending sequence
A little of you. On their Home Screen.
Draw a note, add a photo and send a finished image to one person. A small shared space for everyday affection.
Your draft stays on your device until you choose to send it. The finished picture appears in your person’s frame and Home Screen widget. For version 1.1.0, I built an AI editor that keeps a local history so you can revisit earlier edits. I also built nearby pairing: both people opt in and bring compatible iPhones close. Version 1.1.0 has been submitted for App Review.
A seating tool that balances languages and reduces repeated conversation partners at a local language exchange.
People check in on their phones; the organiser starts each conversation round and gets the table assignments. I balanced language mix and table capacity, with extra weight against repeating the last round’s partners, so more people get a chance to talk.
Used weekly by an organiser for around 30 participants
Python · Streamlit · language balance and fewer repeated pairings
02 — Taking shape
On my workbench.
New ideas, built around something personal.
In development
Joysemble
Flutter · iOS, Android & web
A little secret at every seat.
Your word☾MoonEnglish
你的词语☾Moon月亮
あなたの言葉☀Sun太陽
ABC
Describe your word. Who sounds a little different?
Illustrated Word Mystery round · sample words
Everyone gets to play.
Games for people in the same room. The app handles roles and turns while each player chooses their interface language.
Pass one phone around or join a connected room. In Word Mystery, players give clues about secret words and vote for whoever seems to have a different one. The group still chooses a shared spoken language.
Flutter · private player views · shared-phone and connected-room play
Private preview
Loci
iPhone & Mac
Actual app screens · fictional records
Make room for your next chapter.
Keep applications, interviews and the right résumé together. Save the next step even when you’re offline.
A role, an interview note, the résumé you sent: each stays with its opportunity. I chose local saving so a lost connection does not interrupt your work. When devices change the same field differently, both versions stay available for you to resolve; unrelated edits can merge.
Flutter · local saves · synchronisation and versioned attachments
But the instinct began in research.Research foundations ↓
03Research · retrieval & reinforcement learning
Decisions grounded in evidence and feedback.
CiteSeek, my Master’s research, finds papers relevant to a claim and shows source passages for review. Ship RL, my undergraduate thesis, trains a simulated ship to follow a route and avoid collisions. Both pair an implementation with measured evaluation.
generate_queries✓
expand_with_references — follow the citations ✓
example verdict: supports✓
research ① · master’s researchUniversity of Auckland
❝❞
CiteSeek
“Credit Where Credit Is Due” — a research citation assistant
Select a claim in a paper.Find the source. Inspect the evidence.
I built a research assistant that finds papers relevant to a claim and shows the source passages for review. Readers can inspect the evidence behind an AI-generated judgement.
Search scholarly sources — generate queries for arXiv, Semantic Scholar and OpenAlex; deduplicate and rank with embeddings.
Follow reference chains — expand the candidate pool through citations, then rank papers for the selected claim.
Make judgements inspectable — label support, partial support, background or unrelated; accept a quote only when it appears verbatim in the retrieved paper.
Compared with keyword search: I evaluated nine pipelines on 28 curated machine-learning claims. The strongest retrieved a labelled relevant paper in the top five for 27 of 28 claims, versus 9 of 28 with BM25 (Hit@5: 0.964 vs 0.321). This small benchmark measures paper retrieval, not whether a passage proves the claim.
Working with an existing system: I exposed eight MCP tools and integrated CiteSeek into my supervisor’s AI system without changing its source code.
Reinforcement learning for simulated ship navigation
Keep the ship on course.Learn to avoid other vessels.
For my undergraduate thesis, I built a ship simulator and a learning controller. Across 5,000 training episodes in an 8 km simulated environment, the controller practised navigation with maritime collision rules built into its rewards.
Model the vessel — 4-DOF MMG physics: surge, sway, yaw and roll, with hull inertia and rudder lag (±35°, 5°/s).
Encode the rules — shape rewards for COLREGs head-on, crossing and overtaking encounters.
Train the controller — implement Soft Actor-Critic in PyTorch, with one steering decision every six seconds; compare shaped and sparse rewards.
95% collision avoidance in simulation after approximately 4,000 training episodes. The animation illustrates the navigation and training process.
Different systems. One pattern.The loop behind the work ↓
04The pattern behind the work
How I take an idea through to working software.
Start with a useful problem. Make the system understandable. Test the parts that can fail. Keep improving it after people begin using it. These habits connect my product work and research.
The way I buildUnderstand the need. Build. Check. Improve.Observed. Verified. Improved.
01Understand
02Plan
03Act
04Verify
05Improve
How I turn an idea into working software
Start with the person using it, build a complete path through the product, then test what happens. These projects show that process in practice.
Y01 · Connected systems
Make the whole flow work.
Yumi connects a conversation to actions in Mugi and Memori. I built the agent, account permissions, app interfaces and deployment, then added tests and execution traces to inspect failures.
System designTool integrationTesting
402 · Product delivery
Make it useful in everyday life.
Mugi, Memori, SaKi and Tsukimi reached the App Store. Meetup is used weekly. Loci is in private preview and Joysemble is in development.
Product designMobile & webRelease & iteration
03 · Evaluation
check the evidence
CiteSeek Compare retrieval methods and inspect source passages.Ship RL Compare reward designs in a physics simulation.
What this means on a team
I bring experience across product, application code and infrastructure. I can follow a problem across those boundaries and explain the decisions in plain language.
Every loop starts with a real person.Let's talk ↓
Based in Auckland · open to opportunities
Let’s build something useful.
Open to applied AI and software engineering roles in New Zealand.
Auckland-based · 3-year open NZ Post Study Work Visa English · Mandarin · Japanese (JLPT N2)
I enjoy taking an idea from a person’s need to working software. Outside code, I’m at language meetups, learning to fly or on a motorbike. I’ve also helped new students settle into university through UniGuide.