The Smallest Useful Thing I Have Shipped
DirectWhats is one input and one link. It exists because WhatsApp decided you should not be allowed to do this.
DirectWhats does one thing. You type a phone number, it opens a WhatsApp chat with that number, and you never save the contact.
That is the entire product. One input, one button.
Why it needs to exist at all
WhatsApp will not let you message a number that is not in your address book. To send one message to a plumber you are never speaking to again, you first have to create a permanent contact, message them, and then remember to delete it. Nobody remembers to delete it. My phone is a graveyard of one-message strangers.
The workaround has always existed. wa.me/<number> opens a chat with anyone. It is documented, it is official, and almost nobody knows about it.
So the product is not the link. The product is knowing the link exists and not having to assemble it by hand every time.
The only hard part is the country code
wa.me wants a full international number with no plus sign, no spaces, and no dashes. Give it anything else and you land on an error page that does not tell you what went wrong. It just says the number is invalid, which is unhelpful when the number is fine and the formatting is not.
So the actual engineering here is a list of every country calling code, a check that what you typed begins with one, and a nudge that appears while you are still typing.
That is the whole difference between a link and a tool. The bare link fails silently on somebody else’s domain. The tool tells you what is wrong while you can still fix it.
What I took from it
A product can be a shortcut to something that already works. You do not have to invent the capability. Removing the steps between a person and a capability they already have is a real contribution.
Validate before the handoff, not after. The moment you send someone to a domain you do not control, you lose your ability to explain the failure. Everything you want to catch has to be caught before that redirect fires.
Small does not mean unserious. This is a single static page with no backend and no accounts. People use it every day. Shipped and tiny beats planned and large, every time.