Wavelink

A self-hosted, voice-native AI agent that answers your WhatsApp number. It reads text and voice notes, looks at the images people send, and turns a new chat into a lead — on your own server, not somebody else's API.

Visit live site

Source on GitHub

The problem

Businesses lose leads inside WhatsApp. Messages arrive at midnight, in voice notes, in a mix of English, Arabic and Roman Urdu, and somebody has to read all of them before anything becomes a sale. The usual fix is a hosted chatbot, which means handing your customer conversations to a third party.

Architecture

A multi-tenant Node and TypeScript service, containerised with Docker Compose. Each tenant gets its own catalogue, knowledge base and conversation history behind one deployment, so a single VPS can serve several businesses without their data ever touching each other.

What I built

Voice-note transcription so a spoken question is answered like a typed one. Image OCR, so a photo of a registration slip or a listing becomes structured text. Trilingual handling across English, Arabic and Roman Urdu — including code-switching mid-sentence, which is how people actually type here. A built-in CRM that captures each conversation as a lead.

Infrastructure

Runs entirely on your own infrastructure. Docker Compose, Postgres for state, Apache in front for TLS. No conversation data leaves the server it runs on, which is the point of building it this way.

The outcome

The agent answers around the clock, including the hours nobody is logged in. Source-available on GitHub, with a live demo running on my own VPS.

Ready
to build
something?