A fast, privacy-first personal CRM for managing contacts, interactions, notes, and follow-ups. 100% local, no backend required.
- π Full CRUD - Create, view, edit, delete contacts with ease
- π·οΈ Unlimited Tags - Organize with tags like "Friends", "Business", "Family"
- β Favorites - Quick access to important contacts
- π¦ Archive - Safely archive without deleting
- π Search & Filter - Find contacts by name or tags instantly
- π HQ Score - Track relationship strength (0-10 scale)
- π Notes - Add timestamped notes to contacts
- β Next Steps - Create actionable follow-up items with completion tracking
- π Activity Timeline - Combined view of all interactions
- β‘ Quick Entry - Fast note-taking while reviewing contacts
- π― Floating Button - Access from any page (always accessible)
- π Smart Parsing - Extract contacts from pasted text
- π Auto-Extract - Intelligently identifies phone, email, company
- ποΈ Source Tracking - Remember where you met them (meeting type)
- πΎ Persistent Storage - All data saved locally in browser
- πΏ Export/Import - Full backup and restore capabilities
- π Smart Merge - Import adds/updates without deleting existing data
- π No Cloud Dependency - Your data, your device, your rules
- π Dark/Light Mode - Theme toggle
- π± Responsive Design - Works on mobile and desktop
- β‘ Fast & Smooth - Instant interactions, no waiting
- π Toast Notifications - Feedback on every action
- Node.js 18+ and npm
- No database, no server, no API keys required
# Clone the repository
git clone https://github.com/yourusername/MarFebCRM.git
cd MarFebCRM
# Install dependencies
npm install
# Start development server
npm run devOpen http://localhost:5173 in your browser.
- Login - Create credentials (stored locally, encrypted)
- Dashboard - See overview and quick stats
- Add Contacts - Use "Quick Paste" to add contacts from notes
- Organize - Create tags and assign to contacts
- Backup - Export your data regularly
npm run buildOutput in dist/ directory (~135 KB gzipped)
- Vercel (recommended) -
vercel - Netlify -
netlify deploy --prod --dir=dist - GitHub Pages - Configure in repo settings
- AWS S3 + CloudFront - S3 bucket + distribution
- Any static host - Just serve the
distfolder
See DEPLOYMENT.md for detailed instructions.
| Layer | Technology |
|---|---|
| Framework | React 19 + TypeScript |
| Build | Vite 5 |
| Styling | Tailwind CSS |
| State | Zustand |
| Storage | localStorage (browser native) |
| Icons | Lucide React |
| Router | React Router v7 |
src/
βββ pages/ # Route components
β βββ Dashboard.tsx
β βββ Contacts.tsx
β βββ ContactDetail.tsx
β βββ Groups.tsx
β βββ ...
βββ components/ # Reusable UI
β βββ FloatingPasteButton.tsx
β βββ paste/
β βββ layout/
β βββ ui/
βββ services/ # Business logic
β βββ contacts/
β βββ storage/
β βββ parser/
β βββ ...
βββ store/ # Zustand stores
β βββ useContactStore.ts
β βββ useAuthStore.ts
β βββ ...
βββ App.tsx
βββ main.tsx
βββ index.css
β No Backend - No server to breach β Local First - All data stays on your device β No Tracking - Zero telemetry or analytics β No Cloud - Optional export only, your choice β Open Source - Transparent, auditable code
| Browser | Version | Status |
|---|---|---|
| Chrome | 90+ | β Full support |
| Firefox | 88+ | β Full support |
| Safari | 15+ | β Full support |
| Edge | 90+ | β Full support |
- Bundle Size: 428 KB (130 KB gzipped)
- Startup Time: <1s on modern browsers
- Data Storage: 5-10 MB localStorage limit (easily store 1000+ contacts)
- No External API calls - Blazing fast, works offline
Contributions are welcome! See CONTRIBUTING.md for:
- Development setup
- Code style guide
- PR process
- Testing requirements
- Contact CRUD
- Tags & groups system
- Notes & activity timeline
- Quick paste feature
- Export/import data
- Dark mode
- Dashboard with stats
- Reminders & notifications
- Contact relationships (linked contacts)
- Advanced search
- Bulk operations
- Email integration
- Cloud backup (encrypted)
- Multi-device sync
- Collaborative features
- Mobile app
MIT License - See LICENSE file
Data not saving?
- Check if localStorage is enabled in browser
- Try a different browser or private window
- Check browser storage quota
Import removed my data?
- This shouldn't happen! Import merges data
- Check if you imported from an older backup
- Export current data before importing
Need help?
- Check DEPLOYMENT.md for deployment issues
- Open an issue on GitHub
- See CONTRIBUTING.md for development questions
- π§ Issues - Report bugs or request features
- π¬ Discussions - Ask questions and share ideas
- π GitHub - https://github.com/yourusername/MarFebCRM
Built with β€οΈ for personal relationship management
Status: Production Ready | Last Updated: March 2026