This full-stack contact management application is a sophisticated solution for organizing and cleaning up contact databases, featuring intelligent duplicate detection and automated data enrichment. Built with modern web technologies, it provides a comprehensive platform for managing large contact lists with professional-grade features.
Technical Architecture
The application uses a React 18 frontend with TypeScript, leveraging Vite for fast development and building. The UI is constructed with shadcn/ui components and Radix UI primitives, styled with Tailwind CSS for a modern, responsive design. Client-side routing is handled by Wouter, while TanStack Query manages server state and caching for optimal performance.
The backend runs on Node.js with Express.js, written entirely in TypeScript using ES modules. It integrates with PostgreSQL through Drizzle ORM for type-safe database operations. The system implements Google OAuth 2.0 for secure authentication and utilizes the Google People API for contact synchronization. Session management is handled with PostgreSQL-based storage to ensure persistence across server restarts.
Core Features & Services
The application's centerpiece is its advanced duplicate detection engine, which uses string similarity algorithms and configurable matching criteria (exact, fuzzy, phonetic) to identify potential duplicates with confidence scoring. Users can review and merge contacts while preserving all data - emails, phone numbers, notes, tags, and enrichment data are intelligently combined during merge operations.
Professional contact enrichment is achieved through multiple API integrations including Apollo.io, People Data Labs, and FullContact, with graceful fallback to intelligent inference when API keys aren't configured. The system includes bidirectional Google Contacts synchronization, ensuring changes made locally are reflected in Google Contacts in real-time.
Additional features include real-time contact search with 300ms debouncing, bulk operations (merge, delete, enrich, export), comprehensive filtering and sorting, tag management, LinkedIn integration, and advanced analytics dashboard. The application also provides system health monitoring, sync logs, and error tracking for debugging and maintenance.
The entire system is designed for scalability and production use, with proper error handling, rate limiting for external APIs, caching mechanisms, and comprehensive audit trails for all merge operations with rollback capabilities.