This is a tiny browser-side hack that restyles AWS CloudWatch charts into an xkcd-ish hand-drawn vibe.
License: MIT (LICENSE).
It ships two ways:
- A Chrome extension (Manifest V3).
- A Tampermonkey userscript.
Both versions:
- target CloudWatch console pages,
- watch for chart re-renders,
- restyle matching SVG charts with sketchy double-stroke lines and handwritten-looking labels,
- add a page toggle in the top-right corner.
Chrome extension control modes:
xkcd off: disables styling.xkcd subtle: minimal wobble/distortion.xkcd medium: balanced default.xkcd chaos: maximum hand-drawn weirdness with monochrome override (white background + black lines/text).
Interaction:
- Click toggle to cycle forward (
off -> subtle -> medium -> chaos -> off). - Shift-click (or right-click) toggle to cycle backward.
cloudwatch-xkcd-extension/
manifest.json
src/
content.js
xkcd.css
tampermonkey/
cloudwatch-xkcd.user.js
- Open
chrome://extensions. - Turn on Developer mode.
- Click Load unpacked.
- Select this folder:
cloudwatch-xkcd-extension. - Open CloudWatch Metrics pages and the style should apply automatically.
- Install Tampermonkey.
- Create a new script.
- Replace contents with
tampermonkey/cloudwatch-xkcd.user.js. - Save.
- Open/refresh CloudWatch pages.
- Works best on CloudWatch charts rendered as SVG.
- Some widgets (or future AWS UI changes) may not match the chart detector and can be skipped.
- If AWS heavily reworks CloudWatch DOM structure, the selector heuristics in
src/content.jsmay need updates. - This intentionally prioritizes visual chaos over perfect fidelity.
- This is an unofficial fan project and is not affiliated with AWS or xkcd.
- Create/push to
github.com/<you>/cloudwatch-xkcd-extension. - Add repo description + topics (
chrome-extension,cloudwatch,xkcd,tampermonkey). - In GitHub settings, set:
- default branch protection,
- issues enabled,
- discussions optional.
- Confirm community docs are detected:
LICENSECONTRIBUTING.mdCODE_OF_CONDUCT.mdSECURITY.md
- Create a publisher account.
- Upload a production zip from this folder (contents only, not parent folder).
- Add listing metadata/screenshots.
- Submit for review.
- After approval, publish and increment
versioninmanifest.jsonfor updates.
- Keep the Tampermonkey source at
tampermonkey/cloudwatch-xkcd.user.js. - Publish via one (or both):
- GitHub raw URL for direct install.
- GreasyFork listing.
- Bump userscript
@versionwhenever behavior changes.
- Zip the extension root contents (
manifest.json,src/, etc), not the parent folder. - Share as an unpacked folder for internal users, or as a zip for manual loading.
No build step required.
If you want to tweak style behavior, edit:
src/xkcd.cssfor visual treatment,src/content.jsfor chart detection and SVG mutation logic.
See CONTRIBUTING.md.
See SECURITY.md.