https://github.com/dreamerview/zappi
Paste or type a number → Zappi cleans it and opens WhatsApp via a universal link. No server, no DB, works entirely in the browser.
https://github.com/dreamerview/zappi
bootstrap client-only clipboard deep-link e164 frontend nextjs no-backend phone-number pwa react webapp whatsapp zappi
Last synced: 2 months ago
JSON representation
Paste or type a number → Zappi cleans it and opens WhatsApp via a universal link. No server, no DB, works entirely in the browser.
- Host: GitHub
- URL: https://github.com/dreamerview/zappi
- Owner: DreamerView
- License: mit
- Created: 2025-08-29T21:56:39.000Z (10 months ago)
- Default Branch: main
- Last Pushed: 2025-08-30T18:20:59.000Z (9 months ago)
- Last Synced: 2025-08-30T20:27:49.337Z (9 months ago)
- Topics: bootstrap, client-only, clipboard, deep-link, e164, frontend, nextjs, no-backend, phone-number, pwa, react, webapp, whatsapp, zappi
- Language: JavaScript
- Homepage: https://zappi.vercel.app
- Size: 307 KB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Zappi ✨
*A bridge from phone number to chat.*
Paste a number → hit the button → the dialog opens. No **“save contact”** hassle. ⚡
---
## What it is 🧩
Frontend-only web app. No server, no database. Everything runs in the browser.
---
## How it works ▶️
1. Paste or type a number (parentheses, spaces, dashes allowed).
2. We clean & normalize it (incl. **8→7** for RU/KZ).
3. Tap **Open WhatsApp** — universal link opens the chat on mobile or desktop.
---
## Interface 🖥️
- **Number field** + **Paste** (input group)
- **Open WhatsApp** (primary CTA)
- **Additional** (collapse) → multiline message
- **History** (collapse) → recent numbers: insert / delete / clear
- Inline error messages under the field
---
## UI copy ✍️
- **Title:** *Zappi — instant to WhatsApp*
- **Subtitle:** *Paste a number — we’ll open the chat without saving a contact.*
- **Placeholder:** *Enter a number: e.g., +7 707 123-45-67*
- **Buttons:** *Paste*, *Open WhatsApp*, *Additional*, *History*, *Clear all*
- **Error:** *This doesn’t look like an international number. Check length and country code.*
---
## What it does now ✅
- Parses from clipboard & strips extra characters
- Normalizes local formats (incl. RU/KZ)
- Validates length against international standard
- Adds an optional pre-filled message to the chat
- Stores recent numbers **locally** (on the user’s device)
---
## Screenshot 🖼️

---
## Limitations ⚠️
- No cloud sync: history/settings don’t travel across devices
- Deep links vary by platform — universal links favored for stability
- Very long messages can hit URL length limits in some browsers
---
## Next (frontend-only roadmap) 🚀
- [ ] **PWA**: install to home screen, offline static assets
- [ ] **QR**: generate PNG/SVG, “Download”
- [ ] **Channels**: Telegram / Viber / SMS / Email (switcher)
- [ ] **Batch**: paste a list → open dialogs sequentially
- [ ] **Pages**: mini “link-in-bio” via URL parameters
- [ ] **Widget**: “Message us” embed for any website
- [ ] **i18n**: RU/EN toggle & local storage
---
## Branding 🎨
- **Wordmark:** “Zappi” in black
- **Mark:** lightning bolt (accent/gradient per brand guide)
- **Assets:** transparent backgrounds for logos/icons
- **Favicon:** single source at `/favicon.ico` (avoid conflicts)
---
## License 📄
**MIT** — see `LICENSE`.