skip to content
carldmitchell.com

Carl Mitchell

I build small tools for problems I actually have, then keep using them. Here are all 24 of them: what's running, what I'm building now, and how each one works.

7 more projects (professional work and internal tools) are shared with an access code. Request one

live tools

  • live
    homeMy front door to the internet. The week's writing on my subjects, read by Claude first, a YouTube feed with no algorithm, and videos written up as posts. One page, and it ends.Python (standard library only), vanilla JS, launchd, Claude Code
  • live
    stop-the-slopYouTube by topic, from channels I chose. No algorithm, no Shorts, no discovery feed.Python, vanilla JS, YouTube RSS, YouTube Data API (optional)
  • live
    no-spoiled-sportsGame highlights by sport, with the score kept out of every title and thumbnail until I press play.Ruby on Rails 8, SQLite, Hotwire (Turbo + Stimulus), Solid Queue, YouTube Data API
  • live
    no-shortsA Chrome extension that hides YouTube Shorts everywhere and turns Subscriptions back into a plain chronological feed.Chrome extension (Manifest V3), vanilla JS, CSS
  • live
    ARK companionAn offline field guide for ARK, Survival Ascended. Ask in plain English, get taming, crafting, boss and artifact answers from a hand-checked knowledge base.Python (standard library only), installable PWA, Markdown knowledge base
  • live
    workbenchA self-serve trial app for a PDF accessibility auto-tagger. Sign up, upload a PDF, get back a tagged PDF and its PDF/UA validation report, live.Ruby on Rails, Hotwire, SQLite, Solid Queue, Cloudflare Tunnel

ai tooling

  • in progress
    Claude skillsEleven Claude Code skills I wrote for my own work, covering news triage, fact-checking, research, idea generation and game asset production.Claude Code skills (Markdown instructions plus Python/Bash helpers), Playwright MCP
  • in progress
    server-toolsClaude Code skills that run on both my desktop and the home server, starting with a YouTube-to-searchable-transcript indexer that now holds 470+ videos.Python, Bash, yt-dlp, Whisper, Claude Code (headless), systemd and launchd
  • in progress
    IdeaBoardWhere my ideas start. Every idea is a folder with its own README and CLAUDE.md, so I can open a Claude session inside any idea and run research or a critique on it, then promote it into a real project.Python (standard library only), plain JS, Markdown with frontmatter; the window is a second instance of Switchboard

games

  • in progress
    OpenWorld3rdPerson DevKitA shelf of reusable Rust/Bevy game systems (ocean, sky, inventory, crafting, building, combat) where every piece runs in single player, co-op and dedicated server.Rust, Bevy 0.19, bevy_replicon, WGSL shaders, Blender (scripted), Claude Code agents
  • in progress
    Leatherstocking TalesA multiplayer survival and crafting game set in the 1750s Great Smoky Mountains, with an authoritative dedicated server, in Rust and Bevy.Rust, Bevy 0.19, bevy_replicon + renet (UDP), Rapier physics, WGSL
  • in progress
    OceanA real-time open ocean in Rust and Bevy, with FFT waves, a physical sky, volumetric clouds, storms and a sailing yacht with its wake.Rust, Bevy 0.19, WGSL compute and render shaders
  • paused
    Enshrouded buildsPlanning big builds in Enshrouded from historical photos, and the design for an Enshrouded-style voxel building system of my own.Markdown plans, HTML/JS viewers, the game's own building tools
  • live
    Conan mod-list switcherOne command to swap Conan Exiles' active mod list between servers, instead of re-detecting mods every time I change servers.Bash

music

  • live
    Year-End ChartsThe top 100 songs of every year since 1959 on the Hot 100 and Country charts, each linked to its video, with one-click playlists.Python, BeautifulSoup, yt-dlp, static HTML/JS
  • in progress
    songprintTurns an instrumental into a lyric-writing spec, with lines per section and syllables per line, so lyrics written for it actually fit the music.Python, librosa, OCR, Demucs (stem separation)
  • paused
    reference-tracksA spec for turning "a song like Stairway to Heaven crossed with Highway to Hell" into a generator-ready prompt, without naming any artist.Designed as an MCP server (Python), YAML song-DNA records, rules plus one LLM call
  • in progress
    Common ChordA daily-style music puzzle. Find the word that links song titles by different artists, with the famous artist held back as a hint.Vanilla JS, static HTML, Spotify deep links, GitLab Pages
  • in progress
    Diapason and MixtapeTwo music discovery apps. Diapason runs artist battles to find what you actually like; Mixtape turns a year and a mood into an era-accurate playlist.Node.js, Express, Spotify Web API, YouTube Data API, an LLM as the curation engine
  • in progress
    Suno catalogMy library of 68 AI-generated songs, organized like a label's catalog, with masters, mixes, lyrics, release sequencing and the tools that work on it.Python, Suno, FLAC/WAV pipeline, Markdown

infrastructure

  • live
    carldmitchell.comThis site. Every project I've built, one README each, with a public layer, a layer for employers who have an access code, and a private layer.Python (standard library only), server-rendered Markdown, signed cookies, Claude Code (weekly sync)

other

  • paused
    League ManagerSoftware for running youth and recreational sports leagues (registration, scheduling, standings, referees) without an enterprise sales call.Ruby on Rails 8, Hotwire, SQLite, Solid Queue/Cache/Cable, Minitest, Playwright system tests
  • live
    Linux hardware utilitiesSmall tools that make hardware without Linux support work anyway, including a reverse-engineered gaming mouse protocol and Corsair keyboard protocol research.Python, hidapi, USB HID reverse engineering, Lua (Hyprland)
  • live
    dramatic-bwRecreates a high-contrast black-and-white glow look from early-2010s photo editors, as one Python filter with three presets.Python, Pillow, NumPy