GhostMe helps sales teams understand why leads go silent. The platform integrates with HubSpot, detects ghosted deals, sends anonymous feedback requests, and gives leads the option to reveal their identity if they want to re-engage.
ghostme.xyz - Homepage
What Made This Hard
HubSpot OAuth and continuous deal monitoring. The platform needs access to customer deal pipelines, which means implementing the full OAuth flow, managing token refresh, and continuously checking for deals that have gone cold.
Two webhook sources with different formats. HubSpot sends webhooks when deals change status. Mailgun sends webhooks for email delivery, opens, clicks, and responses. Each has different payloads, authentication requirements, and reliability guarantees. Both need to process in real-time without losing data.
Anonymous feedback with optional identity reveal. Leads receive emails asking why they stopped engaging. The responses are anonymous to encourage honesty. But if a lead wants to re-engage, they can choose to reveal their identity. The system had to maintain complete anonymity while allowing selective opt-in.
How I Built It
For HubSpot, I implemented the full OAuth 2.0 flow. The Django backend exchanges authorization codes for tokens, stores them securely in PostgreSQL, and handles automatic refresh. A background system fetches all deals, tracks their stages, and flags when leads go inactive.
Webhook processing uses Django REST Framework for endpoints and Celery for async handling. When webhooks arrive, the system validates signatures, queues events in Redis, and processes them with Celery workers. This prevents timeouts during traffic spikes.
For the email workflow, Mailgun sends personalized feedback requests with unique identifiers. When leads respond, Mailgun webhooks notify the platform. The system parses the response, stores feedback anonymously, and updates the customer dashboard. If a lead opts in to reconnect, their identity gets revealed for follow-up.
The frontend is built with NextJs, Tailwind, and Shadcn. Customers see their ghosted deals, anonymous feedback received, and which leads opted in for re-engagement.
What I'd Highlight
Celery workers process HubSpot and Mailgun webhooks without data loss during spikes
Token refresh keeps HubSpot access alive without manual re-authentication
Anonymous feedback converts to re-engagement opportunities when leads opt in