AtomMail HF is a modern email management application built with Flutter for the frontend and Flask for the backend. It integrates the Gmail API for email retrieval and uses LangChain for advanced features like email categorization, summarization, and reply generation. The app provides a seamless and efficient interface for managing emails, offering features like AI-powered email insights and prompt-based reply generation.
This project was built during a 36-hour hackathon as part of the GoFloww Atom Mail challenge, where our team, "Oops! It’s a Bug", secured 2nd Runner Up. It was an intense journey filled with sleepless nights, debugging marathons, and chaotic energy, but it all came together in the end. For the full story, check out my LinkedIn post!
- Project Title
- Table of Contents
- Technologies Used
- Screenshots/Demo Videos
- Installation
- Backend
- Frontend
- Analysis of Feasibility
- Potential Challenges
- Overcoming Strategies
- Contributing
- License
This project leverages a diverse set of technologies to build a complete email management system:
- Flutter: Framework for building the frontend application.
- Flask: Lightweight Python web framework for backend development.
- PostgreSQL: Database for storing email metadata and embeddings.
- Gmail API: Used for retrieving and managing emails.
- LangChain: Framework for email categorization, summarization, and reply generation.
- REST APIs: For communication between the frontend and backend.
finale.mp4
Follow the instructions below to set up each component of the system:
- Clone the repository:
git clone https://github.com/agnidhra-coder/atom-mail-hf
- Navigate to the backend directory:
cd atom-mail-hf/backend - Create a virtual environment and activate it:
python -m venv venv source venv/bin/activate # On Windows: venv\Scripts\activate
- Install the required dependencies:
pip install -r requirements.txt
- Start the backend service:
The backend will start running on
python app.py
http://localhost:5000.
- Navigate to the frontend directory:
cd ../frontend - Install dependencies:
flutter pub get
- Run the Flutter application:
The application will launch on your connected device or emulator.
flutter run
The backend service is developed in Python using Flask and is responsible for:
- Email Retrieval: Fetching emails from the Gmail API.
- Email Categorization: Using LangChain to classify emails into predefined categories.
- Email Summarization: Generating concise summaries of email content.
- Reply Generation: Creating email replies based on simple English prompts.
- API Endpoints: Providing RESTful APIs for the frontend to interact with the backend.
The frontend is built using Flutter and provides a responsive and user-friendly interface for managing emails. Key features include:
- Viewing and organizing emails.
- Displaying categorized emails.
- Showing AI-generated summaries and reply suggestions.
- A clean and intuitive design for enhanced usability.
- Scalability: The system is designed to handle a growing number of users and emails with efficient backend and database optimizations.
- Ease of Use: The Flutter-based frontend ensures a smooth and intuitive user experience.
- Integration: Seamless integration with the Gmail API and LangChain for advanced email management features.
- API Rate Limits: Managing Gmail API rate limits for large-scale email retrieval.
- Database Performance: Ensuring fast query performance as the volume of email data grows.
- AI Integration: Maintaining accuracy and efficiency in email categorization and summarization.
For changes, please open an issue first to discuss what you would like to change. Contributions are welcome!
This project is licensed under the MIT License. See the LICENSE file for details.


