Projects
Some small programming projects I’ve worked on for fun.
Riichi mahjong library
Language(s): Rust, WebAssembly.
Background: A Rust library for Japanese mahjong.
Motivation: Learn Rust and Wasm while exploring the computational aspects of the game of mahjong.
Roadmap:
- Short-term: Score calculator with a simple frontend. Check it out.
- Medium-term: Programmable tactics/strategies, Monte Carlo game simulations to test them.
- Long-term: Throw a bunch of ML/RL algorithms at it, see what comes out.
- Very-long-term: Train and deploy a bot with reinforcement learning to reach phoenix rank on Tenhou.
Image collection organizer
Language(s): Python.
Background: A lightweight desktop application for tagging and querying an image collection.
Motivation: I personally use a (heavily customized) version of this on a quasi-daily basis to organize around 80k images (and counting). Learning (Py)Qt was a nice bonus.