Rick
👋

Hi, I'm Rick.

>

From idea to users, I ship AI products end to end.

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

Open to Summer 2027 co-opUWaterloo

My experience

My projects

TermPocket

    Made with:

Personal finance for students, built around the school term rather than the calendar month — every report is windowed on real term boundaries, because a co-op term earns and a study term spends down. Record spending by chatting with Pocky, an AI assistant that understands English, Chinese or both: it drafts transactions you confirm with a button (with a ten-minute undo), answers questions about your own spending, and projects savings plans with deterministic math instead of model guesses. Import screenshots — bank lists, receipts, Uber trips, WeChat Pay — read by an OCR model that runs entirely in the browser, and dictate with on-device Whisper, so neither images nor audio leave the device. Tracks six currencies with read-time conversion, savings goals, and a weekly email report; connect your own AI client through a read-only MCP server. 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 TermPocket 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 - 2028

  • 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); Founding Member at Sustainable Physical AI Society(SPAIS); Basketball Intramural Champion

Blog

8 min read

From $6.5K to $20K to –$2.6K

A CRO stake that tripled on a Trump Media headline, then crashed into a $2,600 loss and a 36-day lock-up.

  • investment
  • crypto
  • personal
19 min read

DearByte: Agent That Knows You

A self-hosted agent that reads my Apple Watch, calendar and budget, messages me first, and pays for small things once I approve.

  • project
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.