ai-job-tracker

An AI-powered job search tool, live in production on Azure Static Web Apps. I built it to run my own job search, then open sourced it under AGPLv3. What it does Embeds resumes and job descriptions with text-embedding-3-small and scores fit via cosine similarity, surfacing fit scores and skill gap chips on a kanban board in real time Caches embeddings in Azure Table Storage so a resume is only sent to the model once Drafts cover letters and tailors resumes server-side with gpt-4o-mini via Azure Functions, keeping AI credentials out of the browser Bring-your-own-key Azure AI Foundry integration, so costs are capped to the user’s own key Pulls listings through Adzuna and USAJobs API connectors Stack TypeScript, React, Vite SPA Azure Static Web Apps with an Azure Functions backend EasyAuth SSO Azure Table Storage for embedding cache GitHub Actions CI/CD View on GitHub

July 1, 2026 · 1 min · Cory Francis

Weekend Warrior: Repair-SharePointNames v1.0 is live!

Quick weekend project: published and shipped to PowerShell Gallery using Claude Code! If you’ve ever migrated file shares to SharePoint Online, with the SharePoint Migration Tool (SPMT), you know the pain and feeling of your stomach dropping when you see hundreds of INVALID_SHAREPOINT_NAME warnings for your files after your initial scans. Repair-SharePointNames fixes them in bulk, driven by SPMT’s provided scan logs. It renames flagged items safely (collision handling, deepest-path-first ordering), quarantines lock/temp files rather than deleting them, and writes a proper transaction log of all changes. ...

July 5, 2026 · 1 min · Cory Francis

Why should I have to pay for an AI job hunting tool when I'm already short on cash?

My partner and I have been hard on the job hunt and have noticed some real gaps in the free tools available to job seekers, and one thing I keep seeing are these expensive “must have” job hunt tool subscriptions. So I took advice from one of my favorite characters, Bender from Futurama: “Yeah, well, I’m gonna go build my own theme park…” The permits are filed and scaffolding is up, construction on my own open source AI powered job hunting tool project is launched! I’m just starting out, but I’ve got a lot of velocity! I’ll be sure to keep LinkedIn up to date on my progress! ...

June 21, 2026 · 1 min · Cory Francis

AI Let Me Chase a Fake Bug for a Day

AI-assisted development is genuinely useful. It’s also very good at helping you waste a day on a wrong answer. While working on SP-MembershipManager, I kept running into inconsistent results when querying a user’s SharePoint site access. One run would return 19 sites. The next would return 8. Then 20. Then 12. No pattern, no obvious error — just noise. I asked Claude what was going on. It was confident: SharePoint replication lag. Data takes time to propagate across the service, results can be inconsistent during that window, etc. It sounded plausible. The whole point of this tool is to give non-technical users a reliable view of their permissions, so I really didn’t want it to be true, but it sounded true. ...

June 12, 2026 · 2 min · Cory Francis

I Built a Tool to Keep a Client Out of the SharePoint Admin Center

A client of mine needed help managing SharePoint site access. Nothing complicated — add a user here, remove one there, maybe a few times a year. The problem was they’re self-admittedly low-tech and had no business being handed admin center rights just to flip a few permissions. Teaching them the SharePoint admin center wasn’t a real solution. It’s overkill for what they needed, and frankly not worth the support calls. So I built something simpler. ...

June 10, 2026 · 2 min · Cory Francis