Automated data cleaning and personalized follow-up messaging for event attendees.
This project automates two core tasks:
- Data Cleaning – Prepares raw attendee data for outreach.
- Auto-Personalized Messaging – Generates tailored messages based on user participation, job title, and LinkedIn status.
Optional features include generating .txt and .json files per user and automating message delivery using SMTP.
File: clean_data.py
Cleans and prepares raw attendee data from a CSV file.
- Removes duplicate email rows
- Normalizes
has_joined_eventvalues (Yes/No→True/False) - Flags missing or incomplete LinkedIn profiles
- Flags rows with blank job titles
- Saves the cleaned version as
cleaned_output.csv
cleaned_output.csv
File: personalized_messaging.py
Creates customized follow-up messages using cleaned attendee data.
-
If joined the event:
"Hey Venkatesh, thanks for joining our session! As a freelance developer, we think you’ll love our upcoming AI workflow tools. Want early access?"
-
If didn’t join:
"Hi Arushi, sorry we missed you at the last event! We’re preparing another session that might better suit your interests as a Product Manager."
-
If LinkedIn profile is missing, an additional sentence is added:
"Let us know if you’d like help building your online professional presence!"
personalized_messages.csv— email + messageuser_messages/*.txt— plain-text messages per useruser_messages/*.json— structured messages per user
File: email-automation.py
Send messages via:
- ✅ SMTP setup (dummy Gmail) tested with personal email — working correctly.
This step is designed to demonstrate deployment readiness for messaging automation.