Personal AI Projects
Tools I built for myself outside of work — mostly Python, mostly automating something I got tired of doing by hand. A few started as paid services I decided to replace. Everything here runs on my own machine.
AI Applications
VetClaims AI
Local desktop app that turns your VA records into an interactive claims expert
Built for veterans navigating the VA claims process. It ingests your personal records — PDFs, Word docs, scanned letters, photos — runs OCR on anything that isn’t already text, and embeds the whole thing into a local vector database. From there you can ask it questions about your own file and it answers using your actual records plus live precedent pulled from the VA’s public Board of Veterans Appeals decision search.
- Finds secondary and presumptive conditions you may be eligible for but never filed
- Generates the paperwork and talking points for a VSO meeting
- Runs entirely on your machine — records never leave your PC
- One double-click setup that installs the virtual environment, dependencies, and OCR toolchain
SirTracksALot
AI brand mention tracker — rank tracking for LLM answers
Traditional SEO tools tell you where you rank on Google. This tells you whether the AI models are recommending you at all. Give it a domain and it generates the questions a real person would ask in that niche, sends them to both Claude and GPT, then parses every brand named in the responses.
- Counts how often you get mentioned versus your competitors
- Surfaces which competitors the models favor and in what context
- Exports results to CSV so you can track movement over time
Public Fraud Watch
Cross-references government funding against political donations to flag fraud patterns
A data collection and analysis pipeline built around a simple question: which facilities are taking large amounts of public money and sending unusual amounts of it back out as political donations? It scrapes state licensing databases for daycare and home healthcare facilities, pulls federal campaign finance records for all 50 states, and joins them against Medicare and grant funding data.
- Scrapers for state licensing lookups and FEC donation records, split and stored per state
- Cluster analysis that groups facilities by shared addresses, officers, and donation patterns
- A “smoking gun” pass that ranks entities by donations-to-funding ratio
- Geospatial shapefile conversion and MySQL prep so findings publish straight to a website
Business Dashboards
One local dashboard for every metric across two businesses
I was logging into eight different services to answer basic questions about how my sites were doing. This pulls all of it into a single local dashboard: site traffic, ad revenue, book sales, and follower counts across every social platform per brand. It keeps a rolling history in SQLite so I can see trends instead of just today’s number.
Google URL Grader
Batch-scores pages against Google’s Search Quality Evaluator Guidelines
Pulls a URL list straight from a sitemap, then has Claude evaluate each page against Google’s January 2025 Search Quality Evaluator Guidelines. Scores across seven categories — E-E-A-T, content depth, intent match, and the rest — and writes everything to CSV so I can sort by weakest page and fix the worst offenders first.
Broken Backlink Finder
Automates a link-building service agencies charge four figures for
Broken link building works like this: find a dead link on someone else’s site, find a page of yours that would fill the gap, and email them about it. Agencies do this by hand and bill accordingly. This automates the entire chain end to end.
- Discovers niche sites and crawls them for dead outbound links
- Pulls the dead page from the Wayback Machine to see what it originally covered
- Qualifies each opportunity and matches it to the best page on my own site
- Finds the site owner’s contact, personalizes the pitch, and sends it
- Tracks every prospect in a database so nobody gets emailed twice
Idaho Scratch Analyzer
Ranks lottery scratch games by how far the odds have actually moved
The state publishes how many top prizes are left in each scratch game, but not what that means. This scrapes the live prize data and calculates how far each game’s real top-prize odds have shifted from its advertised odds, weighted against how much of the print run has already sold. Games where most tickets are gone but the big prizes aren’t rank at the top. It snapshots every run, so the history compounds.
Content & Video Pipelines
URL to Video Maker
Article URL in, published YouTube video out
Fully automated pipeline with no manual step in the middle. Point it at an article URL and it scrapes the content, has Claude summarize it and write a teaser script, generates cinematic video through Replicate, lays professional TTS narration over the top, and uploads the finished video to the right YouTube channel with title, description, and tags already filled in.
- Multi-channel support with per-channel OAuth credentials
- Randomized 5–10 minute delays between uploads to stay within platform limits
- Tracks API spend per run so the cost never surprises me
Image to Video Maker
Still image in, animated video on YouTube out
Drop images into a folder and run three batch files. Claude analyzes each image and writes a motion prompt describing how it should animate, Replicate’s video model generates the clip, and the last step uploads everything to YouTube with generated thumbnails and metadata. Built originally for fantasy artwork, later adapted for book promo videos.
Audiobook Maker
Turns manuscript chapters into a finished audiobook
Reads chapter files out of a folder and renders each one to MP3 using free neural voices, then stitches the whole thing into a single full-book file with clean pauses between chapters. The useful part is that it’s incremental: re-running only re-renders chapters whose text actually changed, so I can keep editing without waiting on a full re-render every time. Ships with voice samples so you can audition narrators before committing.
Bible Verse Video Maker
Batch-generates narrated scripture videos
Burns a scripture caption and neural-voice narration onto background footage. The part that took the work: matching video length to voice length. Short verses keep the original clip and let the narration finish early; long verses loop the clip seamlessly to cover the full reading, with no slow-motion and no awkward freeze at the end. Voice, speaking rate, and whether the reference gets read aloud are all switches, and it runs as a batch so an entire book processes in one pass.
Video Content Analyzer & Renamer
Fixes a folder of meaningless video filenames
Downloaded videos all arrive named things like 7284919283.mp4. This samples frames from each video and runs them through AI vision, transcribes the audio track, combines both signals into a description of what the video actually contains, and renames the file to something searchable. Batch processing with a dry-run mode so you can review the proposed names before anything gets touched.
URL to Pinterest Image Maker
Generates branded Pinterest graphics from titles or article URLs
Feed it a list of titles, or point it at article URLs and let it pull the titles itself. Each one goes through a prompt generator into Ideogram and comes back as a finished Pinterest-format image, saved with the title as the filename so it’s ready to schedule without renaming anything.
YouTube Title Scraper & Categorizer
Pulls an entire channel’s catalog and sorts it by genre
Two scripts. The first uses yt-dlp to scrape every video title off a channel — metadata only, no downloads, no API key, no quota limits. The second feeds that CSV to Claude or GPT and categorizes each title by genre, which turns an unsorted 2,000-video channel into something you can actually analyze.
Titles to YouTube Info
Bulk-generates optimized YouTube metadata
Paste in a list of raw video titles and it returns an optimized title, a full description, and a hashtag set for each one. Handles numbered series properly so episode prefixes survive the rewrite.
YouTube Description Updater
Find-and-replace across every video description on every channel
I moved off Linktree and needed the old URL gone from hundreds of video descriptions across multiple channels. Doing it by hand was a non-starter. This authenticates to each channel, walks the full video list, and does a pattern-based find-and-replace on every description in one pass.
Social & Publishing Automation
SocialPilot CSV Generators
Three bulk-scheduling generators covering socials, Pinterest, and book promos
SocialPilot will bulk-import a scheduling CSV, but it won’t host your images — every post needs a public image URL. So these tools handle the whole chain: stage the images, push them to Cloudflare R2, write the resulting public URLs into the CSV, and generate a full posting calendar.
- Socials generator — 7 platforms per brand, 3 posts a day, staggered by a minute each so nothing looks automated
- Main Pinterest generator — routes images to the correct board across 5 different site brands
- Book generator — one post per book with cover art, a one-line summary, and the Amazon link, routed to the right brand’s accounts
Auto Post to Socials
Posts to 7 platforms with zero API keys
Some platforms make their posting API painful to get approved for, so this skips the APIs entirely and drives real browser sessions instead. Drop images into a per-brand folder and it posts them to Pinterest, Facebook, Instagram, X, LinkedIn, Tumblr, and Reddit on a schedule. Runs headless in the background, retries failures up to three times, and logs every attempt.
Link-in-Bio Page
Self-hosted replacement for a paid Linktree subscription
I was paying a monthly fee for Linktree to host a list of links. This is the replacement, running on my own domain: profile header, grouped link sections, brand cards with per-site social grids, affiliate blocks, and QR codes. No subscription, no third party owning my traffic, and I can change anything without waiting on someone else’s feature roadmap. The page you came from is it.
Cloudflare R2 Uploader
Batch image uploader that hands back public URLs
The piece that makes several of the other tools work. Pushes folders of images to Cloudflare R2 over the S3 API and returns the public URL for each one, which is what any bulk scheduler needs before it can post an image.
SEO & WordPress Tools
Site SEO Toolkits
Homegrown maintenance suite for large WordPress content sites
Running sites with thousands of articles surfaces problems no plugin catches. This is the collection of scripts I built to catch them: duplicate post detection across a full sitemap, title-versus-slug mismatch reports, table-of-contents field repair, orphan and Amazon-link auditing, and an automated book builder that assembles publishable manuscripts from existing post content.
Internal Links Plugin
WordPress mu-plugin for automated internal linking
Client-side mu-plugin that applies internal link rules across a site automatically, so new articles get wired into the existing content structure without manually editing older posts.
WordPress Title Rename
Safely re-capitalizes every post title site-wide
Bulk title case correction across an entire WordPress database. Written as chunked SQL so it won’t time out or lock up on a large site, and it covers every table where titles live — posts, revisions, and metadata — so nothing reverts later.
Coin Value Checker
WordPress plugin with its own scraper and coin value database
A lookup tool for the metal detecting club site. Includes the scraper that builds the value database, a converter for normalizing the source data, and the front-end plugin visitors actually use to look up what a find is worth.
404 Finder
Splits a URL list into working and dead
Point it at a text file of URLs and it checks each one, writing the live ones to one file and the 404s to another. Simple by design — it’s the first step before any redirect cleanup or link audit.
Utilities & Data Tools
Trip Planning Scraper
Builds a mappable travel database for all 50 states
Groundwork for a cross-country road trip project. It works through curated “things to see” article links for every state, extracts the actual place names out of listicle formats that vary wildly from site to site, deduplicates across overlapping sources, and geocodes each location to lat/long so the whole set imports straight into Google Maps. Deliberately slow — randomized 60–120 second delays between requests so it stays polite and never gets flagged, even if a full run takes days.
iPhone Message Backup Extractor
Exports your text messages to PDF from a local backup, free
Every tool that does this charges for it. This reads the local backup your computer already made, lists every conversation, and exports any thread you pick to a formatted PDF with timestamps, sent/received direction, and attachment markers. Fully offline — nothing gets uploaded anywhere.
Business Expense & Tax Compiler
Turns a year of scattered payment records into filing-ready output
Consolidates every business expense across a dozen vendors — hosting, domains, AI services, scheduling tools, scraping APIs — into one categorized ledger. Outputs a formatted Excel workbook with per-vendor subtotals and a separate CSV mapped to TurboTax’s import format, so filing is an upload instead of an evening of data entry. Structured per tax year so the records stack up over time.
Album Art Downloader
Pulls 30 years of chart-topping album covers automatically
Scrapes Billboard’s year-end Hot 100 charts from 1970 through 1999, resolves each song to its album through the MusicBrainz database, then pulls high-resolution cover art from Cover Art Archive with an iTunes fallback. Saves progress as it goes so an interrupted run resumes instead of restarting, with a dry-run mode and randomized delays between requests.
Book Cover Stamper
Batch-stamps and converts book cover art
Drops branding onto a folder of cover images and converts between formats in the same pass, so covers come out sized and labeled correctly for whichever store or ad platform they’re headed to.
Image to PDF
Batch image-to-PDF converter
Converts JPG, PNG, BMP, GIF, TIFF, and WebP files into PDFs, either one at a time or a whole folder combined into a single document.
Retro Game Library Sorter
Cleans up a decade’s worth of accumulated ROM collections
Processes game libraries across a dozen console systems — Atari 2600 through Amiga, C64, ColecoVision, 3DO — identifying duplicate and alternate-region versions of the same title, stripping junk entries, and generating a cleanup report per system so nothing gets deleted without review.