Tech & Projects

Flagship Project

Bare Metal Bard

A CUDA SGEMM written from scratch, taken from 1.2% of cuBLAS to 117% with tensor cores, then used to train a GPT — no PyTorch, cuBLAS or cuDNN anywhere in the training path.

CUDAC++Tensor Cores (WMMA)Nsight ComputeNext.js
Learn More
Bare Metal Bard screenshot

Environment

CORA

My hometown in China is very close to the coast. After learning more about global warming and its impact on coastal communities, I wanted to create something that allowed us to see the destructive consequences of sea level rise. My most notable data science project, CORA, is a tool that uses datasets and graph-based algorithms to simulate sea level rise floods, predict economic damage, and test adaptation strategies.

PythonPyQt6rasterioGeoPandasOSMnxShapelyNumPyMatplotlibReportLab
CORA screenshot 1
CORA screenshot 2
CORA screenshot 3

Finprint

I worked with a peer on Finprint, a web app that uses audio processing and machine learning to determine the species and type of a whale call. The identification of whale calls is important to understand whale social behavior, track where whales are, and how populations change. An AI-assisted approach will significantly improve the accuracy and even achieve previously impossible tasks such as classifying killer-whale acoustic signals.

0.979

Group accuracy

0.906

Species accuracy

0.965

Top-3 accuracy

32

Species classified

PyTorchlibrosaFastAPINumPySciPyscikit-learnDockerWatkins (WMMS)
Finprint screenshot 1
Finprint screenshot 2
Finprint screenshot 3

EcoVision

My passion for computer science stems from its ability to turn messy data into systems that improve our lives and anticipate what's to come, especially in solving ecological and environmental issues. My interest in this area originated in 2024, when at Hack the North, my teammates and I created EcoVision, a computer vision ML model that uses a phone's camera feed to determine whether an item is recyclable. This application showed me the potential of technology changing lifestyles and facilitating environmental initiatives.

SwiftSwiftUIYOLOv5PyTorchFlaskOpenCVTensorFlowTACO dataset
EcoVision screenshot 1

Robotics

I joined my high school’s robotics team in grade 9 as a programmer responsible for solving complex technical challenges, developing autonomous routines that consistently scored points in competition, contributing to our 1st Place Inspire Award in Dec 2025, and mentoring junior members in advanced programming techniques.

In June 2026, my friends and I created a new robotics team because the school team was too restrictive for our goals, where administrative tasks took way too long and business decisions were rigid. It involved recruiting members, purchasing parts, creating budgets, finding sponsors, organizing workspaces, and establishing team hierarchies. It is meaningful to me because it is a collaboration that started partly because of me. There is no greater organization upholding the team and it depends entirely on us to keep the structure.

The FTC robot on the practice field: Limelight vision camera above a REV Control Hub, with the intake and drivetrain exposed.
Rams Robotics 16488 in a qualification match at the FIRST Tech Challenge Ontario Provincial Championship.
Provincials graphic: team photographs above the FIRST Tech Challenge Inspire Award for 16488 Rams Robotics.

Gentoo

When we started the new team, I did not want its operations living in spreadsheets and chat threads, so I built Gentoo: projects and tasks, the parts inventory, pit and match scouting, the alliance picklist, and the pit-duty rotation for competition day, all in one app. It is a single codebase shipping to iPhone and iPad through the App Store, to Android, and to the web, and the whole team works inside it — the first account becomes admin and approves everyone else.

Expo RouterReact NativeTypeScriptNativeWindSupabaseTanStack QueryEASGroq Vision
Gentoo screenshot 1
Gentoo screenshot 2
Gentoo screenshot 3

Used by Peers

YanLearn Recorder

Every YanLearn class from September 2026 is recorded, and none of that can rest on a tutor remembering to press record. The app arms itself fifteen minutes before a class, starts at the start time — but only while the tutor is actually in that class's Discord voice channel — pauses when they leave, resumes when they come back, and refuses to quit until the recording has been uploaded. Screen and audio go through a bundled ffmpeg at 720p and 10 fps, around 60–120 MB an hour, and the students in the course can watch it for seven days before the file is deleted.

Tauri 2RustVanilla JSffmpegSwiftScreenCaptureKitWASAPIWin32 API

Stroj

A self-hosted online judge, built so the coding club had somewhere to put its own problems rather than sending members off to someone else's site. Submissions compile and run test by test under time, memory and output limits, with subtasks so a beginner who solves only the small cases still scores something. Contests sit on top: a timed window, a problem set sealed until the clock starts, and either an ICPC or an IOI scoreboard.

Python 3FastAPISQLiteVanilla JSDockerVercelpytest
Stroj screenshot 1

orgchem

Type anything that names or describes an organic compound — IUPAC names, common and trade names, SMILES, molecular formulas — and see its structure. The part no other service handles is condensed structural formulas, the notation people actually write by hand, which it reads by valence rather than by guessing. A practice mode drills 283 structures in both directions.

Next.js 16React 19TypeScriptOpenChemLibTailwind CSS 4OPSINPubChem
orgchem screenshot 1

STR History

A website for our school's history department, built around a globe. Move the timeline anywhere from 300,000 BCE to the present and the borders redraw as they were; the IB History notes are pinned where and when each event happened, so the storming of the Bastille appears in Paris in 1789 and nowhere else. Every note is interactive — highlighted, attributed quotations, key terms that reveal their significance when pressed, a historians' debate and self-test questions — and the globe is public, while the rest of the department's site sits behind a shared code.

Astro 7React 19MapLibre GLd3-geoMDXTypeScriptCaddyNode.js

Other

CoolRoute

Southern California heat falls hardest on elderly people, children and outdoor workers. Google Maps gives the shortest walk; CoolRoute gives the coolest one, and puts the trade in plain terms — 16% less sun for one minute of extra walking. It routes over 48,579 nodes of OpenStreetMap footpaths in the browser, with no backend behind it. Built for the ASPIRE hackathon.

TypeScriptOpenStreetMapDijkstraNOAA / NWSOpen-MeteoNominatimVercel

yanvpn

A personal VPN — one always-on server at home, an iPhone and a Linux laptop as clients — built for a network that filters DNS, firewalls outbound traffic and blocks WireGuard outright. Three transports are installed and it falls back between them fastest-first, and a doctor command reports what the network is actually blocking rather than what it was assumed to block.

ShellWireGuardAmneziaWGVLESS / REALITYdnsmasqLinuxiOS

YanTasks

A task manager that answers the question the list never does — what should I do now. Tasks are weighted by how urgent they are, and the scheduler draws from them at random in proportion to those weights, once per 30-minute block, laying out the rest of the day rather than handing back a single answer. It works signed out, and an account carries the same data between browsers.

Next.jsTypeScriptNeon PostgresscryptVercel

yanpresence

Mirrors what you are playing in Apple Music into Discord, laid out the way Discord's own Spotify integration is: the song on the status line under your name, full-size album art, a live progress bar, and the song, artist and album each clickable through to Apple Music. Three ways in — Apple Events on macOS, the media session on Windows, the web player on Linux — behind one pipeline.

Node.jsApple EventsWinRT / SMTCMPRISDiscord IPCffmpegAVIF