Rick
👋

Hi, I'm Rick.

>

From the model to the metal, I build it all.

a stonecutter hammering 100 times with no crack, then it splits on the 101st...

Open to Summer 2027 co-opUWaterloo

My experience

My projects

MindGo

    Made with:

A personal finance app built around the academic term rather than the calendar month, windowing every report on real term boundaries. Import transactions by dropping in a screenshot — a bank list, receipt, Uber trip, or WeChat Pay history — read by an OCR model that runs entirely in the browser, so the image never leaves the device. Tracks six currencies with read-time conversion, alongside savings goals, a live investment watchlist, and AI-generated plans grounded in the user's own spending. Market data falls through a three-source chain (Finnhub → Yahoo Finance → Alpha Vantage), so a missing key degrades rather than breaks. Bilingual EN/ZH. 50+ users in production.

SlopFish

    Made with:

A fork of Stockfish that plays a chess variant where capturing is mandatory whenever a capture is legal. The rule has to hold at every node, not just the root, so the constraint reaches into move generation, move ordering, check evasions, and the quiescence search — where stand-pat pruning has to be disabled entirely, since a forced capture breaks the lower-bound assumption alpha-beta relies on. Trained a variant-specific NNUE on 17.2M self-play positions, measured it against Stockfish's default network, and shipped the default. A self-play harness whose arbiter enforces the capture rule itself — rather than trusting the engine — surfaced a rule violation in 2.5% of games, traced to promotions being counted as captures; fixed across six call sites, then verified at zero violations in 400 games.

DearByte

    Made with:

A self-hosted personal AI agent that combines Apple Watch health data, calendar events, and persistent memory to deliver contextual morning briefs through Telegram. Integrated an open-source HealthKit bridge through remote MCP on Cloudflare Workers, then added daily snapshots, personal baselines, and data-freshness checks. Built a TypeScript agent loop with validated tool calls, model-usage tracking, and enforced spending limits; connects to MindGo through read-only MCP for spending context. Implemented an x402 purchase flow on Base Sepolia using test USDC, with explicit user approval, seller allowlists, spending caps, and payment receipts enforced in code. Open source · Active development.

DearByte running in Telegram, showing a contextual morning brief and a testnet purchase approval request

AGE Game Engine

    Made with:

Architected a C++20 module-based MVC game engine for 2D ASCII games, currently supporting Space Invaders and Snake. Implemented core engine systems including rendering, input handling, game loop management, and collision detection. Designed a flexible Entity-Component System (ECS) for modular game object management, enabling easy extension with new entities and behaviors. Games inherit from a base GameEngine class and implement virtual methods for game-specific logic, streamlining new game development.

AI Sentiment Pulse

    Made with:

Led the ML work on a 9-member WAT.ai team building a market sentiment analytics system, fine-tuning DeBERTa-v3 for sentiment and sarcasm detection. Aggregated model outputs with unsupervised statistical methods to produce real-time sentiment signals from social media, and correlated those signals against financial data APIs to surface tradeable trends.

My Education

UW

Bachelor of Mathematics

University of Waterloo

2023 - 2027

  • Major in Computational Mathematics
  • Major in Statistics
  • Minor in Combinatorics and Optimization
  • Minor in Computing (Computer Science)
  • Activities: Core Member at Waterloo Blockchain Club; ML Lead at WAT.ai (Sentiment Pulse); Basketball Intramurals

Blog

17 min read

A Waterloo Student's Honest Recruiting Recap 2025/2026

From zero interviews to 30+ rounds including startups, unicorns, and FAANG. The unfiltered version.

  • career
  • personal
7 min read

Echoes of the City of Angels

Story of spending a month’s salary to bridge the gap between a 14-year-old’s childhood fantasy and the raw, beautiful, and fractured reality of Los Angeles

  • travel
  • personal
View all posts →

Contact me

Please contact me directly at m69liu@uwaterloo.ca or through this form.