Launched Shuffle Chess 960 — Chess960 for iPhone, live now on iOS.

Built a pixel character generator for consistent character animations and game-art assets.
Started a personal knowledge agent — Pydantic AI, Postgres vector search, and Dagster for the data pipeline.
Turned to Machine Learning with PyTorch — regression, neural nets, and transformers.
Entered Meta’s Horizon Competition and built Season Dash — an endless runner through summer San Francisco and winter Tahoe.
Entered Google’s Chrome Built-in AI Challenge and built Plop — a Chrome extension that previews online furniture in your own living space before you buy.
Built RSFScribe — answers questions about RealitySF sermons using vector search and SQL queries. Live at rsfscribe.victorlau.dev.
Launched bread — a daily scripture reader that follows RealitySF, with C.S. Lewis text-to-speech and a chat to ask questions about the reading. Live at bread.victorlau.dev.
Finished courses on React & Redux, Testing Library & Jest, and React Query.
Started Master TypeScript & Design Patterns.
Started learning VIM — slow at first, then the keys disappear.
A brilliant lecture series on building a transpiler from scratch.
A wonderful talk by SQLite’s creator, Richard Hipp, on its design and unusual architecture.
Began a meal-planning app — a week of meals at a glance, shopping list auto-generated.
Started Angela Yu’s Complete Web Development Bootcamp — the first commit.