DEV Community

Cover image for Building Jist: An AI-Powered Notification Summarizer with GitHub Copilot CLI
Rachit Khurana
Rachit Khurana Subscriber

Posted on

Building Jist: An AI-Powered Notification Summarizer with GitHub Copilot CLI

GitHub Copilot CLI Challenge Submission

This is a submission for the GitHub Copilot CLI Challenge


What I Built

Jist is an open-source Android application that intercepts notifications from apps like WhatsApp, Telegram, Gmail, Slack, and more batches them per contact/group/thread and uses LLM APIs to generate concise, intelligent summaries.

Key Features:

  • 🔔 Notification Capture — Listens to all app notifications via Android's NotificationListenerService
  • 🤖 Multi-Model LLM Support — OpenAI, Gemini, Claude, OpenRouter, and any OpenAI-compatible API
  • ⚙️ Model Selection — Configure your preferred LLM provider and model
  • 📋 Auto Mode — Background summarization of notifications
  • 🔑 Bring Your Own Key — Users provide their own API keys, no backend needed
  • 🔒 Privacy First — All processing on-device, only notification text sent to chosen LLM
  • 🌐 Modern UI — Material Design 3

Screen Captures

Screenshots

Tech Stack:

Component Technology
Language Kotlin
UI Jetpack Compose, Material Design 3
Database Room

My Experience with GitHub Copilot CLI

Building Jist with GitHub Copilot CLI was an incredible experience. Here's how I leveraged its capabilities throughout development:

🎯 Model Selection Strategy

One of the most powerful features of Copilot CLI is the ability to switch between different AI models for different tasks. I developed a mental model for when to use each:

Model Best For Why
Gemini 3 Pro UI/Compose code Excellent at visualizing layouts, Material 3 components, and Jetpack Compose patterns
Opus 4.6 Planning & architecture Superior reasoning for system design, database schemas, and complex logic
GPT-5.2 Codex / Sonnet General development Balanced for boilerplate, testing, and debugging

🤖 Agent Skills

Copilot CLI's has the ability to use skills proper to give more accurate and contextual results, so I installed these skills:

  • Android Jetpack Compose: For building declarative UIs with modern Compose patterns
  • Material Design 3: For implementing Material You theming, dynamic colors, and expressive components

These skills provided context-aware suggestions specific to Android development, reducing the learning curve significantly.

🔧 MCP Servers

I used Model Context Protocol (MCP) servers to enhance productivity:

  • File System MCP: For navigating the Android project structure and understanding the codebase
  • GitHub MCP: For checking issues and managing development workflow
  • Custom Context Providers: For Android-specific patterns and best practices

And more..

These MCPs enabled Copilot to understand project context deeply, resulting in more accurate and relevant suggestions.

💻 How It Impacted My Development

  1. Rapid Prototyping: Copilot CLI helped generate boilerplate code, letting me focus on business logic
  2. Learning Android Compose: As someone relatively new to Jetpack Compose, asking Copilot about Material 3 components accelerated learning
  3. Architecture Decisions: Switched to Opus for planning database schemas and service architectures
  4. Debugging: When issues arose, switching to Claude helped trace through complex code flows
  5. UI Polish: Gemini's strength in visual code helped create polished, modern interfaces

📊 Impact on Development

  • Time Saved: Significant reduction in boilerplate code writing
  • Quality Improved: Better adherence to Jetpack Compose and Material 3 best practices
  • Learning Accelerated: Fast track understanding of Android architecture components
  • Creativity Boosted: Focus on unique features rather than getting stuck on syntax

Few Challenges & Solutions

Challenge 1: Nested Scrolling in Compose

The onboarding screen crashed due to nested scrollable containers. Copilot CLI helped identify and fix the issue by explaining Compose measurement constraints.

Challenge 2: Battery Optimization Handling

Different Android OEMs handle battery optimization differently. Used Copilot to research and implement proper guidance for users across Samsung, OnePlus, Xiaomi, etc.

Challenge 3: Multi-Model LLM Abstraction

Creating a unified interface for different LLM providers with different APIs was complex. Copilot helped design a clean factory pattern that works seamlessly with OpenAI, Gemini, Claude, and OpenRouter.


Conclusion

GitHub Copilot CLI transformed my development experience building Jist. The ability to switch between specialized AI models for different tasks, rather than using a one size fits all approach unlocked new levels of productivity and code quality.

The combination of Copilot CLI's agentic capabilities, MCP servers, and model selection made this complex Android application achievable in a fraction of the time it would have taken otherwise.


Thank you for considering my submission!

GitHub Repository: github.com/notnotrachit/jist


Top comments (0)