The rooftops of Dungkardo, a Tibetan border town built in Godot, under prayer flags with mountains behind

A walkable Tibetan border town in 1903, built in Godot 4

Dungkardo

A Tibetan monastery town generated entirely from Python in Blender

Nine Tibetan buildings and a whole monastery town, generated entirely from Python in Blender

Tibetan Architecture in Code

A walkable 3D room with an automatic mahjong table, built in Three.js

Four-player Chinese mahjong against three AI players, at a walkable 3D table

Mahjong

Needle: a macOS menu-bar music remote with a turning record and tonearm

A macOS menu-bar remote for my home music server, with a record that really turns

Needle

A Chinese garden moon gate at evening, painted entirely in code

A desktop wallpaper painted entirely in code, with one line carved into the stone

Moon Gate

A velociraptor on the island in a LAN multiplayer Three.js game

A LAN multiplayer dinosaur game with controls built for phones

Dino Island Duo

Three screens of KUAN, an Android workout tracker: Today, a gym session and the martial-arts Hall

An Android workout tracker for people who lift and also train a martial art

KUAN 館

The Mario Kart 64 Online lobby with a room code

Online play for two, with lockstep netcode, room codes and each player's own kart full screen

Mario Kart 64 Online

The Tibetan study app's Today screen

A self-hosted Tibetan study app with spaced repetition, built around the textbooks I learn from

Tibetan Study

A weekly reading list picked by an LLM decision model from 500-plus feeds

Experiments with an LLM decision model, including a feed sieve that reads 500 feeds so you don't have to

Jev Lab