A unit converter. That's all it looks like.
A covert domestic violence resource and emergency contact tool disguised as a unit converter app. Built for people in crisis who can't safely search for help, store phone numbers, or reach out to their support network.
Type any variant of 911 (911, 991, 119, 191, 199, 919, 999, 111 — any decimal placement works) into the converter to access:
- One-tap hotline access — National DV Hotline, Childhelp, Crisis Text Line, all with tappable tel: and sms: links
- Hidden emergency contacts — Store up to 5 phone numbers that can't be in your regular contacts, each with a pre-written code word or distress message. One tap sends the text.
- Safety planning guidance — Plain language, low reading level, written for someone in crisis
- Children's section — "I'm a kid and I'm scared" with age-appropriate language and resources
- Legal, digital safety, and escape planning resources
- Instant panic exit — ESC key or tap EXIT snaps back to a functioning unit converter
- The cover is the safety mechanism. The converter fully works. Anyone glancing at the screen sees math.
- Zero cognitive load activation. Everyone knows 911. Dyslexic? Type it wrong. It still works.
- Crisis-readable. Every piece of text passes the test: can someone read this while shaking, crying, or with 30 seconds before someone walks in?
- PWA installable. Shows up on the home screen as "Convert" with a generic icon. Works offline after first load.
- Contact persistence. Saved contacts survive between visits via localStorage with an innocuous key name.
- Input sanitization. All fields length-capped. Phone numbers stripped to valid characters on save.
- No analytics. No cookies. No tracking. No third-party requests beyond the React CDN on first load.
index.html — The entire app (26KB, everything inlined)
manifest.json — PWA manifest (app name: "Unit Converter")
sw.js — Service worker for offline support
icon-192.png — Home screen icon (192x192)
icon-512.png — Splash screen icon (512x512)
This is a static site. Drop all 5 files on any static host:
GitHub Pages (free):
- Fork or clone this repo
- Go to Settings → Pages → Source: main branch
- Your site is live at
https://yourusername.github.io/reponame
Codeberg Pages (free, privacy-focused):
- Create repo named
pages - Push files
- Live at
https://yourusername.codeberg.page
Cloudflare Pages (free, fast global CDN):
- Create project → upload files
- Live at
https://yourproject.pages.dev
The activation code (911 variants) should never appear publicly alongside the URL. It propagates through:
- DV hotline operators telling callers
- Shelter intake workers sharing it on cards
- Mandated reporters (teachers, counselors) passing it privately
- Advocacy organizations (NNEDV Safety Net) including it in their materials
- Content review: If you work in DV advocacy, review the resource content for accuracy and completeness
- Accessibility: Test with screen readers, low vision, motor impairment scenarios
- Internationalization: The tool currently only supports English resources and US hotline numbers
- Icon design: The placeholder icons need replacement with a professional, boring converter icon
- Custom domain: If you can sponsor a forgettable domain name, that helps
Built by ExileKingdom / Nuclide.
If you or someone you know needs help: 1-800-799-7233 (24/7, free, confidential)