About

Engineering with a map, not a maze.

I am a Master of Information Technology graduate from UNSW with hands-on experience taking software from an ambiguous problem to a tested, usable product.

My strongest work sits where structured data, clear interfaces and careful engineering meet. I enjoy modelling difficult domains, designing APIs and data flows, and building the frontend that makes the underlying system understandable. I am especially interested in product, full-stack and backend teams that value evidence, maintainability and thoughtful engineering decisions.

01

Model the domain explicitly before adding complexity.

02

Make important behaviour testable and observable.

03

Document limitations as clearly as capabilities.

2024—2026Master of Information TechnologyUniversity of New South Wales
2018—2022Bachelor of ManagementInformation Management and Systems · Shanghai Lixin University

Selected work

Three systems. Three different kinds of complexity.

Selected for engineering depth, product judgment and relevance to full-stack and backend roles.

01

Interactive geospatial learning · 2026

SkyTerrain

A bilingual 3D geography platform that combines terrain exploration, structured lessons, narrated flyovers and practical city guides from an aircraft-window perspective.

System design

Created a single typed registry for terrain anchors, bounding boxes, geographic axes and sources. Shared data drives navigation, labels, camera framing and region highlighting instead of duplicating configuration across the UI.

Interaction engineering

Engineered route-specific camera, waypoint-dwell and narration timing to keep spoken descriptions aligned with corresponding map locations while handling terrain-loading and TTS delays.

Reliability

Created reproducible checks for geometry, bilingual completeness, bearings and time-sensitive facts. Audited 330 sampled claims from 11,352 verifiable fields and converted recurring defect classes into regression checks.

1,041landforms
38countries
330sampled claims
11,352verifiable fields
  • Next.js 16
  • React 19
  • TypeScript
  • CesiumJS
  • Edge TTS
02

Auditable decision workflow · 2026

AU-Partimer

A bilingual case workspace that connects job facts, evidence, recorded hours and follow-up actions without presenting software output as legal advice.

Decision boundaries

Separated deterministic risk decisions from optional LLM explanations using typed LangGraph stages, approved-source retrieval, human fact gates and fail-closed fallbacks.

Evidence & privacy

Implemented bounded PDF extraction with manual confirmation, a validated Prisma/PostgreSQL case model, owner-scoped encrypted backups and stale-write protection.

Quality gates

Configured CI for unit and PostgreSQL integration tests, Playwright desktop and mobile flows, production builds and dependency audits, with an explicit expert-validation release gate.

33unit tests
6browser flows
2languages
  • Next.js 16
  • TypeScript
  • LangGraph
  • Zod
  • Prisma
  • PostgreSQL
  • Playwright
03

Local-first developer tool · 2026

CodeAtlas

A local-first Python CLI and FastAPI interface that parses TypeScript, JavaScript and Python into a versioned SQLite index for symbol, dependency and call-chain queries without uploading source code.

Parsing & resolution

Used tree-sitter with two-pass cross-file import resolution for TypeScript aliases, relative modules and Python packages.

Incremental graph analysis

Implemented SHA-256 incremental indexing, dependency and call-chain queries, Mermaid export and iterative Tarjan SCC cycle detection.

Quality & portability

Added 100 pytest cases across parsers, resolvers, CLI and web APIs, with lint, type, coverage and regression gates for Python 3.11-3.13 on Linux, macOS and Windows.

3languages indexed
100pytest cases
0cloud dependency
  • Python 3.11
  • tree-sitter
  • SQLite
  • FastAPI
  • pytest

Open source

Contributing inside an existing system.

Involution Hell · 2025—2026

Two merged pull requests

Added a 115-line mathematics learning resource and made a focused authentication configuration change to resolve a production GitHub OAuth login error—working within the repository's existing Next.js conventions and review process.

Capabilities

A practical stack, backed by systems thinking.

Product engineering

TypeScript · JavaScript · React · Next.js App Router · Tailwind CSS · responsive and accessible interfaces

Backend & data

Python · FastAPI · REST APIs · PostgreSQL · SQLite · Prisma · Zod · Pydantic · relational schema design

Quality & delivery

pytest · Node.js test runner · Playwright · ESLint · ruff · GitHub Actions · CI · validation tooling

Specialised systems

tree-sitter · static code analysis · dependency and call graphs · CesiumJS · geospatial visualisation · bounded AI workflows

Contact

Looking for a thoughtful junior engineer?

I am interested in graduate and junior software engineering opportunities in Sydney across product, full-stack and backend teams.