Projects
A mix of things I’m actively building and things I use daily. More in various
states of in-progress on GitHub.
A real-time GitHub Actions dashboard — one pane of glass across every repository
you own, driven by webhooks rather than polling so it’s always current.
Live kanban board across Queued, In Progress, and Completed, with per-step job
timelines, runner pool saturation, and a command palette. Runs as a single binary;
supports multi-replica deployments for larger setups.
An MCP server for the Paprika recipe manager. Search,
browse, and manage your recipes, pantry, and grocery lists from any MCP client —
Claude Code, Claude Desktop, Cursor, or anything else that speaks MCP.
Supports natural-language recipe discovery and keeps a local cache in sync with
Paprika’s cloud in the background. Available via npx @bojanrajkovic/mcp-paprika.
A cryptoquip game — decode encrypted quotes by substituting letters, where each
cipher character maps to exactly one plaintext character throughout the puzzle.
Comes with a website and a terminal UI that tracks your time and saves progress between sessions.
Binaries for Linux, macOS, and Windows are on the releases page.
The evil twin of mogrify. Take a perfectly fine image and make it look like total
dogshit. Crapification is pluggable — each transform is a named crapifier you can
stack and chain into a pipeline.
Four crapifiers ship today: deep-fry (the “forwarded fourteen times” meme look),
palettecrush (snap to a tiny fixed palette — GameBoy, CGA, NES, and more),
xerox (run through a photocopier a few times), and webcam-1999 (the Logitech
QuickCam aesthetic). Available via cargo install crapify.
Type-safe Dockerfile/Containerfile generation with declarative TypeScript. Define
your container builds as code; get back a correctly-formatted Containerfile.
Published to npm.
A TypeScript implementation of Relish, a compact
binary serialization format. Comes in three packages: a core encoder/decoder, a
schema-driven layer for structured types, and a streaming variant for large payloads.