- Designed and built the showcase, purchase and activation flow for template products, connecting the TypeScript frontend to a Go licensing service from checkout to licensed use.
- Ported the Python retrieval core to Rust, combining vector and BM25 search, with AVX2-optimized inference that runs on CPU.
Boninall
Independent developer · Handy software and fun games
Software products · AI agents · Games · Video & visual work
About
I like to play, and to work out how to play better: a full-stack developerFULL STACK■TypeScript frontends · Go / Rust services · PostgreSQL drawn to better interaction designINTERACTION■Modern interaction patterns that make things easier to understand, who goes past the breadth of AI agentsAI AGENTS■Multiple agents, MCP tools, permissions and rollback, gamesGAMES■Gameplay and effects built with Godot, Bevy and C#, videoVIDEO■3,070 followers and 3.2M+ views on Bilibili and visual workVISUAL■Card VFX, interface visuals and art direction into low-level engineering. Building alongside a full-time job since 2020SINCE 2020■Six years of independent development: 18 products18 PRODUCTS■Desktop, mobile, web, CLI and client work with about 1.3 million downloads~1.3M DOWNLOADS■Thino 488K · Task Genius 182K · and the rest. TypeScriptTYPESCRIPT■Frontends, plugins and tooling leads the frontends, RustRUST■A sync service, a retrieval core and an AI coding tool the low-level work.
- total downloads
- ~1.3M
- shipped products
- 18
- GitHub stars · two flagship products
- ~2,000
- independent development
- 2020 —
Strengths
Obsessed with interaction
Many of my products started with something I found clumsy to use, so I rebuilt the interaction myself. Tasks in my notes were too scattered and had no good view, so I made Task Genius to put them on boards and calendars; Markdown couldn’t be marked up like paper, so I made Su, which lets you handwrite right on the text.
Owning the whole product
From interaction design, frontend and backend to payments, licensing and long-term upkeep after launch, I can run the whole chain on my own. So far that is 18 products, about 1.3 million downloads, and about 50,000 active users outside the games.
Obsessed with performance
Slow, memory-hungry software bothers me, and when something lags I want to dig down and fix it. I use Rust to cut agents’ memory use and response time, and go further down to local model inference, so the MOSS image model, too slow to use on a Mac, can generate quickly.
In love with building
As long as I’m building something, it doesn’t matter whether it is productivity software, developer tools or game mods. Once it’s done I like to share it: I film the Slay the Spire 2 “monster duel” mod I wrote and post it on Bilibili, to give more players a richer way to play.
Core products & projects
- A Rust AI coding tool where several sub-agents run development tasks in parallel, coordinated through task scheduling, message channels and separate Git worktrees in one project.
- Model calls, terminal execution, file I/O and MCP tool integration, with permission control, sandboxing and rollback to keep agents’ changes in check.
- Su: Markdown notes that render as you type, with drawing, circling and annotation right on the page; folders sync across devices.
- Su Reader: a local-first reader with EPUB, PDF, MOBI, comics, TXT, Markdown and web articles on one shelf; vertical text with furigana, paragraph-by-paragraph translation and six-ink handwriting, with progress and notes synced.
- Interaction and frontend architecture for AI chat, a knowledge base and an agent workbench; integrated Artifacts and more with React / Turborepo and delivered in three months.
- Compared MLX, PyTorch MPS and stable-diffusion.cpp on Apple Silicon and chose MLX; with an 8-step distilled LoRA, a 1024² image went from 509 s (official 50 steps + CFG) to about 46 s, matching the official 50-step output on hands and perspective.
- Fused the LoRA into the base matrix multiply by concatenating along K, about 11% faster per image; prompt expansion reuses the text encoder’s weights for about 1 GB of extra memory. Packaged as ComfyUI nodes, a web page and a menu-bar app.
- A Slay the Spire 2 reinforcement-learning agent built on PPO, trained from scratch on a single RTX 5060, now winning more than 24% of runs.
Productivity products
- Designed and built solo: tasks scattered across notes become list, kanban, calendar and Gantt views, with quick capture, custom workflows and progress tracking for each context.
- A unified task model across Markdown, Canvas, file properties and cloud calendars; incremental indexing, background processing and conflict detection keep tasks in step on desktop and mobile.
- Lead product design and development, growing quick capture from inside Obsidian to web and mobile so capture, organizing and review form one flow.
- Rebuilt the sync service in Rust for offline capture and cross-device sync, using an offline queue, incremental pulls and idempotent commits to handle offline writes and duplicate requests.
Video
- Slay the Spire 2 “monster duel” episodes, filmed with a mod I wrote that pits monsters against each other, plus mod showcases on Bilibili: 40+ uploads with more than 3.2M views.
- Most watched: three monster-duel episodes with 499K, 333K and 330K views, and the Darv’s Treasure Vault mod showcase with 66K.
Games & art
- A pixel-art roguelite tower defense that combines building and upgrading towers, picking one of three abilities and same-school synergies to hold off waves of monsters and bosses with their own mechanics.
- Gameplay code, pixel art and balancing done solo in Rust with Bevy; the Steam page is live with wishlists open.
- Gameplay, levels, interfaces and effects built with Godot, Bevy and C#; for a whole game in Bevy, see Tiny TD above, and a pixel-art extraction shooter, GREYZONE, is in development.
- Slay the Spire 2: the monster-duel mod that pits monsters against each other (the Bilibili series is filmed with it); Darv’s Treasure Vault, a new Act 2; Disgrace, a new Act 3 map with its own soundtrack; ArkUI, an Arknights-style reskin of the whole interface; VFX for every Watcher card in progress (see Visual & art work).
- Phantom Blade Zero: Bonblade, adding guns with weapon switching, a Devil May Cry-style SSS rating, a minimap and free flight.
- Probably Stolen: three gameplay extensions, for forged goods, a storefront covered in flyers and a black market.
- Watcher card VFX: an effect for every card, in Slay the Spire 2’s art style.
- ArkUI: an Arknights-style reskin of the whole interface, redrawn with layering and depth.
- PRISMFALL: bold colour, weapon inspect and melee hit feedback for a Godot shooter.
Skills
- Interaction & product
- Interaction design, product design, cross-device UX
- Performance & architecture
- Rust rewrites, incremental indexing, offline sync with idempotent commits, vector + BM25 search, AVX2, MLX inference with fused LoRA
- Languages & frameworks
- TypeScript, Rust, Go, C#; React, axum, GPUI, Flutter, Godot, Bevy
- Tools & focus
- PostgreSQL, Docker; AI agent tooling, MCP, PPO reinforcement learning, cross-platform apps