← PortfolioDownload PDF

Wenxi (Vincent) Jiao

AI & Software Engineer · Agentic Systems · Full Stack
Profile

Every product I have shipped started as something I wanted in my own life: how I plan my days, how I learn a language, a walking game, the seating for a meetup I go to. Building them taught me the whole craft — models, backend, app and deployment — and eventually I built the platform they all needed. I like turning an idea into something real, then keeping it alive. Now I want to do it inside a team, on something more people depend on.

01Experience

Yumi Nexus

Founder & AI engineer · self-directed, pre-revenueMar 2026–Present

A production-deployed, multi-tenant generative-AI platform that turns natural-language intent into secure, observable action. Built and operated solo in three layers with strictly one-way dependencies: no layer sees the one above it, and the core ships as the versioned package the platform installs.

L1

Agent core

  • Agent loopA streaming turn loop over provider-native function calling, with persistent memory across turns. Three hosted providers — Claude, Gemini, OpenAI — plus local Ollama and fastembed behind one interface, sharing error classification and a warm-up / pull / shutdown lifecycle.
  • Tool exposureThree registration modes, chosen so the agent gathers before it speaks: autorun runs ahead of generation and injects only its result; pinned stays in the list; dynamic is retrieved against the query.
  • PromptsLayered prompt composition under a semantic version plus a content hash, so wording edited without a version bump is caught automatically.
  • MemoryTwo stores by design: SQLite as the source of truth, LanceDB for vector search, reconciled both ways; during an index rebuild concurrent writes commit to SQLite only, so they cannot duplicate rows.
  • ShippingFunction-calling bindings for 11 targets, a CLI and a turn inspector; 699 tests with mocked providers, CI on Python 3.10–3.13, released to PyPI by OIDC Trusted Publishing.
L2

Multi-tenant platform

yumi-enterprise
closed source
  • TenancyPer-tenant isolation over PostgreSQL, with Argon2 hashing, OAuth, linked chat accounts and auth rate limiting.
  • MeteringQuotas measured in turns, tokens and dollars across 21 admin endpoints and a React console.
  • Observability & monitoringA console for finding faults: an aggregate view of how requests were routed to tools, and the exact execution trace behind any single turn.
  • Governance & privacyTwo tiers enforced in SQL, not policy: history views select only message length, never content, and revealing a turn writes the audit record first, failing 503 if that write fails.
L3

Production & operations

  • DeploymentGCP Compute Engine behind Caddy/TLS with Docker Compose, health checks, traces and metrics; serves yumi.nexus, the identity site and a live agent demo.
  • IdentityOne Firebase-backed sign-in serves the site, the agent and every edge app, with cross-app handoff; authorisation lives in hand-written Firestore rules.
  • Infrastructure as codeThe production GCP project is managed in Terraform on a locked remote backend — the running estate imported and held to a clean “No changes” plan first, then five reviewed changes, including SSH moved to IAP-only.
  • Continuous deliveryA push deploys itself over GitHub OIDC into Workload Identity Federation — no stored cloud credential: three repos rebuild and health-check behind a host lock, any failure rolls all three back, and the public hostname is then re-verified.
  • ContinuityScripted backups with retention, and a restore drill actually executed: snapshot to a fresh disk, restored onto a network-isolated VM, then 21 tables diffed.
Wenxi (Vincent) Jiao
Shipped software & research
02Shipped software
  • Cross-platform deliveryOne Flutter codebase shipping to iOS, Android, macOS and web, localised into ten languages.
  • ArchitectureAn adapter interface lets the same app run on Firebase or my own API, chosen at bootstrap rather than baked into the screens.
  • Spec implementationRecurring tasks expand through a 371-line RFC 5545 implementation rather than a package, with its own tests.
Flutter · Firebase · iOS / Android / macOS / web

Memori ↗

2025–2026
  • Algorithm designUrgency is log(1 + days) × (6 − mastery), sampled through a softmax with a reinforcement queue and recent-pick avoidance — so there is no “due” pile to punish a missed day.
  • Platform migrationShipped first on SwiftUI, then moved the whole app to Flutter: the 452-line scheduler was ported in full and pinned by tests.
  • Applied LLMGemini generates structured vocabulary cards across ten languages.
Flutter · Gemini · Cloud Functions · adaptive scheduling
Mugi × Memorirun on Yumi

Mugi and Memori are not standalone apps that happen to call an API — each runs as an edge of the platform above. A user can drive either one by talking to Yumi, and before every reply Yumi pulls a live snapshot from both: today’s mood, what is due, which words are weak. The answer is grounded in the user’s actual state rather than asked for. Each snapshot is guardrailed — capped, cached for 60 seconds and marked reference-only — so it informs the reply without being recited back.

SaKi ↗

2025–2026
  • Sensor processingCamera poses pass an exponential filter with clamped gain, jump rejection, and a stabilisation gate that waits for consecutive coherent frames before sampling resumes after relocalisation.
  • Real-time ARA recorded path is rebuilt as geometry the player walks back: warning past 35 cm, failing only on sustained deviation beyond 1.1 m, both tunable.
  • Release engineeringBuilt in SwiftUI and ARKit, through App Store review and live.
SwiftUI · ARKit · haptics · spatial audio

Meetup Seater ↗

2025–Present
  • Combinatorial optimisationSeating is a weighted greedy assignment: having met before costs 1, sharing last round’s table costs 3, and each person joins the table with the smallest increase in repeats.
  • Constraint modellingTable count and language balance are solved together, so English and Japanese speakers stay mixed.
  • OperationsRun every week for ~30 people by an organiser who is not me, from phones, with live check-in.
Streamlit · Firestore · live phone views
03Research foundations

CiteSeek ↗

Master’s thesis
2026
  • Information retrievalSearches scholarly APIs and follows citation graphs to reach what a keyword search misses, then verifies evidence at passage level so a citation must be supported by a specific span.
  • Data pipelinePDF and HTML full text parsed, chunked, embedded and deduplicated before anything is ranked.
  • Offline evaluationA hand-built 28-claim golden set run across nine configurations against a BM25 baseline. Citation expansion lifted the retrieval ceiling from 22/28 to 28/28 claims; the full pipeline reached Hit@5 0.964 · R@5 0.911 · MRR 0.837, against 0.321 · 0.298 · 0.248 for BM25.
  • AblationVarying the embedding and judge models showed the structural citation signal, not model choice, carried the result — ranking by how many seed papers cite a candidate reached Hit@5 0.893 before any LLM judging at all.
  • System interfacesDriven from a FastAPI workbench, a CLI and an eight-tool MCP server — the same interface used to write claims, evidence and provenance into a supervisor’s agentic system without modifying its source.
Python · agentic RAG · scholarly APIs · embeddings · MCP server

Ship RL

BEng thesis
2023
  • Physical modellingA 4-DOF MMG simulator parameterised from a real 175 m container ship, with the inertia and actuation lag of a real hull, built before any learning so the results would mean something.
  • Reinforcement learningSoft Actor-Critic implemented in PyTorch from the paper rather than pulled from a library, trained on the two tasks that dominate real navigation — path following and collision avoidance.
  • Reward designCOLREGs-derived shaping reached 95% collision avoidance after ~4,000 episodes, against 16% for a like-for-like sparse-reward baseline.
PyTorch · SAC · MATLAB · pygame · physics simulation