Extracta

Finds what you’d miss..
Submitted for Hack Day 2026 by MLH and Foss Club CEV.

Extracta Banner

💡 Inspiration

We've all been there: The class WhatsApp group is spamming 500 messages an hour. buried somewhere in those Good Morning stickers and random chatter is a critical assignment deadline or a registration link for a hackathon. Extracta was born from the frustration of missing out simply because important information got lost in the noise.

🚀 What it does

Extracta is an intelligent Android application that silently listens to your WhatsApp notifications and uses Advanced AI (Google Gemini) to separate the signal from the noise.

When a message comes in, Extracta:

  1. Analyzes the content in real-time.
  2. Detects if it's an Event, Assignment, Exam, Hackathon, or Deadline.
  3. Extracts key details: Title, Description, Venue, Date, Time, and Registration Links.
  4. Prioritizes based on urgency (Critical, High, Medium, Low).
  5. Organizes everything into a clean, clutter-free dashboard.

✨ Key Features

  • 🤖 AI-Powered Extraction: Uses Gemini 2.5 Flash Lite to understand context, slang, and informal text patterns often found in student groups.
  • 🏷️ Smart Categorization: Automatically tags messages as Assignment, Exam, Hackathon, Workshop, etc.
  • 🚨 Intelligent Priority: Flags deadlines as 'Critical' if they are within 24 hours.
  • 🔗 One-Tap Action: Detected registration links and meeting URLs are extracted for one-tap access.
  • ⏰ Reminder System: Set reminders for assignments and exams directly from the extracted event card.
  • 🧹 Swipe to Dismiss: Easily clean up your feed when tasks are done.
  • 🔒 Privacy Focused: Runs on your device's notification listener; we only process text when necessary.

📱 Screenshots

Analyzed Events Categories & Filtering Dark Mode Support
(Place screenshot here) (Place screenshot here) (Place screenshot here)

🛠️ Tech Stack

  • Language: Kotlin
  • UI Framework: Jetpack Compose (Material 3 Design)
  • AI Engine: Google Gemini API (2.5-flash-lite)
  • Architecture: MVVM (Model-View-ViewModel)
  • Local Database: Room Database (SQLite)
  • Background Services: Android NotificationListenerService
  • Async Processing: Kotlin Coroutines & Flow

⚙️ How to Run

  1. Clone the Repository bash git clone https://github.com/yourusername/Extracta.git
  2. Open in Android Studio
    • Ensure you have the latest version of Android Studio (Koala or later recommended).
  3. Configure API Key
    • Get a key from Google AI Studio.
    • Open GeminiAnalysisService.kt and add your key (or set it up in local.properties).
  4. Build & Run
    • Connect your Android device or use an emulator.
    • Run the app.
  5. Permissions
    • The app will ask for Notification Access. This is required to read WhatsApp messages.
    • Grant the permission in system settings when prompted.

🧠 The AI Model

We utilize the gemini-2.5-flash-lite model for its balance of speed and accuracy. The prompt engineering focuses on extracting structured JSON data from unstructured chat messages, handling various date formats and handling "Hinglish" or informal language often used in college groups.

🔮 Future Roadmap

  • [ ] Google Calendar Sync: Automatically add extracted events to your calendar.
  • [ ] Canvas/Classroom Integration: Cross-reference with LMS.
  • [ ] Group-Specific Rules: Ignore the "Family" group, prioritize "Class Rep".

👥 Team

  • Sourabh - Lead Developer & AI Integration
  • [Teammate Name] - UI/UX Designer
  • [Teammate Name] - Backend/Logic

Built with ❤️ for Hack Day 2026

Built With

Share this project:

Updates