corey@gallon.me:~/projects$ ps
32 running ⋅ 61 total
STATENAMEWHAT IT DOESLAST COMMITLANG
PAUSED
claude-show-imagegithub
Render an image inline in the terminal, so Claude Code can show you a picture while it discusses it.
6 days ago
Python
RUNNING
paddle-findergithub
Building the world's most comprehensive and useful pickleball paddle dataset. This dataset will be the basis for a delightful paddle finder web application, TBD.
6 days ago
Python
RUNNING
traeger-monitorgithub
Watch a Traeger grill's probe temperatures in a browser and predict when the meat will reach its target. Uses multiple predictive models for accuracy.
6 days ago
Jupyter Notebook
RUNNING
motomongithub
A locally-run web app to pull all connection and signal data from a cable modem every thirty seconds. The app charts the trends, detects outages, explains each DOCSIS event in plain English, and prints issue summaries you can read to the technician.
7 days ago
Python
RUNNING
aroundchicago.techgithub
Find technology events around the Chicago area, and subscribe to them from your own calendar.
2 weeks ago
Python
RUNNING
errandsgithub
Move a computing job to the machine that is best suited for it. Have that machine reach out and take the work, pull not push, so it never has to expose any services. A job is just a folder. Its state is which folder it's sitting in.
2 weeks ago
Python
RUNNING
agent-usagegithub
Count the tokens that AI coding agents have consumed. Claude Code and Codex leave a transcript of every session on disk; this finds those stores, reads them all, and totals the tokens, the calls and what they would be billed at. Every figure points back to the file it came from. Where the transcripts are missing or incomplete it says so, so every number is a floor.
2 weeks ago
Python
RUNNING
prompthubgithub
Keep the skills, prompts and agents you hand to Claude Code and Codex in one repository. Run it inside a project and pick what that project needs. They are linked, not copied, so editing the source changes every project that took it. A rename would strand those links on the machines that took them, so a git hook checks after every pull and reports what has drifted.
3 weeks ago
Python
RUNNING
chrome-agentgithub
Give AI coding agents a Chrome browser they can observe and drive from the command line. This is a CLI that launches Chrome, then sends the DevTools Protocol method and parameters you name straight to it and streams back the events you subscribe to. Nothing is validated against a bundled schema, so it tracks the browser you have installed rather than its own release. Several agents and a human can share one browser, each seeing only the events they subscribed to.
3 weeks ago
Python
RUNNING
ensorcell-readergithub
Read a book, paper or article closely in a local web app, with Claude inside the same document. The source is split into blocks at its paragraphs and headings, and you can split again mid-sentence, hang a note off a passage, or put a question to Claude. Its answer is another block, not a chat beside it. Reading view keeps the source a clean column with notes in the margin, and Working view puts them inline as notebook cells.
3 weeks ago
Python
RUNNING
ensorcellgithub
Ask Claude from a markdown cell in a VS Code Jupyter notebook and its answer arrives as the next cell. The extension hands the Claude Code CLI every cell above your prompt, outputs included, so you never explain what you are working on. Only the notebook persists between prompts, so hiding a cell from Claude changes what it remembers while your record stays intact. Claude keeps its full tools, your files, terminal and web search, on your machine.
3 weeks ago
Jupyter Notebook
RUNNING
snipd-to-pocketcastsgithub
Move podcast subscriptions, and especially favourites, out of Snipd and into Pocket Casts. It is an HTML page rather than a script, so it runs in a browser with nothing to install. The subscriptions are the easy part. The favourites are the point, because the episodes you marked in one app are what a move to another would otherwise lose.
3 weeks ago
HTML
RUNNING
calibre-shadow-library-plugingithub
Search Library Genesis and Anna's Archive from inside Calibre's Get Books dialog, through a plugin that downloads into your library. It queries both at once and lists one row per copy per source, so when one file server is down the same book is a click away on another. A row is offered for download only once the plugin has confirmed the link streams the file's bytes. Books catalogued but not yet uploaded stay listed as not available.
3 weeks ago
Python
RUNNING
close-readinggithub
Turn a web page, PDF or EPUB into a Jupyter notebook shaped for close reading with an LLM. The CLI puts one paragraph in each cell, and you ask Claude about each one from inside VS Code. The notebook is canonical, and a plain-text markdown copy regenerated from it carries your questions and answers to any model. A book would come out as hundreds of cells, so you split it by section instead.
3 weeks ago
Jupyter Notebook
RUNNING
open-tts-analysisgithub
Track quality, adoption, licensing and speed for open-source text-to-speech models and publish the comparison as a static dashboard. Which models to track is a human decision, recorded in a registry file. The facts about them are fetched every week from HuggingFace, TTS Arena and Artificial Analysis, and each fetch is kept as an exact snapshot, so the dashboard can be rebuilt offline. A scan reports models the registry lacks, but nothing joins it without a person deciding so.
7 weeks ago
HTML
RUNNING
social-lookupgithub
Find and validate person's X handle or LinkedIn profile from their name and employer.
7 weeks ago
Python
RUNNING
agent-mvgithub
Rename a project directory and take every AI coding agent's history with it. Claude Code and Codex each key their history to the project's path and each has its own rename tool I've built (claude-mv, codex-mv), but both move the directory themselves, so the second one fails. This command moves the directory once and hands each agent's tool the rest. It refuses to run while an agent is open in the project, or when an agent with history there has no tool installed.
8 weeks ago
Python
RUNNING
claude-mvgithub
Rename a project directory without losing its Claude Code history.
8 weeks ago
Shell
RUNNING
codex-mvgithub
Rename a project directory without losing its Codex history.
8 weeks ago
Python
RUNNING
x-followersgithub
Rebuild X's private follower API from the logged-in web app, and list an account's followers to the end. A Python toolkit drives a Chrome session, so a fetch inside the page inherits the login, with no API key. The followers endpoint demands a single-use anti-abuse token, so it calls X's own generator rather than reverse-engineering it.
2 months ago
Python
RUNNING
harmony-hub-setupgithub
Configure a factory-reset Logitech Harmony Hub far enough that the official mobile app can finish restoring your account. This Linux command-line tool connects to the hub over Bluetooth, joins it to your Wi-Fi network, and verifies it is reachable on the local network. It does the Wi-Fi join because that is the step the official app has become unreliable at. Signing in and restoring the devices and activities is left to the app.
2 months ago
Python
RUNNING
qrcode_contactgithub
Generate a QR code that carries a vCard, so a phone that scans it offers to save the contact. People love this at conferences! The QR code can be branded and include images / logos.
3 months ago
Python
RUNNING
voxgithub
Transcribe a recording, work out who said what, and have Claude summarise it, all from one command. WhisperX transcribes the audio or video file, pyannote splits it into speakers, and the Claude CLI writes the summary from a prompt you can replace. Speakers come back as numbered voices: you are shown three of each one's longest runs, with timestamps, and asked who each is. Transcript and summary are written as Markdown beside the input.
3 months ago
Python
RUNNING
namecheap-dnsgithub
Manage DNS records and registration contacts on Namecheap domains from the command line. Namecheap's API replaces every record on each write, so a record you forget is deleted; this reads the records first, applies your change, and writes them all back. Every write shows a diff, asks before applying, then reads back to verify. The same contract covers contacts across every domain in the account, and a domain whose registry wants extra fields is skipped rather than written wrongly.
3 months ago
Python
RUNNING
bose-soundtouchgithub
Control a Bose SoundTouch speaker from Python over your own network. Give the library the speaker's address and it sends HTTP requests to the REST API the speaker itself serves, covering playback, volume, presets, sources, bass and multi-room zones. Bose switched off cloud support for SoundTouch in May 2026 and published the API instead, so nothing this library does depends on Bose's servers.
5 months ago
Python
RUNNING
docsend-dlgithub
Save a public DocSend deck as a PDF from the command line. A headless Chromium opens the deck and asks DocSend's own per-slide endpoint for the original image behind each slide, and those are fetched in parallel and bound into one PDF. Nothing is screenshotted or re-encoded, so each page is the slide at the resolution DocSend holds it. Email-gated and passcode-protected decks are refused. It takes only what the link already shows to anyone.
5 months ago
Python
PAUSED
last-meadow-online-botgithub
Play Last Meadow Online, Discord's April 2026 incremental role-playing game, on your behalf. This Python bot screenshots the game, reads the arrow sequence on the crafting screen and the bullseye targets in battle with OpenCV, and presses the keys or clicks the targets. The images it matches against are cut from your own screen during calibration, so nothing depends on a fixed layout. It plays only the Ranger class with the Crafting skill, and leaves the other classes undone.
5 months ago
Python
RUNNING
toksgithub
Count the tokens a file or directory will consume before you send it to a model, from the command line. Point it at a folder and it prints a tree of counts per file and the share of the context window each takes, for Claude, OpenAI, Gemini or Grok. Every count comes from the provider's own API rather than a local tokeniser.
5 months ago
Python
RUNNING
wavesurfgithub
Play audio in a Jupyter notebook as an interactive waveform, from Python. The library wraps wavesurfer.js, so you pass a numpy array, a PyTorch tensor, a file path or a URL, and it embeds the audio in the HTML it renders.
5 months ago
Python
PAUSED
dir2llmgithub
Gather the contents of a directory into one text file that a large language model can take as context. It is a Bash script: point it at a folder and it collects the files inside into a single file, so a whole project can be pasted into one prompt. It writes the file and stops there; sending it to a model is left to you.
5 months ago
Shell
RUNNING
audioroo-pipelinegithub
Turn a PDF into one audio file read in a cloned voice, from the command line. By default the PDF, scanned or born-digital, is converted straight to markdown, and that text goes to a text-to-speech model with a voice sample and its transcript. An older path extracts page images, reads them with a vision-language model, cleans and reflows the text, then speaks it, each stage its own subcommand. It needs an NVIDIA GPU and, so far, handles English-language books only.
6 months ago
Jupyter Notebook
PAUSED
darkmode-chromegithub
Turn any website dark with a Chrome extension that inverts the page with a CSS filter rather than restyling it. Click the toolbar icon to switch the current site, and the choice is saved per domain and reapplied on every reload and navigation. Images, videos and iframes are inverted a second time, so they keep their original colours while the page around them goes dark.
6 months ago
JavaScript
PAUSED
litra-drivergithub
Control a Logitech Litra Glow or Litra Beam light from Linux. It is a Python package installed from PyPI, and it ships as both a command-line tool and a graphical UI. The CLI is there so a shell script or a keyboard shortcut can operate the light. The UI does the same by hand, for when you would rather look at the light and adjust it than type.
6 months ago
Python
PAUSED
kindle2markdowngithub
Turn a Kindle book into a markdown file by reading it off the screen. A Jupyter notebook drives the Kindle web reader with Playwright, screenshots every page, crops away the browser, and hands each image to Qwen3-VL, a vision-language model running on your GPU, to transcribe as markdown. Nothing leaves your machine and there are no API calls. It needs an NVIDIA card with sixteen gigabytes of memory, and a dense page takes a minute or two.
6 months ago
Python
PAUSED
stellar-cssgithub
Extract the Stellar CSS styles from the Datastar website into a repository of their own. The styles are taken from the site as it is published and kept in HTML files, so you can read and reuse them apart from the site. It is an unofficial extraction, not maintained or endorsed by the Datastar project.
7 months ago
HTML
PAUSED
lyrebirdgithub
Turn a markdown document into an audiobook read in a cloned voice, from the command line.
7 months ago
Python
PAUSED
callsign-findergithub
Find a short amateur radio call sign that nobody holds. A web app loads the FCC's licence database into SQLite, shows the licence history of any call sign, and lists the free ones.
8 months ago
Python
RUNNING
soundtouch-app
Control Bose SoundTouch speakers from a local web app after Bose switches off the cloud services the official mobile app depends on. It finds every speaker on the network by mDNS, talks to each one directly, and pushes state changes to the browser as they happen, so the page stays current without reloading. Playback, volume, the six presets, source selection and grouping into multi-room sets are all there.
8 months ago
Python
PAUSED
kindle2markdown-webapi
Turn a Kindle book into Markdown from the command line. Kindle draws its text as font outlines with no mapping back to characters, so copying and OCR both fail. This fetches each page from Amazon's web reader with your browser's login, renders it to a PNG, and has Google Gemini read the image and write the Markdown.
9 months ago
Python
PAUSED
net-trace-claudegithub
Record the network endpoints that a single process connects to, without the traffic from the rest of the machine. This Python tool for Linux runs the process in a network namespace of its own and logs that namespace's packets through NFLOG, the kernel's netfilter logging target. The namespace does the scoping, so every packet it logs belongs to the traced process.
14 months ago
Python
PAUSED
kindle_translatorgithub
Translate a Kindle book you own into a PDF that keeps its page layout. This command-line tool signs into Amazon with the cookies Chrome holds, fetches each page from the Kindle Cloud Reader as an image, and has Google Gemini read the text from the image and translate it.
15 months ago
Python
ARCHIVED
winwhispergithub
Dictate into any Windows program from an app that sits in the system tray. Press one hotkey to start recording and again to stop, and OpenAI's Whisper model transcribes the speech on your own machine, using the GPU where there is one. The text is pasted wherever the cursor is, so no program has to support it. It borrows the clipboard to do this, and puts back whatever was there before.
15 months ago
Python
RUNNING
audioroogithub
Turn any Markdown document into an audiobook.
16 months ago
Python
ARCHIVED
snipd_processorgithub
Clean up the Markdown that the Snipd podcast app exports when you save moments from an episode, which it calls "snips".
18 months ago
Python
PAUSED
winpath2wslgithub
Convert a Windows path into its WSL equivalent, and change to that directory from the Linux shell. It is a shell toolkit that runs inside WSL, the Linux subsystem built into Windows. Windows paths use drive letters and backslashes, which a Linux shell cannot follow. This rewrites them into the form WSL gives those same drives, so a path copied from Windows works on the Linux side.
21 months ago
Shell
RUNNING
4-6_Pour_Over_Coffeegithub
Calculate a recipe for 4:6 pour-over coffee, the method Tetsu Kasuya used to win the 2016 World Brewers Cup. The method divides the brewing water into two parts, the first 40 per cent and the remaining 60 per cent. The first part sets how sweet or bright the cup tastes, and the second sets how strong it is. The calculator does the arithmetic, so you can adjust either part without working out the pours by hand.
22 months ago
PAUSED
asciinema-editorgithub
Recalibrate the timestamps in an asciinema terminal recording you can reflow videos after editing. Run it from the command line with the original .cast file and a path for the new one, and it writes a copy with the timing adjusted. It works on a recording you have already cut, so a deleted stretch leaves no gap in the timeline. It edits timing only, so the text on screen is unchanged.
23 months ago
Python
PAUSED
the-trading-gamegithub
Simulate the recruitment game from Gary Stevenson's The Trading Game with two to five AI players trading against each other at the command line. Each player holds one hidden numbered card, three more sit face down in the center, and every price is a bet on their total. Asked for a price, a player must quote a two-way market two points wide and honor whichever side is taken.
24 months ago
Python
ARCHIVED
gpt-engineergithub
One of the first AI coding agents. Contributor, maintainer and board member. The open-source project that became the startup Lovable.
16 months ago
Python
ARCHIVED
llm_benchmarksgithub
Explore the ways the performance of large language models is benchmarked.
28 months ago
Jupyter Notebook
ARCHIVED
init.shgithub
Initialise a Python project with one bash script rather than repeating the same first steps by hand. Run it where the new project should live and it carries out the setup that every fresh Python project needs. It is a single shell file, not a framework or a generator with templates to maintain.
31 months ago
Shell
ARCHIVED
ascii_artgithub
Turn an image into ASCII art with a pair of Python scripts.
33 months ago
Python
ARCHIVED
Loggergithub
Write log lines to the console, to a file, or to both from one Python class. Each call names its destination, so a message can go to the terminal alone, to disk alone, or to the two at once, and every entry carries a timestamp.
34 months ago
Python
PAUSED
mlsgrid_apigithub
Talk to the MLSGrid replication API from Python. MLSGrid is the service through which Multiple Listing Services, the databases of properties for sale, make copies of their data available to outside software.
43 months ago
Python
ARCHIVED
pingloggithub
Log whether your Internet connection is up, and find out afterwards how often it went down.
43 months ago
Python
ARCHIVED
audible_matchmakergithub
Scrape a website from Excel and from Python, side by side, and keep the code and data behind the gallon.me post that walks through both. The repository holds the code the post ran and the data it collected, so you can repeat the exercise rather than take the article's word for it. It exists to accompany that post and is not a maintained tool.
64 months ago
HTML
ARCHIVED
rngithub
Rename files in batches instead of one at a time.
194 months ago
Python
ARCHIVED
YOLOsandboxgithub
Run Claude Code and Gemini in YOLO mode, with every permission prompt switched off, inside a Docker container rather than on the host. One script adds a VS Code dev container to a project folder, and the agents inside can see that folder and nothing else on the machine. The container's own Docker and dev-container files are mounted read-only, so an agent cannot rewrite the rules that confine it.
10 months ago
ARCHIVED
docgen_forge
Strip the docstrings and comments out of a directory of Python files and keep what was removed alongside the stripped code, as training data for models that write documentation from code.
—
Python
ARCHIVED
pixelart
Turn a high-resolution photo into pixelart.
—
Python