I maintain multiple legacy React apps - CRA, React 18, client-side routing, content from a CMS / Wordpress REST API. But SEO and OG tags need real HTML, and a client-side app hands them an empty page. `react-snap` solved that for years. It has been unmaintained since 2019 and breaks a little more…
Since it's so easy to spin up your own website or app now, especially with AI doing most of the build work, the hard part of my side projects isn't making them anymore. It's getting anyone to know they exist. So I built a plugin for Claude Code called marketing-skill that handles the marketing…
Somebody just released a fully open-source, open-weights decision model that beats Jev! Just kidding, it's me and I this is my first time releasing a public model, recipe and dataset so I am looking forward to learning from the experience. Jev is indeed a very powerful and inexpensive model and…
I am sharing corswhy, a small Node command that checks one CORS preflight response. I kept running into the gap between an API call that worked in curl and a browser request that stopped at OPTIONS. The command takes the API URL, browser origin, method, and names from…
I built Paper Margins because I wanted to read a paper and keep the source page beside each explanation. I can open a local PDF or an arXiv ID, select a passage, and ask a local model to explain or translate it. The answer panel shows the page text sent to the model, with a button to return to that…
I built git-sha-ready after noticing how easy it is to write a Git integration around a 40 character object ID. A SHA-256 repository produces 64 character IDs, so a validator or fixed slice can reject a valid commit or silently shorten it. The tool scans Git tracked text files and prints the exact…
https://github.com/ivorpad/pyokka I built Pyokka with Claude Code. It's a VS Code extension that records a Python run so you can step back through it, with each line's value next to the code. **How Claude Code helped build it:** I decided what to build and reviewed the results. Claude Code wrote…