Useless Tools is a deliberately impractical web app collection.
The first tool is a URL Lengthener that turns normal links into absurdly long links.
This repository is deployed directly with GitHub Pages at:
https://uselesstools.jonfinger.com
The main site (jonfinger.com) should link to this app instead of mirroring/copying app files.
Included in v1:
- Retro selector interface with 3 tool lanes
- 1 working tool: URL Lengthener
- 2 placeholders: Useless Facts, Obtuse Helper
- Redirect flow through
/r/?v=1&p=<payload>&n=<noise> - Static deployment via GitHub Pages
Not included in v1:
- Backend services
- Persistent storage
- Analytics or auth
- Vanilla HTML
- Vanilla CSS
- Vanilla JavaScript
No bundler, framework, or runtime dependency is required.
web/index.html: main app UIweb/styles.css: app styling and retro theme treatmentweb/theme-tokens.css: shared visual tokens for app stylingweb/app.js: selector interaction, URL generator, validation, copy/open actionsweb/r/index.html: redirect endpoint logic and error messagingweb/CNAME: custom domain for GitHub Pages.github/workflows/deploy-pages.yml: deploysweb/to GitHub Pages on push tomainAGENTS.md: working agreement for contributors and coding agents
From this repo root:
cd /Users/jaef/things/useless-tools/web
python3 -m http.server 8787Then open:
http://localhost:8787/- Redirect test path:
http://localhost:8787/r/
- In GitHub repo settings, set Pages source to GitHub Actions.
- Ensure DNS for
uselesstools.jonfinger.compoints to GitHub Pages. - Push to
main; workflow deploysweb/automatically.
The workflow file is:
.github/workflows/deploy-pages.yml
The domain file is:
web/CNAME(uselesstools.jonfinger.com)
Add a CNAME DNS record:
- Name:
uselesstools - Value:
jonfinger.github.io
After DNS propagates, GitHub Pages will attach the custom domain from web/CNAME.
Potential next steps:
- Add second and third real tools behind selector rows
- Add optional backend mode (Python FastAPI or Go) for server-driven tools
- Add telemetry and basic health checks
- Add end-to-end browser tests