A desktop app that validates event attendee profiles and flags incomplete data for marketing campaigns.
Event organizers struggle with messy registration data. This tool gives you clean, segmented lists in seconds - no more manual checking. Eventually, this could integrate directly with registration platforms, auto-send reminder emails, and provide real-time quality dashboards for your team. Imagine catching data issues as people register instead of weeks later.
Building the minimum to validate profile quality and export clean data.
Included:
- CSV import (drag & drop)
- Email validation and auto-correction
- Missing field detection
- Quality scoring and labeling
- Export cleaned CSV with marketing segments
Not included (yet):
- Direct integration with registration platforms → v1.0
- Automated email reminders → v1.0
- Multi-file batch processing → v1.0
- Team collaboration features → Production
Success criteria:
- Process 10K rows in under 10 seconds
- Auto-fix at least 80% of common email typos
- Export CSV ready for immediate marketing upload
- You can run this weekly without tech help
- Frontend: Electron + React (desktop app)
- Backend: Node.js (file processing)
- CSV Parser: PapaParse (fast CSV handling)
- Validation: email-validator, custom rules
- Hosting: Runs locally on your computer
# Clone and install
git clone [your-repo-url]
cd profile-quality-checker
npm install
# Run the app
npm startsrc/
├── main/ # App startup and file system access
├── renderer/ # UI components (buttons, display)
├── utils/ # Validation logic and CSV processing
└── styles/ # Visual styling
- Make sure you have Node.js installed (v16 or higher)
- Clone this repository
- Run
npm installto install dependencies - Run
npm startto launch the app - Drop a CSV file to get started!
- Launch - Run
npm start - Import - Drag & drop your CSV file or click Browse
- Review - See quality issues detected
- Export - Click "Export Clean CSV" to get your marketing-ready file
The app adds these new columns to your CSV:
quality_score- 0-100 rating of profile completenessemail_status- "Valid" | "Fixed" | "Invalid"missing_fields- Comma-separated list of empty required fieldsneeds_attention- "Yes" | "No" flag for marketing campaigns
Having issues? Check LEARNINGS.md for common problems and solutions.