This is Josh
I buildbuildbuildbuildbuildbuildbuildbuildbuildbuildbuildbuildbuildbuildbuild tools and systems that make hard or tedious work easy.
I'm Josh, a problem solver with a mathematics degree. I make games, tools, data pipelines and the systems underneath them, usually because someone near me needed one.
- Problem
- Turn Ghost Game, a two-day jam prototype that took 2nd place at the Garena Game Jam, into a full game.
- Built
- Event-driven gameplay systems, a YAML content pipeline, modifiers, save/load, localization, Steam leaderboards with run replays, and editor tools for the team.
- Result
- Released on Steam in April 2026, with post-launch updates through v1.0.9.
- Problem
- Volunteers had to find and cut the sermon out of every 2–3 hour service recording by hand.
- Built
- A one-click desktop app. Speaker diarization, YAMNet audio features and a self-trained XGBoost model find the sermon; it then transcribes it with Whisper and publishes it to the church website.
- Result
- Mean IoU of 0.967 for sermon boundaries on a 20-recording evaluation set.
- C#
- .NET
- ONNX Runtime
- XGBoost
- Whisper
- Problem
- Our church needed a home for weekly sermons, then tools for running events like a free-coffee bar.
- Built
- A Next.js and Supabase site: sermon articles with Bible-verse tooltips, a multi-station coffee ordering system with a barista queue, push notifications, Bluetooth label printing and analytics, plus potluck sign-ups and event booking.
- TypeScript
- Next.js
- React
- Supabase
- Problem
- Real analysis is abstract, and proofs are hard to learn from a textbook alone.
- Built
- A UI-heavy game that turns real-analysis concepts into mechanics you use to prove statements.
- Result
- Featured in Studies on Social and Education Sciences 2024 (ISTES); released on Steam in September 2024.
Bible RAG
Personal project · 2026
- Problem
- Ask questions about scripture and our church's sermons, and get answers you can check.
- Built
- Hybrid graph and vector retrieval on PostgreSQL (pgvector and Apache AGE), LLM-extracted knowledge-graph triplets, source-aware routing, multilingual queries and an agentic tool-calling mode.
- Result
- Answers cite verse references and sermon timestamps.
- Python
- LangGraph
- PostgreSQL
- Gemini
- Problem
- Our game designer wrote Repeat After Death's content files in YAML with no safety net.
- Built
- A VS Code extension with schema validation, linting, and highlighting for rarities and tags.
- Result
- Shipped in frequent internal releases alongside the game.
- TypeScript
- VS Code API
- JSON Schema
Games
Lead programmer on Repeat After Death, released on Steam, plus prototypes, jams and thesis games.
Tools
Editors, extensions and apps that take the tedious part off someone's plate.
Data & ML
Pipelines, retrieval systems and models, measured against real data.
Web
Sites and internal tools for my church, campus events and my team.