Portrait of Rick Liu
👋

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...”

My experience

My projects

TermPocket

    Made with:

Personal finance for university students, budgeted by school term instead of calendar month. 50+ users in production.

  • Pocky, an AI assistant (EN/ZH) that drafts transactions from chat for one-tap confirmation, answers questions about your spending, and plans savings with deterministic math. Model chosen by an 82-case eval; prompt caching makes each turn ~70% cheaper.
  • On-device screenshot import (OCR in the browser, zero silent amount errors on 215 benchmark rows) and Whisper dictation. Six currencies, a weekly email report, and a read-only MCP server for your own AI client.

SlopFish

    Made with:

A fork of Stockfish for a chess variant where capturing is mandatory. Built for Waterloo's CO 456 Game Theory course and placed top 4 in class.

  • The rule must hold at every search node, so it reaches into move generation, ordering, check evasions and quiescence, where stand-pat pruning is disabled because a forced capture breaks alpha-beta's lower bound.
  • Trained a variant-specific NNUE on 17.2M self-play positions and shipped it as the default. An independent self-play arbiter caught rule violations in 2.5% of games (promotions counted as captures); fixed and verified at zero in 400 games.

DearByte

    Made with:

A self-hosted personal AI agent that turns Apple Watch health data, calendar and memory into morning briefs over Telegram. Open source.

  • TypeScript agent loop on the Anthropic SDK with a validated tool registry and two model tiers: a cheap worker for bulk work and a stronger brain for judgment calls, swappable between DeepSeek and Claude. Every call is cost-logged under a weekly cap.
  • Apple HealthKit bridged over remote MCP on Cloudflare Workers; spending context from TermPocket over read-only MCP; x402 purchases on Base Sepolia with explicit approval, seller allowlists and caps enforced in code.
DearByte running in Telegram, showing a contextual morning brief and a testnet purchase approval request

openfilm (open source)

    Made with:

Contributor to openfilm, the open-source AI video agent (3.7k stars, MIT). Six PRs merged in the first week, four more in review.

  • Merged: a conversation remembers its agent across restarts, a 4K contact sheet fix, a clip speed control, a Claude Code version warning, a lighter picture viewer.
  • In review: render resume from kept chunks, a Windows Recycle Bin refusal verified through fork CI, system notifications, and a Gemini Omni Flash provider. Every change checked in the real Electron app with Playwright.

AGE Game Engine

    Made with:

A C++20 module-based MVC game engine for 2D ASCII games, running Space Invaders and Snake.

  • Entity-Component System with rendering, input, game loop and collision built in; new games subclass GameEngine and override virtual hooks.

My Education

University of Waterloo logo

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: Founding Member at Sustainable Physical AI Society (SPAIS); ML Lead at WAT.ai (Sentiment Pulse); Core Member at Waterloo Blockchain Club; Basketball Intramural Champion
  • Available for 4- or 8-month co-op placements, May – December 2027 (Summer and Fall 2027).

Blog

8 min read

TermPocket: a budget that runs on school terms, not months

A free, open-source finance app for Canadian university students that budgets by term, reads screenshots on your device, and lets you record spending by talking to Pocky.

  • project
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
5 min read

SlopFish: forcing captures inside Stockfish

What breaks in a chess engine when every capture becomes mandatory, and how a self-play arbiter caught the engine cheating 2.5% of the time.

  • project
View all posts →

Contact me

Open to Summer & Fall 2027 co-op

4- or 8-month placements, May – December 2027. I'm also open to part-time work and interesting side projects. Email is the fastest way to reach me.

m69liu@uwaterloo.ca