A smart React application that helps you find utility bills in your Gmail account. Connect with your Google account, select your utility providers, and automatically discover PDF bills from the past 6 months.
- 🔐 Secure Google OAuth Login - Uses Google's official OAuth 2.0 flow
- 📧 Gmail Integration - Searches your Gmail for utility bill PDFs
- 🏢 Utility Provider Selection - Choose from major utility companies
- 🔍 Smart Domain Matching - Automatically matches emails by provider domains
- 📊 Bill Details Extraction - Extracts amounts, bill numbers, and dates
- 🎨 Modern UI - Clean, responsive design with Tailwind CSS
- 📱 Mobile Responsive - Works great on all devices
- ⚡ Rate Limited - Respects Gmail API limits for reliable operation
- ConEdison (coned.com, conedison.com)
- Pacific Gas & Electric (pge.com, pgecorp.com)
- Duke Energy (duke-energy.com, dukeenergy.com)
- National Grid (nationalgrid.com, nationalgridus.com)
- Southern California Edison (sce.com, scecorp.com)
- Exelon (exeloncorp.com, exelon.com)
- Dominion Energy (dominionenergy.com, dom.com)
- NextEra Energy (nexteraenergy.com, fpl.com)
- Sign in with your Google account
- Select utility providers from the list or search for specific companies
- Search your Gmail for PDF attachments from the past 6 months
- View results with filtering, sorting, and bill details
- Export or manage your utility bills
git clone <repository-url>
cd emailfinder
npm install
- Go to Google Cloud Console
- Create a new project or select an existing one
- Enable the following APIs:
- Gmail API
- People API
- Create OAuth 2.0 credentials:
- Go to "Credentials" → "Create Credentials" → "OAuth 2.0 Client IDs"
- Choose "Web application"
- Add your domain to "Authorized JavaScript origins" (e.g.,
http://localhost:5173
for development) - Copy the Client ID
Create a .env
file in the root directory:
VITE_GOOGLE_CLIENT_ID=your_google_client_id_here
npm run dev
npm run build
- Login: Click "Sign in with Google" and authorize the application
- Select Providers: Choose the utility companies you want to search for
- Search: Click "Search for Utility Bills" to scan your Gmail
- Review Results: Browse, filter, and sort your found utility bills
- Manage: Use the search and filter options to find specific bills
- Frontend: React 18 with TypeScript
- Styling: Tailwind CSS
- Authentication: Google OAuth 2.0 Implicit Flow
- API: Gmail API with rate limiting
- Build Tool: Vite
- Icons: Lucide React
The application includes intelligent rate limiting to respect Gmail API quotas:
- 100ms delay between API requests
- Batch processing of messages (10 at a time)
- Automatic retry on 429 errors
- Sequential processing to avoid overwhelming the API
- All authentication is handled by Google OAuth
- No data is stored on our servers
- Gmail access is read-only
- Rate limiting prevents API abuse
- All processing happens in your browser
- Fork the repository
- Create a feature branch
- Make your changes
- Test thoroughly
- Submit a pull request
This project is licensed under the MIT License.