Summarize unread emails in your inbox and generate a summary and a to-do list and works for Gmail. It will also highlight key action items, dates, and deadlines, prioritize emails by time-sensitive content, and assist with drafting replies using Large Language Models.
- Inbox Summary -Megan
- To-Do List -Mona
- Reply Generation -Darren
- Prioritization -Fiona
View our landing page live here: https://mkhosla11.github.io/mail-bites-landing-page/
Note that to run this extension before this is published on Chrome Web Store, you need to repeat the set up process individually to successfully launch this extension. At the end of the setup, you also need to add the testing gmail in the Audience tab in Google Cloud Project.
- Go to the Google Cloud Console
- Create a new project
- Enable the Gmail API:
- In the sidebar, navigate to "APIs & Services" > "Library"
- Search for "Gmail API" and enable it
- In the sidebar, navigate to "APIs & Services" > "Credentials"
- Click "Create Credentials" and select "OAuth client ID"
- Select "Chrome Extension" as the application type
- Enter a name for your OAuth client
- For "Application ID", enter the extension ID (you'll get this after loading the extension in Chrome for the first time but for now enter an id of a different chrome extension found under chrome://extensions/)
- Click "Create"
- Note your Client ID - you'll need it in the next step
- Go to "Audience" and add your email in Test users
- In the sidebar, navigate to "APIs & Services" > "Library"
- Search for the Gemini API, and enable it.
- Then in the sidebar, navigate to "APIs & Services" > "Credentials" and take not of your API key.
- Clone the repository and open it in a code editor such as Visual Studio Code.
- Open
public/manifest.json - Replace
YOUR_CLIENT_ID.apps.googleusercontent.com(or where you see "client_id") with your actual client ID from the previous step - Replace
GEMINI_API_KEYinbackground.jswith your API key from the previous step (or findconst GEMINI_API_KEYand add your key after the equal sign) - Find
const clientIdand add your client ID after the equal sign inbackground.js
# Install dependencies
npm install
# Build the extension
npm run build- Open Chrome and go to
chrome://extensions/ - Enable "Developer mode" (toggle in the top-right corner)
- Click "Load unpacked" and select the
distfolder from your project - Note the extension ID that appears under the extension name - you'll need to add this to your OAuth client configuration
- Go back to the Google Cloud Console, update your OAuth client with this extension ID (click the edit button and change the ID)
- Click the Mail Bites icon in your Chrome toolbar
- Click "Connect to Gmail" and follow the authentication flow
- Once authenticated, you can view and interact with your emails
# Run in development mode with hot reload
npm run dev
# Build for production
npm run build
# Run tests
npm test- Adapt for Outlook and other email services
- Add automatic send email features
- Directly add to google calendar for meetings and events
- Give an estimate time for how long to read the unread emails
Mail Bites processes your Gmail data locally within the extension. No email data is sent to external servers. The extension uses OAuth 2.0 to authenticate with Gmail, giving you control over what data you share and the ability to revoke access at any time through your Google Account settings.
MIT