Inspiration

Paste a suspicious SMS or WhatsApp message, or upload a screenshot and Tahadhari tells you if it’s safe, suspicious or a scam, shows the red flags and says what to do next, in English, Swahili or Sheng.

What it does

  • Reads a pasted message or a screenshot and returns a verdict with the exact red flags it found.
  • Gives next steps: do not send money or share a PIN, forward the message to 333 (Safaricom’s fraud reporting channel), contact the provider, and report to the police on 999 or 112.
  • Answers in English, Swahili or Sheng.
  • Community check: paybills, tills, phone numbers and links reported by other users are flagged, and a public page lists those with two or more reports.
  • Follow-up chat: users can ask questions such as “I already sent money, what now?” [Telegram bot: forward a message or screenshot to the bot and get the same verdict. Keep this only if it works.]

How we built it

Next.js app on Vercel with a Supabase Postgres database. Claude reads the text or image and returns a structured verdict in the chosen language. A rules layer in code covers hard signals the model should not guess: PIN requests, reversal and wrong-number pleas, fee-first loan or job offers, prize claims, and “Safaricom only calls from 0722 000 000”. Extracted paybills, tills, phones and links are matched against the community reports table. Links also go through Google Safe Browsing. The final verdict is raised when rules, reports or Safe Browsing disagree with a “safe” answer, and three or more reports escalate it to scam. If the AI call fails, the app still returns a rules, community and link check, clearly marked as limited. It is never presented as proof of safety. Rate limiting protects the endpoints.

Built With

  • anthropic
  • nextjs
  • supabase
Share this project:

Updates

Submission history