KANA-MASK is a specialized identity obfuscation utility for gamers. It converts standard English usernames into visually similar "Pseudo-Japanese" text (Henohenomoheji style), creating unique, cryptic handles for gaming profiles.
🚀 Deployed at: https://kana.sanchez.ph
- Real-time Obfuscation: Instantly converts text as you type.
- Dual Complexity Modes:
Basic: Uses Katakana/Hiragana for a cleaner look.Elite: Uses complex Kanji and Radicals for a "Heavy Industry" aesthetic.
- PWA Support: Installable on mobile devices (iOS/Android) with offline capabilities.
- Smart Sharing:
- Tap Card: Instantly copies only the username (for game lobbies).
- Share Button: Uses the native mobile Share Sheet to send the app to friends.
- Dynamic Assets: Open Graph images and App Icons are generated on the fly via code.
- Mobile First: Responsive "Cyberpunk" UI designed for phones and tablets.
This tool does not translate phonetically. It translates based on visual silhouette.
| English | Character | Source | Visual Logic |
|---|---|---|---|
| A | 亼 | Kanji (Gather) | Sharp peaked roof |
| L | 乚 | Radical (Hidden) | Sharp 90-degree angle |
| R | マ | Katakana (Ma) | Top-heavy 'R' curve |
| V | レ | Katakana (Re) | Slanted checkmark shape |
| W | 山 | Kanji (Mountain) | Inverted 'W' / Trident |
| X | 乂 | Kanji (Shears) | Crossing blades |
- Framework: Next.js 14 (App Router)
- Styling: Tailwind CSS
- PWA:
next-pwa+ Web Manifest - Containerization: Docker (Multi-stage build)
- Registry: GitHub Container Registry (GHCR)
- Architecture: Multi-arch support (AMD64 & ARM64/Ampere)
This project is optimized for self-hosting on Portainer, specifically tested on Oracle Cloud Ampere (ARM64) instances.
Use this configuration in your Portainer Stack editor:
services:
app:
image: ghcr.io/tildemark/kanamask:latest
container_name: kana-mask
restart: unless-stopped
networks:
- net
# Assumes you have an external network named 'net' for Nginx Proxy Manager
networks:
net:
external: trueIf Portainer fails to pull the image with manifest unknown or access denied:
- Go to your GitHub Profile → Packages.
- Select kanamask.
- Settings → Change visibility → Public.
To run this project locally on your machine:
-
Clone the repo: git clone https://github.com/tildemark/kanamask.git cd kanamask
-
Install dependencies: npm install
-
Run the dev server: npm run dev
-
View: Open http://localhost:3000.
├── app/
│ ├── icon.tsx # Dynamic PWA Icon generator
│ ├── layout.tsx # Root layout + Metadata
│ ├── opengraph-image.tsx # Dynamic Social Preview
│ └── page.tsx # Main UI & Logic
├── public/
│ └── manifest.json # PWA Manifest
├── utils/
│ └── converter.ts # Character Mapping Logic
├── Dockerfile # Production Image Build
└── next.config.mjs # PWA & Docker ConfigContributions are welcome! If you find a Japanese character that looks more like an English letter than our current mapping, please open an Issue or Pull Request.
Distributed under the MIT License.