Overview
Influencer marketing teams write the same kinds of email all day: meeting requests, negotiations, follow-ups and collaboration pitches. This tool turns a short brief (influencer, subject, what you want) into a personalised, professional email, then keeps a searchable record of every message sent.
How it works
• Brief : in the React dashboard, the user picks an influencer, a subject, a category (meeting, negotiation, follow-up or collaboration) and a short description.
• Generation : the Flask API asks OpenAI to write the email in a professional, concise voice, using the influencer's name.
• Fallback : if the model is unavailable or no key is configured, a simple template is used instead, so the workflow never blocks.
• Tracking : each email is stored in MongoDB with a generated task ID ( TASK_YYYYMMDD_NNN ), its category and a timestamp.
• Views : sent-email list, timeline, calendar and analytics pages, filterable by influencer, category and date range.
Engineering decisions
• Structured requests and responses : every call uses typed request and response types (for example send_email and send_email_response ), so the backend can be driven by the UI or by another agent.
• Degrade gracefully : an outreach tool that stops working when the LLM does is worse than no tool, so there is always a fallback path.
Tech stack
Python · Flask · OpenAI · MongoDB · React · REST API
View project
