Skip to content
View gregoryjayuk's full-sized avatar

Block or report gregoryjayuk

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Content in all repositories owned by your account will be closed.
Maximum 250 characters. Please don’t include any personal information such as legal names or email addresses. This note will only be visible to you.
Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse
gregoryjayuk/README.md

Gregory Jay

Writer and developer, founder of Face Dragons. I build games, apps and tools for things I actually do: learning Tibetan, training, playing games with friends, and keeping a large media library in order.

Godot · Blender + Python · Three.js · Kotlin + Jetpack Compose · Swift · C++ · Node · Python · SQLite · LLM tooling

Apps

A gym session in progress The martial-arts hall Today's workout
kuan: an Android workout tracker in Kotlin and Jetpack Compose, with a progression engine, runs and a martial-arts hall.
A Tibetan review card
tibetan-study: a self-hosted Tibetan study app with spaced repetition, plus a pipeline that repairs garbled Tibetan text in PDF textbooks from the fonts' own tables.
Needle's menu-bar panel: a record with a tonearm, playlists and search
needle: a macOS menu-bar remote for an MPD music server. The record slides out and turns at 33⅓ rpm while the tonearm tracks the song; playlists, instant search, media keys and a CLI.
A transcript in the browser recorder
thought-capture: voice capture, transcribed locally by whisper.cpp in the browser, plus an Android home-screen widget.
The launcher's icon grid
bookmarks-launcher: a keyboard-first macOS launcher in Swift over a SQLite bookmarks database, with a browser extension that saves tabs into it.

Games and 3D

Prayer flags over the rooftops of Dungkardo
tibet-godot: a walkable Tibetan border town in 1903, built in Godot with painterly shaders, ink lines and townspeople who keep their own schedules.
A monastery town generated in Blender
tibet-blender: Tibetan architecture generated entirely from Python in Blender. Walk around it in your browser.
An online Mario Kart 64 race at the start line
mk64-online: Mario Kart 64 online for two players, with lockstep netplay and room codes, on the SpaghettiKart PC port.
A 3D room with an automatic mahjong table
mahjong: four-player Chinese mahjong against three AI players at a walkable 3D table. Play it in your browser.
A velociraptor on the island
dino-island-duo: a LAN multiplayer dinosaur game with phone-first touch controls, on Node, WebSockets and Three.js.
A moon gate in a Chinese garden at evening
moon-gate-wallpaper: a macOS wallpaper painted in code, with one line carved into a moon gate and the light changing through the day.

Tools and AI experiments

A weekly reading list
jev-lab: a feed sieve that has an LLM decision model judge a week of posts from 500+ feeds against a reader's interests, and an eval of the same model on bookmark categorisation.
media-index walking drives and answering queries
media-index: a read-only, metadata-only indexer that put 2.16 million files (30 TB) into SQLite in about 13 minutes.
vmangos-toolkit: tools for a private vanilla WoW server. An auction-house economy modelled on real item scarcity from the loot tables, a generated level-40 quest chain, persistent party-bot companions, and all 727 GM commands read from source. garmin-sync: your Garmin data off their servers. A rate-limit-safe daily pull of activities, sleep, HRV and stress into local files.

Smaller tools

  • pwm: a dmenu-driven password manager in Bash on SQLCipher
  • mac-backups: rsync hard-link snapshot backups for macOS with a staleness watchdog
  • thoughts: an LLM pass over a captured-thoughts inbox that classifies and files each one
  • proj: a project-planning CLI over a folder of markdown files
  • gtd: Getting Things Done from a single dmenu prompt
  • fitness-dashboard: Markdown workout logs into SQLite and a static dashboard
  • nnn-addons: clipboard and search plugins for the nnn file manager on macOS
  • mpdscripts: dmenu and cover-art browsing for an MPD library
  • ahbot-config: the original 2025 vMaNGOS auction-house seeder
  • My suckless desktop: dwm, dmenu, st and dwmblocks

Pinned Loading

  1. kuan kuan Public

    KUAN 館: an Android workout tracker in Kotlin and Jetpack Compose with a progression engine, runs, and a martial-arts hall of forms, combos and a round timer.

    Kotlin

  2. mahjong mahjong Public

    Walkable 3D Chinese mahjong in the browser: a full four-player game against three AI players at an automatic table, in Three.js. Play it live.

    JavaScript

  3. mk64-online mk64-online Public

    Forked from HarbourMasters/SpaghettiKart

    Mario Kart 64 online for two players: a SpaghettiKart fork with lockstep netplay, room codes, and each player's own kart full screen.

    C 1 1

  4. needle needle Public

    A macOS menu-bar remote for MPD: a record that slides out and turns at 33⅓ rpm with a tonearm tracking the song, live updates, playlists, instant library search, media keys and a CLI. Swift, no dep…

    Swift

  5. tibet-blender tibet-blender Public

    Tibetan architecture built entirely from Python in Blender: nine buildings, a monastery town, game-ready GLBs and a three.js walk-through you can explore in the browser.

    Python 1

  6. tibet-godot tibet-godot Public

    Dungkardo: a stylized, walkable Tibetan border town in 1903, built in Godot 4 with painterly shaders, ink lines, prayer flags in the wind and monks who keep their own daily schedules.

    GDScript