{"id":51543940,"url":"https://github.com/izadoesdev/mailbuddy","last_synced_at":"2026-07-09T16:01:21.578Z","repository":{"id":286691249,"uuid":"962209953","full_name":"izadoesdev/Mailbuddy","owner":"izadoesdev","description":"AI-powered email parsing, classification, and semantic search — built for devs managing massive inboxes.","archived":false,"fork":false,"pushed_at":"2025-12-07T12:04:58.000Z","size":6668,"stargazers_count":24,"open_issues_count":3,"forks_count":9,"subscribers_count":1,"default_branch":"master","last_synced_at":"2026-07-07T13:29:17.617Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"https://www.mailbuddy.dev","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/izadoesdev.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null},"funding":{"github":["once-ui-system","lorant-one"]}},"created_at":"2025-04-07T20:15:26.000Z","updated_at":"2026-06-30T11:47:10.000Z","dependencies_parsed_at":"2025-04-25T01:07:23.307Z","dependency_job_id":"a82933f9-1676-47a7-b25c-1f51b31b0355","html_url":"https://github.com/izadoesdev/Mailbuddy","commit_stats":null,"previous_names":["izadoesdev/mailer","izadoesdev/mailbuddy"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/izadoesdev/Mailbuddy","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/izadoesdev%2FMailbuddy","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/izadoesdev%2FMailbuddy/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/izadoesdev%2FMailbuddy/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/izadoesdev%2FMailbuddy/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/izadoesdev","download_url":"https://codeload.github.com/izadoesdev/Mailbuddy/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/izadoesdev%2FMailbuddy/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":35304875,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-07-09T02:00:07.329Z","response_time":57,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2026-07-09T16:01:20.182Z","updated_at":"2026-07-09T16:01:21.573Z","avatar_url":"https://github.com/izadoesdev.png","language":"TypeScript","funding_links":["https://github.com/sponsors/once-ui-system","https://github.com/sponsors/lorant-one"],"categories":[],"sub_categories":[],"readme":"# Mailbuddy - Your Secure AI Email Companion\n\n\u003cdiv align=\"center\"\u003e\n  \u003cimg src=\"public/images/cover.jpg\" alt=\"Mailbuddy - Secure Email Client\" width=\"800\"/\u003e\n  \u003cp\u003e\u003cem\u003eA modern, secure, and privacy-focused email client with Gmail integration\u003c/em\u003e\u003c/p\u003e\n  \u003cp\u003e\n    \u003ca href=\"#key-features\"\u003eFeatures\u003c/a\u003e •\n    \u003ca href=\"#security\"\u003eSecurity\u003c/a\u003e •\n    \u003ca href=\"#getting-started\"\u003eGetting Started\u003c/a\u003e •\n    \u003ca href=\"#tech-stack\"\u003eTech Stack\u003c/a\u003e •\n    \u003ca href=\"#roadmap\"\u003eRoadmap\u003c/a\u003e •\n    \u003ca href=\"#license\"\u003eLicense\u003c/a\u003e\n  \u003c/p\u003e\n\u003c/div\u003e\n\n## 🌟 Overview\n\nMailbuddy is a sophisticated email client focusing on security, privacy, and user experience. It combines Gmail's powerful API with client-side encryption to ensure your emails remain private while providing a clean, intuitive interface.\n\n### Why Mailbuddy?\n\n- **Privacy First**: Your emails are encrypted with keys only you can access\n- **Modern Interface**: Clean, fast UI built with Next.js and Once UI\n- **Seamless Integration**: Works with your existing Gmail account\n- **Smart Features**: AI-powered email categorization and priority sorting\n- **Fully Open Source**: Transparent, community-driven development\n\n## 🔑 Key Features\n\n\u003cdiv align=\"center\"\u003e\n  \u003ctable\u003e\n    \u003ctr\u003e\n      \u003ctd align=\"center\"\u003e🔐\u003c/td\u003e\n      \u003ctd\u003e\u003cstrong\u003eZero-Knowledge Architecture\u003c/strong\u003e - Your emails are encrypted with keys only you control\u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n      \u003ctd align=\"center\"\u003e⚡\u003c/td\u003e\n      \u003ctd\u003e\u003cstrong\u003eLightning-Fast Experience\u003c/strong\u003e - Background syncing and optimized performance\u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n      \u003ctd align=\"center\"\u003e🧠\u003c/td\u003e\n      \u003ctd\u003e\u003cstrong\u003eAI-Enhanced Organization\u003c/strong\u003e - Smart email categorization and priority detection\u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n      \u003ctd align=\"center\"\u003e🔄\u003c/td\u003e\n      \u003ctd\u003e\u003cstrong\u003eReal-Time Syncing\u003c/strong\u003e - Changes reflect immediately across devices\u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n      \u003ctd align=\"center\"\u003e🧵\u003c/td\u003e\n      \u003ctd\u003e\u003cstrong\u003eThreaded Conversations\u003c/strong\u003e - Emails organized into meaningful threads\u003c/td\u003e\n    \u003c/tr\u003e\n  \u003c/table\u003e\n\u003c/div\u003e\n\n## 🔒 Security\n\n### User-Specific Encryption\n\nEach user gets their own unique encryption key that secures their email data:\n\n- **Client-Side Encryption**: All sensitive data is encrypted before server storage\n- **User-Controlled Keys**: Only you can decrypt and access your email content\n- **Data Isolation**: Even in a breach, emails remain secure and unreadable\n- **Zero Server Access**: The server never sees the unencrypted content of your emails\n\n### Encrypted Fields\n\n- ✓ Email body content\n- ✓ Email subject lines\n- ✓ Email snippets/previews\n- ✓ Sender and recipient information\n\n### Compliance Ready\n\nOur architecture is designed to help maintain compliance with:\n- GDPR\n- CCPA\n- HIPAA (with proper configuration)\n\n## 🚀 Getting Started\n\n### Using Docker Compose (Recommended)\n\n```bash\n# Start the required services\ndocker compose up -d\n\n# The following services will be available:\n# - PostgreSQL: localhost:5432\n# - Redis: localhost:6379\n# - Qdrant Vector DB: localhost:6333\n```\n\n### Manual Setup\n\n```bash\n# Clone the repository\ngit clone https://github.com/izadoesdev/mailer\n\n# Navigate to project directory\ncd Mailbuddy\n\n# Install dependencies\nbun install\n\n# Set up environment variables\ncp .env.example .env.local\n# Fill in required environment variables\n\n# Generate the prisma client \u0026 push the schema to your local database\nbunx prisma db push\n\n# Start development server\nbun run dev\n```\n\n### Environment Setup\n\nCreate a `.env.local` file with the following variables:\n\n```env\n# Database\nDATABASE_URL=\"postgresql://mailbuddy:mailbuddy@localhost:5432/mailbuddy\"\n\n# Redis\nREDIS_URL=\"redis://localhost:6379\"\n\n# Other variables as specified in .env.example\n```\n\n## 🔐 Gmail API Setup\n\n### Required Scopes\nThe following Gmail API scopes are required for full functionality:\n\n```plaintext\nhttps://www.googleapis.com/auth/gmail.readonly\nhttps://www.googleapis.com/auth/gmail.modify\n```\n\n### Setting up Google Credentials\n\n1. Go to [Google Cloud Console](https://console.cloud.google.com/)\n2. Create or select a project\n3. Go to OAuth Consent Screen:\n   - Set user type to \"External\"\n   - Fill in basic app info (for testing)\n4. Go to APIs \u0026 Services → Credentials\n5. Create OAuth 2.0 Client ID:\n   - App type: Web\n   - Add authorized redirect URIs:\n     ```\n     http://localhost:3000/api/auth/callback/google\n     ```\n6. Download the credentials JSON file\n7. Add the following to your `.env.local`:\n   ```env\n   GOOGLE_CLIENT_ID=your_client_id\n   GOOGLE_CLIENT_SECRET=your_client_secret\n   ```\n\n### Environment Variables\nAdd these to your `.env.local`:\n\n```env\n# Gmail API\nGOOGLE_CLIENT_ID=your_client_id\nGOOGLE_CLIENT_SECRET=your_client_secret\n```\n\n## 🛠️ Tech Stack\n\n\u003cdiv align=\"center\"\u003e\n  \u003ctable\u003e\n    \u003ctr\u003e\n      \u003ctd align=\"center\"\u003e\u003cstrong\u003eFrontend\u003c/strong\u003e\u003c/td\u003e\n      \u003ctd align=\"center\"\u003e\u003cstrong\u003eBackend\u003c/strong\u003e\u003c/td\u003e\n      \u003ctd align=\"center\"\u003e\u003cstrong\u003eDatabase\u003c/strong\u003e\u003c/td\u003e\n      \u003ctd align=\"center\"\u003e\u003cstrong\u003eAI/ML\u003c/strong\u003e\u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n      \u003ctd\u003e\n        • Next.js\u003cbr/\u003e\n        • React\u003cbr/\u003e\n        • Once UI\u003cbr/\u003e\n        • TailwindCSS\n      \u003c/td\u003e\n      \u003ctd\u003e\n        • Next.js API Routes\u003cbr/\u003e\n        • Prisma ORM\u003cbr/\u003e\n        • BetterAuth\u003cbr/\u003e\n        • Gmail API\n      \u003c/td\u003e\n      \u003ctd\u003e\n        • PostgreSQL\u003cbr/\u003e\n        • Vector storage\u003cbr/\u003e\n        • Prisma migrations\n      \u003c/td\u003e\n      \u003ctd\u003e\n        • Email categorization\u003cbr/\u003e\n        • Priority detection\u003cbr/\u003e\n        • Smart summaries\u003cbr/\u003e\n        • Semantic search\n      \u003c/td\u003e\n    \u003c/tr\u003e\n  \u003c/table\u003e\n\u003c/div\u003e\n\n## 📊 Application Architecture\n\n```\n├── src/\n│   ├── app/                  # Next.js App Router\n│   │   ├── api/              # API routes including inbox and Gmail integration\n│   │   ├── auth/             # Authentication pages\n│   │   ├── inbox/            # Email inbox views\n│   │   ├── ai/               # AI processing for emails\n│   │   ├── components/       # Reusable UI components\n│   │   ├── libs/             # Utility functions and services\n│   │   │   ├── auth/         # Authentication configuration\n│   │   │   ├── db/           # Database configuration\n│   │   │   ├── utils/        # Utilities including encryption\n│   ├── prisma/               # Database schema and migrations\n│   └── public/               # Static assets\n```\n\n## 📄 Documentation\n\n\u003c!-- Comprehensive documentation is available at [docs.example.com](https://docs.example.com) covering: --\u003e\n\n- Complete API reference\n- Database schema details\n- Security implementation guide\n- Customization options\n- Contributing guidelines\n\n## 🛣️ Roadmap\n\n- [ ] **Custom Folders \u0026 Labels**: Create and manage custom organization\n- [ ] **Enhanced Search**: Full-text and semantic search capabilities\n- [ ] **Mobile Applications**: Native apps for iOS and Android\n- [ ] **Offline Mode**: Full functionality without internet connection\n- [ ] **End-to-End Encryption**: Secure email sending between Mailbuddy users\n- [ ] **Calendar Integration**: View and manage events alongside emails\n\n## 👥 Contributing\n\nContributions are welcome! Please feel free to submit a Pull Request.\n\n1. Fork the project\n2. Create your feature branch (`git checkout -b feature/amazing-feature`)\n3. Commit your changes (`git commit -m 'Add some amazing feature'`)\n4. Push to the branch (`git push origin feature/amazing-feature`)\n5. Open a Pull Request\n\n## 📄 License\n\nDistributed under the MIT License. See `LICENSE.txt` for more information.\n\n## 🙏 Acknowledgements\n\n- [Next.js](https://nextjs.org/)\n- [Once UI](https://once-ui.com/)\n- [Gmail API](https://developers.google.com/gmail/api)\n- [Prisma](https://www.prisma.io/)\n\n---\n\n\u003cdiv align=\"center\"\u003e\n  \u003cp\u003eMade with ❤️ by the Mailbuddy Team\u003c/p\u003e\n  \u003cp\u003e\n    \u003ca href=\"https://github.com/izadoesdev/mailer/issues\"\u003eReport Bug\u003c/a\u003e •\n    \u003ca href=\"https://github.com/izadoesdev/mailer/issues\"\u003eRequest Feature\u003c/a\u003e\n  \u003c/p\u003e\n\u003c/div\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fizadoesdev%2Fmailbuddy","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fizadoesdev%2Fmailbuddy","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fizadoesdev%2Fmailbuddy/lists"}