役割 & スコープ
アーキテクチャから本番環境まで、完全に設計・構築しました。複数のプロバイダーを組み合わせ、AI駆動の自動化、キャンペーン管理、そして包括的な連絡先システムを備えたエンタープライズグレードのメールプラットフォームです。
- マルチプロバイダー受信トレイ:Gmail、Outlook、IMAP、Apple Mail、YahooをOAuth 2.0認証で1つの統一インターフェースに。
- 自動的に仕分け、ラベル付け、返信を行うAI駆動のルール。複数のAIプロバイダーに対応:OpenAI、Claude、Google AI、そしてローカルのOllama。
- テンプレート、変数、A/B-testing、スケジューリング、開封・クリックトラッキングを備えた完全なキャンペーンプラットフォーム。
- グループ、タグ、重複検出、CSVインポート、エンリッチメントデータを備えた組み込みの連絡先管理。
- Google Workspace統合:中央のワークスペースのためのCalendarとTasksの同期。
インパクト
- すべてのメールを1つの受信トレイに:GmailやOutlookなどのプロバイダー間を切り替える必要はもうありません — すべてが1つの画面に分かりやすく表示されます。
- AI自動化が、賢い仕分け、自動ラベル付け、定型メールへの自動返信により、週に何時間も節約します。
- 統合されたキャンペーン管理がMailchimpのような別個のツールを置き換えます — テンプレート、スケジューリング、トラッキングが同じプラットフォーム内に。
- 重複検出とグループセグメンテーションを備えた連絡先管理が、クリーンなデータと的を絞ったコミュニケーションを実現します。
Architectuur
React-frontend met Hono als lichte, edge-compatibele API-laag, terwijl PostgreSQL wordt gebruikt voor het beheren van e-mailmetadata, contacten en campagnes. Mailproviders worden geïntegreerd via OAuth 2.0. De AI-regels-engine maakt gebruik van een abstractielaag om LLM-providers te benaderen, waardoor sorteren, labelen en concept-antwoorden werken ongeacht welke provider een gebruiker kiest.
Modelkeuze
Bewuste keuze voor meerdere leveranciers (OpenAI, Claude, Google AI en lokale Ollama) in plaats van vendor lock-in op één model. Sommige gebruikers willen geen e-mailinhoud naar een Amerikaanse cloud sturen en kiezen daarom voor een lokaal Ollama-model; anderen geven de voorkeur aan de kwaliteit van GPT-4o of Claude voor complexere concept-antwoorden. De abstractielaag maakt dit per gebruiker instelbaar zonder codewijziging.
Kosten & latency
- AI-kosten zijn afhankelijk van de gekozen provider: cloudproviders rekenen per token, terwijl de Ollama-optie geen marginale kosten heeft maar wel eigen rekencapaciteit vereist.
- Classificatietaken (sorteren, labelen) draaien bij voorkeur op goedkopere, snellere modellen; zwaardere generatieve taken op krachtigere modellen.
- Classificatielatency doorgaans onder 1 seconde; gegenereerde antwoord-concepten 2–4 seconden, afhankelijk van de gekozen provider.
Lessons learned
De eerste versie deed AI-classificatie synchroon bij elke binnenkomende mail, wat de inbox-sync merkbaar vertraagde. Overschakelen naar een asynchrone wachtrij loste dat op: inbox-sync wacht niet meer op AI-labeling. De provider-abstractielaag bleek achteraf de belangrijkste architectuurbeslissing — een nieuwe provider toevoegen kost daardoor nauwelijks werk.
Concept — cijfers ter illustratie, nog te verifiëren tegen het daadwerkelijke project vóór publicatie.