Wafy – Whatsappify

Tried finding an app which does this. I had a use case of copying a phone number from my dialer and creating a wa.me URL to send a message in WhatsApp.
The other way was to send this number in a WhatsApp chat and then click on it to open the message window.
Both options were annoying in different ways – one was slow and the other cluttered the chat unnecessarily.

So, I thought of vibe-coding this simple, single-page utility app to make the process seamless.


🚀 Inspiration

Frustration with the current manual steps to start a WhatsApp chat with an unknown number.
I wanted a frictionless way to paste a number from my call log or clipboard and instantly message it on WhatsApp, without saving it to contacts or sending a dummy message.


💡 What it does

  • Lets you paste or type any phone number
  • Automatically formats and validates the number using the correct ISD code
  • Generates a direct https://wa.me/ WhatsApp link
  • Lets you:
    • Copy the link
    • Click to open in a new tab
    • Or directly jump into a WhatsApp chat via the Go button
  • Supports custom default ISD code selection via a settings panel
  • Light/Dark mode toggle
  • Mobile-first responsive design

🛠️ How we built it

  • Frontend: React with functional components and hooks
  • Styling: TailwindCSS (with dark mode support)
  • Phone Number Validation: libphonenumber-js
  • Country ISD Data: country-telephone-data
  • State Persistence: localStorage for theme and ISD preferences
  • Deployment: Bolt + Netlify

🧱 Challenges we ran into

  • Handling various phone number formats (with/without +, spaces, brackets, etc.)
  • Ensuring accurate ISD code mapping and validation across countries
  • Making it mobile-friendly while keeping the interface minimal
  • Persisting theme and settings reliably across sessions

🏆 Accomplishments that we're proud of

  • Fully working utility with clean UX in a matter of minutes with one single prompt.
  • Validated phone numbers with high accuracy
  • Seamless one-click WhatsApp chat experience
  • Zero external clutter – just the functionality you need

📚 What we learned

  • How to use libphonenumber-js for real-world phone number handling
  • Working with localStorage and dropdowns dynamically
  • Designing a smooth light/dark mode toggle experience with Tailwind
  • How small tools can create huge quality-of-life improvements

🔮 What's next for Wafy

  • Add QR code generation for the wa.me link (helpful on desktop)
  • Support number detection from clipboard automatically on load
  • Provide browser extension for quicker access
  • Add internationalization (i18n) for ISD selection UX
  • PWA support to add to home screen like a native app

Built With

Share this project:

Updates