Inspiration
I am a founder in the devtools space who travels frequently between SF and Bengaluru. Naturally, I am a part of many developer groups, AI groups, startup groups, and other hobby groups on WhatsApp for both of these locations.
As someone who spends most of his day in "focus mode", I don't really get the time to check all my WhatsApp messages every day. But that leads to missed opportunities. Since I know what conversations I want to be a part of, I thought, "What if someone can curate the messages I should be looking at, so that I only catch up with those messages whenever I find the time, instead of going through all the unread messages across 100s of groups?".
So I built a tool that gets AI to do just that.
What it does
It is a self-deployed NodeJS server that reads all the messages through WhatsApp Web (on your device), sends it to Perplexity Sonar API, which evaluates the relevance of this message to the user based on all the information on the web, and sends you only the relevant messages to you in a dedicated chat/group.
Each notification is linked to the relevant message, so that you can navigate to it with a single click.
It also provides the reasoning behind its evaluation of relevance, so you can modify (or prompt) your "interests" in a way that better suits your needs. You can set your interests using a simple command on the dedicated chat using the command:
!set interests = whatever your interests are in a comma-separated form
How we built it
- I used the WhatsApp Web JS library to get access to the WhatsApp messages through a trusted and battle-tested framework.
- I used the Perplexity Sonar API for processing the relevance of the messages.
Challenges we ran into
Figuring out the right architecture and distribution was the biggest challenge, especially given WhatsApp's privacy policy and terms of use. Distributing this as code is not the most user-friendly approach, so I plan to convert this into an Electron app in the future, allowing users to simply download, install, and start using it.
Another technical challenge was enabling users to deploy the tool easily. The most practical solution was to have users run it on their own computers, with setup and update scripts ensuring the application restarts automatically whenever the computer restarts.
Accomplishments that we're proud of
I'm most proud of the user experience: all relevant messages are delivered to a single, configurable chat (for example, a group with just yourself), with direct links to the original messages. This makes it easy to interact, react, or respond to important conversations without sifting through noise.
What we learned
Initially, I used OpenAI's API for relevance detection. However, after switching to Perplexity Sonar, I realized how powerful access to search is for identifying relevance. The quality of filtering improved dramatically, even without extensive prompt engineering.
What's next for WhatsApp AI Filter
Next, I plan to add features like:
- Allowing users to control which groups are targeted for filtering
- Processing media files such as photos, videos, audio, and voice recordings
- Packaging the tool as an Electron app for a seamless, install-and-go experience
Built With
- bash
- neon.tech
- next.js
- node.js
- perplexity
- pm2
- puppeteer
- sonar-api
- typescript
- vercel
- wwebjs.dev
Log in or sign up for Devpost to join the conversation.