AJA Messenger

AJA is an open-source messaging app for communication with anybody, anywhere. It provides spam filtering, search of all messages (including PDFs and images), and high quality voice and video calling.

Spam filtering and search filtering is achieved through a Naive Bayes linear classifier implementation trained on ham/spam models for text processing with smoothing for zero probability prevention. Using Naive on an SMS database, we are able to tokenize expressions, defining certain characteristics of the ML model. Decision rules are determined by maximum likelihood of posterior possibilities (Bayes' theorem).

This app is a fork of Mesibo Messenger for Android, created by Andrew Dinh, Abhik Ahuja, and Jake Johnson at Cal Hacks 2019.


  • Group chats
  • Rich messages (picture, video, audio, & other files)
  • Location sharing
  • Works with SMS as well as any app using the Mesibo backend, including Mesibo Messenger for iOS
  • Message status and typing indicators
  • Advanced search capabilities
  • Spam filtering


Clone the Repository

If you have git installed, this is a recommended approach as you can quickly sync and stay up to date with the latest version. To do so, run the following commands:

mkdir AJA && cd AJA
git clone https://github.com/origamiman72/messenger-app-android-sms-filter.git

Build and Run

Building the code is as simple as:

  1. Launch Android Studio
  2. Open the project from the folder where you have downloaded the code using menu File -> Open
  3. Build using menu Build -> Rebuild Project
  4. Once the build is over, run on the device using menu `Run -> Run (app)

Login using your phone number, and you’re ready to go.

SDKs and Backend

AJA uses many Mesibo projects:

  • Mesibo SDK
  • Mesibo Messaging UI Module
  • Mesibo Call UI Module
  • Mesibo backend

AJA also uses the following third party libraries/services:

Documentation & Tutorials

Share this project: