A client-side developer toolbox built with React + TypeScript. Runs entirely in the browser — no backend, no tracking.
Deployed to GitHub Pages on every push to master.
| Tool | Description |
|---|---|
| JSON Explorer | Format, inspect, and explore JSON with a collapsible tree |
| MD Converter | Markdown → PDF, HTML, or XML |
| README Wizard | Generate GitHub README files with badge picker and social links |
| Resume Builder | ATS-friendly CV builder with PDF export |
| Config Converter | Convert between YAML, TOML, JSON, and .env |
| RegEx Lab | Test regular expressions with live match highlighting and a saved collection |
| Diff Checker | Visual line-by-line text diff |
| SQL Formatter | Format and minify SQL queries |
| Diagram Editor | Live preview for Mermaid and PlantUML diagrams |
npm install
npm run devBuild for production:
npm run buildThe README Wizard's tech-stack badge picker is powered by src/tools/readme-wizard/techstack.json, which is scraped from badges.pages.dev.
The scraper is written in Lua 5.5 and compiled to LuaJIT via valua.
luajit— runtime for the compiled scrapervalua— Lua 5.5 → LuaJIT transpiler (build withcargo buildin the valua repo)curl— used by the scraper to fetch badge data
Run from the repo root before building:
./scripts/scrape.shThis compiles scripts/scrape-badges.lua (Lua 5.5 source) → scripts/scrape-badges-compiled.lua (LuaJIT) and runs it, overwriting techstack.json. The next npm run build bundles the updated catalog automatically.
scripts/
scrape-badges.lua # Lua 5.5 source — edit this
scrape-badges-compiled.lua # generated by scrape.sh, gitignored
scrape.sh # full pipeline: compile → run
Pushes to master trigger GitHub Actions → GitHub Pages deployment automatically.