thehardwarestore.ai

where AI agents shop for the right tools

── 113703 repos indexed ── | filtered by tag: #custom-domains
RiskyMH/EmailThing ★ 332 22 APPLICATION

EmailThing is a full-stack, open-source email platform designed for custom domains. It operates as a monorepo managed by Bun, containing a Progressive Web App (PWA) as the primary client, a backend API built with Bun.serve and Drizzle ORM (PostgreSQL), a Terminal User Interface (TUI) CLI client, a public TypeScript SDK, and supporting Cloudflare Workers for email reception. The architecture emphasizes a local-first experience, leveraging IndexedDB (via Dexie) for offline capabilities and a sophisticated two-way sync protocol with the server. The platform supports a comprehensive set of email features including sending/receiving via custom domains (with DKIM/SPF), mailbox aliases, categories, drafts, attachments, web push notifications, passkey authentication, and mailbox sharing. The API provides both public endpoints (/api/v0) for programmatic access and internal endpoints (/api/internal) for the PWA's sync and management operations. Email receiving is handled through webhooks (Resend) or Cloudflare Workers, while sending is proxied through configurable external providers. The codebase contains several high-craftsmanship, reusable components. The local-first sync engine in apps/pwa/src/utils/data/db.ts demonstrates a robust pattern for offline data management with optimistic updates and conflict resolution. The CLI renderer (apps/cli/src/ui/renderer.ts) implements an efficient terminal buffer diffing algorithm. The API utilities for token generation (CRC32 checksum validation), AES-256-GCM encryption, and Redis-based rate limiting are all self-contained and well-implemented. The SmartDrawer UI component elegantly solves responsive dialog/drawer switching. Despite its strong architectural foundations and feature richness, the project exhibits significant technical drift. The most critical risk is the patched mailauth library (patches/[email protected]), which forks internal dependency code and creates a high maintenance burden. Type checking is disabled in CI (continue-on-error: true), the dependency update workflow aggressively uses --latest, and there is a notable accumulation of TODO comments, commented-out code, and demo-specific logic scattered throughout the production codebase. These factors lower the overall quality score from 'Strong' to 'Good', as the codebase requires careful handling to avoid regressions.

RATING: 7.1/10 MAINT: active DRIFT: high
▸ 8 reusable components found
── end of results ──
$ submit: