<!-- generated-markdown-alternate -->
---
title: "Projects"
description: "Software projects, experiments, and open source contributions by Brian Sunter, browsable by technology tags and project status."
url: "https://briansunter.com/projects"
---

# Projects

Software projects, experiments, and open source contributions. 66 projects.

Showing all 66 projects.

## Featured

8 projects

[![TraceOverlay](/_astro/tracer-screenshot.WHEnOd1T_Z2vwux0.webp)](/projects/tracer)

### [TraceOverlay](/projects/tracer)

[A camera tracing app that overlays a movable, scalable reference image on your live camera, helping you draw, paint, or letter onto paper.](/projects/tracer)

[Jan 10, 2026 Launched](/projects/tracer)

[Website](/projects/tracer)

[TypeScript React Canvas AR](/projects/tracer)

[![CuckooTimer](/_astro/cuckootimer-screenshot.1oWe3LNx_Z6w2M3.webp)](/projects/cuckootimer)

### [CuckooTimer](/projects/cuckootimer)

[A macOS menu-bar cuckoo clock app with a 3D scene, configurable intervals, and a $3.99 one-time purchase from the Mac App Store.](/projects/cuckootimer)

[Jul 21, 2025 Launched](/projects/cuckootimer)

[Website](/projects/cuckootimer)

[Rust Tauri React Three.js](/projects/cuckootimer)

[![Logseq MCP](/_astro/logseq-mcp-cover.hG7UR79P_Z2qKVeF.webp)](/projects/logseq-mcp)

### [Logseq MCP](/projects/logseq-mcp)

[A published npm MCP server that connects Claude and other LLMs to a running Logseq HTTP API for graph search, block edits, daily notes, tasks, and Datalog queries.](/projects/logseq-mcp)

[Mar 21, 2025 Launched](/projects/logseq-mcp)

[Website](/projects/logseq-mcp)

[TypeScript MCP Claude Logseq](/projects/logseq-mcp)

[![Pizza Plan](/_astro/pizzaplan-screenshot.Cmaj6y4r_N6t7h.webp)](/projects/pizzaplan)

### [Pizza Plan](/projects/pizzaplan)

[A dough-ratio and timing planner for homemade pizza. Choose a style, size, quantity, kitchen conditions, and when you want to eat; PizzaPlan generates the recipe and schedule.](/projects/pizzaplan)

[Mar 15, 2025 Launched](/projects/pizzaplan)

[Website](/projects/pizzaplan)

[React TypeScript TanStack Router Vite](/projects/pizzaplan)

[![Personal Site](/_astro/personal-site-screenshot.Jlhu8UpW_Z1ITNzy.webp)](/projects/personal-site)

### [Personal Site](/projects/personal-site)

[This site. Astro, MDX, Tailwind v4: blog, projects, recipes, photos, and a pin collection, all built statically.](/projects/personal-site)

[Aug 2, 2024 Launched](/projects/personal-site)

[Website](/projects/personal-site)

[Astro TypeScript Tailwind CSS MDX](/projects/personal-site)

[![Convo Cards](/_astro/convocards-screenshot.DMYOY27D_2eoUSA.webp)](/projects/convocards)

### [Convo Cards](/projects/convocards)

[A launched web conversation-card product at convo.cards with in-development native iOS, iPadOS, and Android clients backed by a Rust and SQLite core.](/projects/convocards)

[Jul 25, 2024 Launched](/projects/convocards)

[Website](/projects/convocards)

[Swift SwiftUI Kotlin Jetpack Compose](/projects/convocards)

[![Logseq YouTube Captions](/_astro/logseq-youtube-captions-cover.COgan_uB_Z16Uzui.webp)](/projects/logseq-youtube-captions)

### [Logseq YouTube Captions](/projects/logseq-youtube-captions)

[A released Logseq plugin that downloads YouTube captions into a child block, with slash and block-menu commands and configurable caption language.](/projects/logseq-youtube-captions)

[Jun 14, 2022 Launched](/projects/logseq-youtube-captions)

[GitHub](/projects/logseq-youtube-captions)

[TypeScript Logseq YouTube Plugin](/projects/logseq-youtube-captions)

[![Logseq GPT-3 Plugin](/_astro/logseq-openai-hero.CSDE4IcA_N8hDt.webp)](/projects/logseq-gpt3-plugin)

### [Logseq GPT-3 Plugin](/projects/logseq-gpt3-plugin)

[A released Logseq plugin that sends block prompts to OpenAI text models and inserts responses as child blocks; the current project is a legacy GPT-3 integration.](/projects/logseq-gpt3-plugin)

[May 31, 2022 Launched](/projects/logseq-gpt3-plugin)

[Website GitHub](/projects/logseq-gpt3-plugin)

[TypeScript React OpenAI API Logseq](/projects/logseq-gpt3-plugin)

## More projects

58 projects

[![Tallpine](/_astro/tallpine-screenshot.drQ95gay_28G9a3.webp)](/projects/tallpine)

### [Tallpine](/projects/tallpine)

[An expert-led publishing tool that turns customer questions into briefs, drafts, and published articles, with managed WordPress and Payload publishing, plan-aware content autopilot, and per-site billing.](/projects/tallpine)

[Aug 20, 2026 Launched](/projects/tallpine)

[GitHub](/projects/tallpine)

[TypeScript PostgreSQL Stripe WordPress](/projects/tallpine)

[![BlockSignal](/_astro/blocksignal-hero.CeMNVkG7_Z2vdk8y.webp)](/projects/blocksignal)

### [BlockSignal](/projects/blocksignal)

[An in-development fail-open blocker detection and recovery SDK for publishers, with separate blocker evidence and environment-health reporting.](/projects/blocksignal)

[Aug 14, 2026 In development](/projects/blocksignal)

[GitHub](/projects/blocksignal)

[TypeScript Bun TanStack Start React](/projects/blocksignal)

[![BakeApp](/_astro/bakeapp-screenshot.APcEKQbC_ZtXw3A.webp)](/projects/bakeapp)

### [BakeApp](/projects/bakeapp)

[An in-development native Apple sourdough planner with a Rust engine for formulas, scheduling, persistence, export, media, and CloudKit transport.](/projects/bakeapp)

[Jul 19, 2026 In development](/projects/bakeapp)

[Rust Swift SwiftUI SQLite](/projects/bakeapp)

[![Codex Stream Deck](/_astro/codex-stream-deck-cover.DQw-fg37_FKcvd.webp)](/projects/codex-stream-deck)

### [Codex Stream Deck](/projects/codex-stream-deck)

[An importable Stream Deck XL profile and bundled status plugin for the local Codex desktop app, generated from a Node.js build script.](/projects/codex-stream-deck)

[Jul 19, 2026 In development](/projects/codex-stream-deck)

[JavaScript Stream Deck Codex](/projects/codex-stream-deck)

[![Yougroup](/_astro/groupie-hero.kypDzZ8X_Z27aHPw.webp)](/projects/groupie)

### [Yougroup](/projects/groupie)

[Yougroup is a local-first browser extension for YouTube Lists and combined Upload feeds, with Google sign-in and a paid Stripe subscription.](/projects/groupie)

[Jul 19, 2026 In development](/projects/groupie)

[Website](/projects/groupie)

[TypeScript Chrome Extension React YouTube](/projects/groupie)

[![Reply Tidy](/_astro/reply-tidy-hero.DJ0gRNxd_2vuqyJ.webp)](/projects/reply-tidy)

### [Reply Tidy](/projects/reply-tidy)

[A high-performance webhook system that moderates Threads comments with OpenAI, combining free keyword rules with batched AI moderation and a human review queue.](/projects/reply-tidy)

[Jul 19, 2026 Launched](/projects/reply-tidy)

[TypeScript TanStack Start Drizzle ORM PostgreSQL](/projects/reply-tidy)

[![ThoughtBubble Homepage](/_astro/thoughtbubble-homepage-screenshot.DytiAvQb_17rQ8c.webp)](/projects/thoughtbubble-homepage)

### [ThoughtBubble Homepage](/projects/thoughtbubble-homepage)

[Thoughtbubble's company site, product landing pages, and journals, built with TanStack Start/Router, React, Vite/Nitro, and Tailwind CSS.](/projects/thoughtbubble-homepage)

[Jul 19, 2026 Launched](/projects/thoughtbubble-homepage)

[TypeScript Next.js Bun Tailwind CSS](/projects/thoughtbubble-homepage)

[![Umami Mobile SDK](/_astro/umami-mobile-cover.Dsi7AKmz_7JTNb.webp)](/projects/umami-mobile)

### [Umami Mobile SDK](/projects/umami-mobile)

[Rust-first, local-first Umami analytics SDK for Rust services, iOS, iPadOS, macOS, and Android, with a durable SQLite queue and thin native overlays.](/projects/umami-mobile)

[Jul 19, 2026 In development](/projects/umami-mobile)

[Rust UniFFI SQLite Swift](/projects/umami-mobile)

[![Bevy Agent](/_astro/bevy-agent-cover.D-XF54D4_ZLxtvn.webp)](/projects/bevy-agent)

### [Bevy Agent](/projects/bevy-agent)

[An in-development Bevy 0.18 workspace for deterministic game simulation control, snapshots, replay, and JSON-RPC, HTTP, and WebSocket agents.](/projects/bevy-agent)

[May 13, 2026 In development](/projects/bevy-agent)

[GitHub](/projects/bevy-agent)

[Rust Bevy Bevy Plugin ECS](/projects/bevy-agent)

[![Platform](/_astro/platform-hero.LKJBGtOr_1xgzfa.webp)](/projects/platform)

### [Platform](/projects/platform)

[A small 2D platformer rendered with isometric 3D models, written in C99 and built on Sokol and a tiny ECS. Same binary runs natively and in the browser via WebAssembly.](/projects/platform)

[May 13, 2026 Launched](/projects/platform)

[Website GitHub](/projects/platform)

[C Sokol WebAssembly Game Development](/projects/platform)

[![TRAD Strike](/_astro/trad-hero.DWOM3tTK_nay4p.webp)](/projects/trad)

### [TRAD Strike](/projects/trad)

[A small Raiden Trad-inspired vertical shooter written in C99, built on Sokol and a tiny ECS. The same binary runs natively and in the browser via WebAssembly.](/projects/trad)

[May 13, 2026 Launched](/projects/trad)

[Website GitHub](/projects/trad)

[C Sokol WebAssembly Game Development](/projects/trad)

[![Blackwater Rift](/_astro/blackwater-rift-hero.BSRJcLS7_26iis3.webp)](/projects/blackwater-rift)

### [Blackwater Rift](/projects/blackwater-rift)

[A playable Game Boy shooter ROM with a browser shell that runs the same ROM on desktop and mobile browsers.](/projects/blackwater-rift)

[May 11, 2026 Launched](/projects/blackwater-rift)

[Website GitHub](/projects/blackwater-rift)

[Game Boy GBDK C JavaScript](/projects/blackwater-rift)

[![c-ecs](/_astro/c-ecs-cover.5Qt3YRr9_Z12iyld.webp)](/projects/c-ecs)

### [c-ecs](/projects/c-ecs)

[An in-development single-header C99 entity-component-system library with caller-owned storage and compile-time capacities for small games and embedded targets.](/projects/c-ecs)

[May 11, 2026 In development](/projects/c-ecs)

[GitHub](/projects/c-ecs)

[C ECS Game Development Embedded](/projects/c-ecs)

[![Travel Map](/_astro/travel-map-hero.DIFA0vEs_ZK4bFh.webp)](/projects/travel-map)

### [Travel Map](/projects/travel-map)

[An interactive map of the countries, US states, China provinces, and cities I have visited, powered by a small YAML travel log.](/projects/travel-map)

[May 11, 2026 Launched](/projects/travel-map)

[Website](/projects/travel-map)

[Travel Astro TypeScript D3](/projects/travel-map)

[![Obsidian Insights](/_astro/obsidian-insights-hero._ojVyznz_Z1SL0Rp.webp)](/projects/obsidian-insights)

### [Obsidian Insights](/projects/obsidian-insights)

[An Obsidian plugin that generates live AI writing insights, connections, counter-arguments, and suggested edits while you write.](/projects/obsidian-insights)

[May 1, 2026 In development](/projects/obsidian-insights)

[TypeScript Obsidian Plugin AI](/projects/obsidian-insights)

[![Rainybow](/_astro/rainybow-hero.Cnl5Bk2N_boCAM.webp)](/projects/rainybow)

### [Rainybow](/projects/rainybow)

[A Hawaii rainbow tracker that combines weather, rain chances, cloud cover, humidity, and sun angle to forecast when and where to look.](/projects/rainybow)

[May 1, 2026 Launched](/projects/rainybow)

[Website](/projects/rainybow)

[React TypeScript Bun Tailwind CSS](/projects/rainybow)

[![Obsidian Data Editor](/_astro/obsidian-data-editor-hero.CiPuXx06_1fOdW.webp)](/projects/obsidian-data-editor)

### [Obsidian Data Editor](/projects/obsidian-data-editor)

[An Obsidian plugin that opens .json, .yaml, and .yml files in a visual tree editor, with inline editing, schema validation, and a CodeMirror source mode.](/projects/obsidian-data-editor)

[Apr 29, 2026 In development](/projects/obsidian-data-editor)

[TypeScript Obsidian Plugin JSON](/projects/obsidian-data-editor)

[![Obsidian CSV Editor](/_astro/obsidian-csv-editor-hero.BRGt-Uzg_Z1E7zIL.webp)](/projects/obsidian-csv-editor)

### [Obsidian CSV Editor](/projects/obsidian-csv-editor)

[An Obsidian plugin that opens .csv files in a spreadsheet-like grid with keyboard navigation, range selection, copy/paste, sorting, and debounced auto-save.](/projects/obsidian-csv-editor)

[Apr 28, 2026 In development](/projects/obsidian-csv-editor)

[TypeScript React Obsidian Plugin](/projects/obsidian-csv-editor)

[![Obsidian Schema](/_astro/obsidian-schema-hero.BY4SGNG3_Z1m0hNw.webp)](/projects/obsidian-schema)

### [Obsidian Schema](/projects/obsidian-schema)

[An Obsidian plugin that validates note frontmatter against user-defined JSON Schema rules, with tag-driven selectors, a results sidebar, and inline error reporting.](/projects/obsidian-schema)

[Apr 27, 2026 In development](/projects/obsidian-schema)

[GitHub](/projects/obsidian-schema)

[TypeScript Obsidian Plugin JSON Schema](/projects/obsidian-schema)

[![CoolRSS](/_astro/coolrss-hero.BOzS3Ks6_ZhtkcY.webp)](/projects/coolrss)

### [CoolRSS](/projects/coolrss)

[An in-development local-first RSS and read-it-later desktop app with a shared Rust core, Tauri shell, React frontend, SQLite FTS5, and CLI.](/projects/coolrss)

[Apr 8, 2026 In development](/projects/coolrss)

[GitHub](/projects/coolrss)

[Rust Tauri React TypeScript](/projects/coolrss)

[![Pogo Panic](/_astro/pogo-panic-hero.BCCfAwIN_AeGh3.webp)](/projects/pogo-panic)

### [Pogo Panic](/projects/pogo-panic)

[A tiny Game Boy arcade platformer built with GBDK-2020. You're always bouncing on a pogo stick: steer, stomp cracked blocks, grab the battery, reach the exit.](/projects/pogo-panic)

[Apr 1, 2026 Launched](/projects/pogo-panic)

[Website GitHub](/projects/pogo-panic)

[Game Boy GBDK-2020 C Vite](/projects/pogo-panic)

[![Audiobook Player](/_astro/audio-hero.CEvo4_UK_Z2vaitw.webp)](/projects/audio)

### [Audiobook Player](/projects/audio)

[An in-development Tauri 2 audiobook player for desktop and iOS that reads books from Google Drive, stores metadata and progress in SQLite, and supports offline chapter playback.](/projects/audio)

[Mar 16, 2026 In development](/projects/audio)

[GitHub](/projects/audio)

[Tauri Rust TypeScript React](/projects/audio)

[![Deadman](/_astro/deadman-cover.D48P5TJO_1di7eA.webp)](/projects/deadman)

### [Deadman](/projects/deadman)

[An in-development Cloudflare Workers and Durable Objects dead-man's switch for Prometheus and Alertmanager heartbeats and notification recovery.](/projects/deadman)

[Mar 9, 2026 In development](/projects/deadman)

[GitHub](/projects/deadman)

[TypeScript Cloudflare Workers Durable Objects Prometheus](/projects/deadman)

[![Caliber](/_astro/caliber-hero.BfDjp7ps_cVr3a.webp)](/projects/caliber)

### [Caliber](/projects/caliber)

[A local-first web interface and CLI for browsing, searching, reading, and downloading a Calibre library, with cursor pagination and virtualized views.](/projects/caliber)

[Mar 4, 2026 Launched](/projects/caliber)

[Website GitHub](/projects/caliber)

[TypeScript Bun React SQLite](/projects/caliber)

[![Oracle World](/_astro/oracle-world-cover.DV__AP5e_2brGj6.webp)](/projects/oracle-world)

### [Oracle World](/projects/oracle-world)

[OpenTofu modules for Oracle Cloud's Always Free tier. One apply deploys a 2 OCPU ARM VM with 12 GB RAM and 200 GB combined storage, plus optional MySQL, object storage, monitoring, and budget alerts.](/projects/oracle-world)

[Feb 17, 2026 In development](/projects/oracle-world)

[GitHub](/projects/oracle-world)

[OpenTofu Terraform Oracle Cloud Infrastructure](/projects/oracle-world)

[![RSS AI](/_astro/rss-ai-hero.bGD9l2Xk_Z1lnlI.webp)](/projects/rss-ai)

### [RSS AI](/projects/rss-ai)

[A CLI RSS/Atom feed reader with OPML support, smart caching, full-text search, content extraction, broken link repair, and an interactive TUI.](/projects/rss-ai)

[Feb 13, 2026 Launched](/projects/rss-ai)

[Website](/projects/rss-ai)

[TypeScript Bun CLI TUI](/projects/rss-ai)

[![Paratran](/_astro/paratran-cover.FsJ6oZ7H_2sWcmt.webp)](/projects/paratran)

### [Paratran](/projects/paratran)

[A CLI, REST API, and MCP server for fast audio transcription on Apple Silicon, built on parakeet-mlx and the Parakeet TDT model.](/projects/paratran)

[Feb 12, 2026 Launched](/projects/paratran)

[Website GitHub](/projects/paratran)

[Python MLX Apple Silicon Speech-to-Text](/projects/paratran)

[![Z.AI CLI](/_astro/z-cli-cover.CKaOp_X-_ZsgDTC.webp)](/projects/z-cli)

### [Z.AI CLI](/projects/z-cli)

[Unified command-line interface and MCP server for Z.AI services: image generation, OCR, vision, web search, web reader, and Zread code research.](/projects/z-cli)

[Feb 12, 2026 Launched](/projects/z-cli)

[Website GitHub](/projects/z-cli)

[TypeScript CLI MCP AI](/projects/z-cli)

[![Kungfu](/_astro/kungfu-cover.DqBGaDvE_Z1JinYW.webp)](/projects/kungfu)

### [Kungfu](/projects/kungfu)

[A public collection of 14 Agent Skills for AI coding agents, with reusable prompts, references, templates, examples, and helper scripts installable from GitHub.](/projects/kungfu)

[Jan 24, 2026 Launched](/projects/kungfu)

[GitHub](/projects/kungfu)

[TypeScript Python Claude AI](/projects/kungfu)

[![SReader](/_astro/sreader-screenshot.BHLjlJK0_u4piX.webp)](/projects/sreader)

### [SReader](/projects/sreader)

[A focused reading app that keeps a highlighted line centered while text moves at your pace, with web and native apps for iPhone, iPad, Mac, and Android.](/projects/sreader)

[Jan 16, 2026 Launched](/projects/sreader)

[Website](/projects/sreader)

[TypeScript React TanStack Speed Reading](/projects/sreader)

[![Subs: Email Signup API](/_astro/subs-hero.DK7OpO0p_Z1VQdXG.webp)](/projects/subs)

### [Subs: Email Signup API](/projects/subs)

[An email-signup API that writes straight into a Google Sheet. Cloudflare Turnstile blocks bots, Bun or Workers as the runtime, no separate database to operate.](/projects/subs)

[Jan 13, 2026 Launched](/projects/subs)

[Website GitHub](/projects/subs)

[TypeScript Bun ElysiaJS Cloudflare Workers](/projects/subs)

[![Moodboard](/_astro/moodboard-hero.CECE6X0a_1qULR7.webp)](/projects/moodboard)

### [Moodboard](/projects/moodboard)

[A deployed browser moodboard canvas with infinite pan and zoom, sticky notes, image placement, drag-and-drop, and desktop and mobile layouts.](/projects/moodboard)

[Dec 27, 2025 Launched](/projects/moodboard)

[Website](/projects/moodboard)

[Bun React TypeScript Konva](/projects/moodboard)

[![ArcFetch](/_astro/arcfetch-cover.nK9dFnQc_1MzE5G.webp)](/projects/arcfetch)

### [ArcFetch](/projects/arcfetch)

[A Bun CLI and MCP server that fetches URLs, extracts clean Markdown with Mozilla Readability, and falls back to Playwright for JavaScript-heavy pages.](/projects/arcfetch)

[Dec 25, 2025 Launched](/projects/arcfetch)

[GitHub](/projects/arcfetch)

[TypeScript CLI MCP AI](/projects/arcfetch)

[![wraptc: Multi-Provider AI Coding CLI](/_astro/wraptc-cover.BBykRDPi_Z1JHStT.webp)](/projects/wraptc)

### [wraptc: Multi-Provider AI Coding CLI](/projects/wraptc)

[A unified CLI wrapper that routes coding requests across Gemini, OpenCode, Qwen Code, and Codex with automatic fallback, daily-credit tracking, and a built-in MCP server.](/projects/wraptc)

[Dec 24, 2025 Launched](/projects/wraptc)

[GitHub](/projects/wraptc)

[TypeScript Bun CLI MCP](/projects/wraptc)

[![UberSearch](/_astro/ubersearch-cover.Czxx4XpN_Z1slUKQ.webp)](/projects/ubersearch)

### [UberSearch](/projects/ubersearch)

[One CLI/MCP front-end for Tavily, Brave, Linkup, and self-hosted SearXNG. Tries free providers first, falls back to paid ones, tracks credits.](/projects/ubersearch)

[Dec 23, 2025 Launched](/projects/ubersearch)

[GitHub](/projects/ubersearch)

[TypeScript CLI MCP Search](/projects/ubersearch)

[![Yuptime](/_astro/yuptime-hero.DIfs4PH4_Hwpcd.webp)](/projects/yuptime)

### [Yuptime](/projects/yuptime)

[Kubernetes-native monitoring where configuration is CRDs, state lives in status, and a bounded controller and worker engine checks targets with Prometheus and Alertmanager integrations.](/projects/yuptime)

[Dec 16, 2025 Launched](/projects/yuptime)

[GitHub](/projects/yuptime)

[TypeScript Kubernetes Uptime Monitoring CRD](/projects/yuptime)

[![swipefeed](/_astro/swipefeed-screenshot.CSU7l0xi_tG4Fi.webp)](/projects/swipefeed)

### [swipefeed](/projects/swipefeed)

[Headless React primitives for building TikTok and Reels-style swipe feeds: a render-prop component and hook with virtualization, gestures, keyboard, and accessibility built in.](/projects/swipefeed)

[Dec 8, 2025 Launched](/projects/swipefeed)

[Website GitHub](/projects/swipefeed)

[TypeScript React UI Component Library](/projects/swipefeed)

[![Gitforest](/_astro/gitforest-hero.CHDUP7Me_1356Ix.webp)](/projects/gitforest)

### [Gitforest](/projects/gitforest)

[A published Bun and TypeScript terminal UI for scanning many Git repositories, showing sync status, and running Git and GitHub operations in batches.](/projects/gitforest)

[Dec 2, 2025 Launched](/projects/gitforest)

[Website](/projects/gitforest)

[TypeScript Bun Ink React](/projects/gitforest)

[![Verso](/_astro/verso-cover.CQKuMItk_KPue2.webp)](/projects/verso)

### [Verso](/projects/verso)

[Embedded TypeScript vector database for Bun, Node.js, and browsers, with portable HNSW search and OPFS persistence.](/projects/verso)

[Nov 27, 2025 Launched](/projects/verso)

[Website](/projects/verso)

[TypeScript Vector Search HNSW Embeddings](/projects/verso)

[![Quantum Engine](/_astro/quantum-engine-screenshot.C9mMNYO5_Z21dHgp.webp)](/projects/quantum-engine)

### [Quantum Engine](/projects/quantum-engine)

[A browser-first TypeScript ECS game-engine monorepo organized as 28 @quantum packages, with plugin-based rendering, physics, input, audio, animation, networking, UI, and scene editing.](/projects/quantum-engine)

[Nov 2, 2025 In development](/projects/quantum-engine)

[TypeScript ECS Game Engine WebGL](/projects/quantum-engine)

[![Vannevar](/_astro/vannevar-cover.Bf9GYFvw_Z1Kxubb.webp)](/projects/vannevar)

### [Vannevar](/projects/vannevar)

[High-performance local RAG for Markdown: contextual FTS5, HNSW vector search, weighted RRF, and on-device ONNX or llama.cpp embeddings. Bun-only.](/projects/vannevar)

[Oct 30, 2025 Launched](/projects/vannevar)

[Website](/projects/vannevar)

[TypeScript Bun RAG Vector Search](/projects/vannevar)

[![Vibe Cafe](/_astro/lofi-hero.Zs2fbQxc_ZYxHDj.webp)](/projects/lofi)

### [Vibe Cafe](/projects/lofi)

[Vibe Cafe is a deployed browser-based lofi coding companion with terminal-style diff animation, themed controls, keyboard shortcuts, and background audio.](/projects/lofi)

[Oct 10, 2025 Launched](/projects/lofi)

[Website](/projects/lofi)

[React TypeScript Bun Tailwind CSS](/projects/lofi)

[![PokeClaude](/_astro/pokeclaude-hero.iy7LldOT_1RgX8v.webp)](/projects/pokeclaude)

### [PokeClaude](/projects/pokeclaude)

[An MCP server and Claude Code plugin for Pokémon TCG Pocket. Search 3,761 cards across 22 sets, analyze synergies, build 20-card decks, and inspect the current meta.](/projects/pokeclaude)

[Oct 3, 2025 Launched](/projects/pokeclaude)

[Website GitHub](/projects/pokeclaude)

[TypeScript MCP Claude DuckDB](/projects/pokeclaude)

[![Raindrop MCP](/_astro/raindrop-mcp-cover.CFFtUd0y_Z1Ypkey.webp)](/projects/raindrop-mcp)

### [Raindrop MCP](/projects/raindrop-mcp)

[An MCP server for Raindrop.io, letting Claude (or any MCP client) read, write, and reorganise your bookmarks, collections, tags, and highlights.](/projects/raindrop-mcp)

[Sep 21, 2025 Launched](/projects/raindrop-mcp)

[Website GitHub](/projects/raindrop-mcp)

[TypeScript MCP Claude Raindrop.io](/projects/raindrop-mcp)

[![Anki AI](/_astro/anki-ai-cover.Cku9kPWp_ZRCGqG.webp)](/projects/anki-ai)

### [Anki AI](/projects/anki-ai)

[An MCP server and CLI for Anki via Anki-Connect, with 96 tools for cards, reviews, decks, models, media, stats, and GUI automation.](/projects/anki-ai)

[Sep 3, 2025 Launched](/projects/anki-ai)

[Website GitHub](/projects/anki-ai)

[TypeScript MCP Claude Anki](/projects/anki-ai)

[![BlogSeq](/_astro/blogseq-hero.B0LTc9mR_Z1UcDex.webp)](/projects/blogseq)

### [BlogSeq](/projects/blogseq)

[A Logseq plugin that exports pages to portable Markdown, resolving references and bundling images and other assets; the current release is DB-version-only pre-alpha.](/projects/blogseq)

[Sep 1, 2025 Launched](/projects/blogseq)

[GitHub](/projects/blogseq)

[TypeScript React Logseq Plugin](/projects/blogseq)

[![SearchThing](/_astro/searchthing-hero.Gbk0qQRN_1y55BF.webp)](/projects/searchthing)

### [SearchThing](/projects/searchthing)

[Semantic search over your own documents, running entirely in the browser. Drop in PDFs, Markdown, or text; embeddings are generated on-device with Transformers.js.](/projects/searchthing)

[Feb 26, 2025 Launched](/projects/searchthing)

[Website](/projects/searchthing)

[TypeScript React AI Search](/projects/searchthing)

[![Connect Four](/_astro/connectfour-hero.BOUWsesO_2l1j2M.webp)](/projects/connectfour)

### [Connect Four](/projects/connectfour)

[A public real-time multiplayer Connect Four game with a 3D board, room invite codes, and server-backed game state.](/projects/connectfour)

[Feb 13, 2025 Launched](/projects/connectfour)

[Website](/projects/connectfour)

[React TypeScript Socket.io Three.js](/projects/connectfour)

[![Typst Business Card Templates](/_astro/typst-business-cards-hero.ETea5sNY_1Jf4S9.webp)](/projects/typst-business-cards)

### [Typst Business Card Templates](/projects/typst-business-cards)

[A collection of professionally-designed business card templates built with Typst, featuring multiple styles from minimalist to luxury.](/projects/typst-business-cards)

[Nov 18, 2024 In development](/projects/typst-business-cards)

[GitHub](/projects/typst-business-cards)

[typst design templates business-cards](/projects/typst-business-cards)

[![Art Gallery](/_astro/art-gallery-hero.CoXq0f5R_1xEv2j.webp)](/projects/art)

### [Art Gallery](/projects/art)

[A public gallery of drawing and painting studies, organized by series with metadata filters and a PhotoSwipe lightbox.](/projects/art)

[Aug 2, 2024 Launched](/projects/art)

[Website](/projects/art)

[Art Drawing Astro TypeScript](/projects/art)

[![Photo Gallery](/_astro/photos-hero.DEqUjpsv_Z1XueSF.webp)](/projects/photos)

### [Photo Gallery](/projects/photos)

[My photography portfolio: collections grouped by trip and theme, with EXIF data, GPS pins on a map, and a full-screen lightbox.](/projects/photos)

[Aug 2, 2024 Launched](/projects/photos)

[Website](/projects/photos)

[Photography Astro TypeScript Leaflet](/projects/photos)

[![Pin Collection](/_astro/pin-collection-map-hero.BmWpjOwj_1aSixE.webp)](/projects/pin-collection)

### [Pin Collection](/projects/pin-collection)

[A digital display case for my lapel-pin collection. Each pin is photographed, background-removed, and pinned (sorry) to a velvet-style backdrop with notes on where it came from.](/projects/pin-collection)

[Aug 2, 2024 Launched](/projects/pin-collection)

[Website](/projects/pin-collection)

[Collection Astro TypeScript rembg](/projects/pin-collection)

[![Recipe Collection](/_astro/recipes-hero.B_5aYGnT_Z4PTqz.webp)](/projects/recipes)

### [Recipe Collection](/projects/recipes)

[My recipes, written in Cooklang and rendered with a custom Astro integration. Ingredients scale, steps are linked, and everything is plain text on disk.](/projects/recipes)

[Aug 2, 2024 Launched](/projects/recipes)

[Website](/projects/recipes)

[Cooklang Astro TypeScript Recipe Management](/projects/recipes)

[![Wikipedia 3D Embeddings](/_astro/wikipedia-3d-embeddings-hero.DlMa9D6O_20tPuc.webp)](/projects/wikipedia-3d-embeddings)

### [Wikipedia 3D Embeddings](/projects/wikipedia-3d-embeddings)

[Embed thousands of Wikipedia articles, project them into 3D with UMAP, and fly through the result in the browser. Articles cluster by what they're about, not by what folder they live in.](/projects/wikipedia-3d-embeddings)

[Aug 27, 2023 Launched](/projects/wikipedia-3d-embeddings)

[Website GitHub](/projects/wikipedia-3d-embeddings)

[Python Three.js Machine Learning UMAP](/projects/wikipedia-3d-embeddings)

[![Chunk Audio](/_astro/chunk-audio-hero.BtFKmBI0_2kGbUS.webp)](/projects/chunk-audio)

### [Chunk Audio](/projects/chunk-audio)

[A browser app that uses ffmpeg.wasm to split audio into 10-minute chunks and download them as a ZIP.](/projects/chunk-audio)

[Jul 22, 2023 Launched](/projects/chunk-audio)

[Website GitHub](/projects/chunk-audio)

[Audio TypeScript GitHub](/projects/chunk-audio)

[![Cooklang Parser](/_astro/cooklang-parser-hero.CKszzHPX_Z2cG33l.webp)](/projects/cooklang-parser)

### [Cooklang Parser](/projects/cooklang-parser)

[A published TypeScript Cooklang parser with typed output, metadata, sections, frontmatter support, and canonical plus extension parsing modes.](/projects/cooklang-parser)

[Mar 16, 2022 Launched](/projects/cooklang-parser)

[GitHub](/projects/cooklang-parser)

[TypeScript Vitest npm](/projects/cooklang-parser)

[![PostcardPop](/_astro/postcardpop-hero.EcnRC45D_Z23rwsw.webp)](/projects/postcardpop)

### [PostcardPop](/projects/postcardpop)

[Create and share beautiful digital postcards with custom images, messages, map stamps, and a copyable link.](/projects/postcardpop)

[Jul 4, 2020 Launched](/projects/postcardpop)

[Website](/projects/postcardpop)

[React TypeScript Vite Leaflet](/projects/postcardpop)

[![3D Me: 3D Selfie](/_astro/3d-me-hero.CaqVnWVy_2hPqrc.webp)](/projects/3d-me)

### [3D Me: 3D Selfie](/projects/3d-me)

[An interactive browser viewer for a full-body 3D scan, built with three.js and deployed as a GitHub Pages demo.](/projects/3d-me)

[Jun 24, 2019 Launched](/projects/3d-me)

[Website GitHub](/projects/3d-me)

[JavaScript three.js WebGL 3D](/projects/3d-me)
