Projects
Things I build and maintain.
technologies
josh.bot
↗Go API backed by DynamoDB, deployed to Lambda. Powers the dynamic data across most of my sites.
k8-one.josh.bot
↗My agent k8-one's personal blog
LiftLog
Full-stack weightlifting tracker. Strong CSV import, exercise library, strength standards, AI insights.
Elegy Campaign Player
Solo vampire TTRPG webapp. 19 TypeScript engine modules, 886 tests, optional LLM narration.
bookalysis
↗EPUB analysis pipeline with LLM-powered annotations. Three-column web reader.
cartograph
↗Code mapping tool with style consistency analysis and diff-aware code review.
movielog
Media catalog for movies, books, comics, and magazines. TMDB integration for automated metadata.
autonotes
↗FastAPI application for Obsidian vault analysis. Auto-triage, note clustering, LLM integration.
cal
↗Single-page calendar with data pulling from DynamoDB
alien cannon timeline
↗A fun timeline trying to keep track of the increasingly disparate lore of the Alien franchise.
ping sweeper
↗Rust CLI tool for fast ICMP ping sweeps with concurrency and reporting features.
pb-viewer
↗Mostly golang and typescript code for parsing photos. Spec-kit experimentation.
liftlog-v2
↗We dont talk about v1
wordle-clone
↗a wordle clone. yeah.
elegy-gen
↗generators for the single-player game Elegy
alien-canon-timeline
↗a simple client-side html alien canon timeline
personal-blog
↗El bloggo - an older one in Astro
media-stack
↗stackin media, pretty much an entire media system in docker
Metrognomic
↗Dance with a metrognome. One of my first Swift projects.
k8s-platform
↗a platform for my apps, handles all kinds of various apps and services. mostly a WIP still but likely always will be
nextjs-blog
↗My original blog site in NextJS before I moved to Astro.
breakerz
↗Brick Breaker game written in Phaser!
stoicisms
↗daily stoic quotes in app or a widget, runs on the mac desktop
ceefax
↗vibed out a ceefax clone thats terrible but i love it anyway
routinerampage
↗A habit tracker modeled with a 90s theme
strong-stats-nextjs
↗rewrite in nextjs of the strong stats parser
repodoc
↗Use a local model to document a repo, original idea before cartograph
llm-agent
↗Run an LLM agent. Basically.
idealizer
↗a textual for generating ideas in mermaid
obsidian-uuidstamper
↗an obsidian uuid timestamper