Inspiration
Every sales team has the same problem — by the time you know a customer is churning, it's too late. By the time you spot an upsell, someone else got there first. We realized this isn't a single-agent problem. Scoring customer health, deciding actions, writing outreach, and learning from mistakes are fundamentally different cognitive tasks. So we built PULSE as a multi-agent system where specialized agents collaborate — and crucially, where one agent can modify another agent's behavior based on observed outcomes.
What it does
PULSE is a self-evolving multi-agent system for sales intelligence. Four specialized agents using gemini— Scoring, Decision, Action, and Evolution — work in an autonomous pipeline monitoring 47 customer accounts in real-time. The Scoring Agent fuses signals from three sources (voice call sentiment via Modulate Velma, product usage metrics, and CRM activity) into health scores. The Decision Agent determines actions. The Action Agent writes personalized emails via Gemini. And the Evolution Agent — the core innovation — analyzes which predictions were correct, then rewrites the Scoring Agent's weights and prompts to improve accuracy. Agents improving agents.
How we built it
- Backend: Python/FastAPI with async WebSocket broadcasting. 4-agent pipeline (Scoring → Decision → Action → Evolution) running autonomously every 5 seconds.
- Frontend: React + Vite + Tailwind with a Bloomberg Terminal-inspired dark theme. 2x2 grid layout with real-time WebSocket updates, toast notifications with audio playback, and a persistent notification history panel.
- Database: SQLite with async operations for customers, signals, actions, and evolution generations.
- Voice Pipeline: ElevenLabs generates realistic sales call audio → Modulate Velma analyzes it for emotion, sentiment, frustration → signals feed into scoring.
Why multi-agent?
A single LLM call can't do this. The Scoring Agent needs to be fast (47 accounts per tick). The Action Agent needs to be creative (unique personalized emails). The Evolution Agent needs to be analytical (pattern recognition across outcomes). These are fundamentally different cognitive tasks. By separating them into specialized agents with a shared data layer, we achieve something no single agent could: one agent modifies another agent's behavior based on observed outcomes.
How the self-improvement works
- Scoring Agent scores customers, Action Agent executes outreach
- Outcomes resolve — did the save email work? did the upsell land?
- Evolution Agent analyzes which of the Scoring Agent's predictions were correct vs wrong
- Gemini identifies patterns — "voice signals correlated with 72% of correct churn predictions"
- Evolution Agent rewrites the Scoring Agent's signal weights and prompt
- New generation created — Scoring Agent now behaves differently
- Accuracy monotonically improves: agents improving agents
Challenges we ran into
Accomplishments that we're proud of
The key discovery: the Evolution Agent learned that voice sentiment (from Modulate) is the most predictive signal for churn, and autonomously increased the Scoring Agent's voice weight. Nobody programmed this. One agent taught another.
Also with respect to the hackathon:
- All 5 sponsor tools genuinely integrated with real API calls (not mocks)
- The ElevenLabs → Modulate voice pipeline is real end-to-end
- Evolution accuracy genuinely improves — Gemini proposes different weights each run
- Live dashboard with WebSocket real-time updates, toast notifications, and audio playback
- Lightdash dashboard auto-updates with evolution metrics via API
What we learned
- Voice sentiment is a genuinely powerful signal for customer health prediction.
What's next for Electric Sheep
- Connect to real CRM data (Salesforce, HubSpot) instead of simulation
- Real voice call ingestion via Modulate streaming API
- Multi-tenant deployment for sales teams
- A/B testing between evolution generations
- Human-in-the-loop approval for high-stakes actions
Built With
- braintrust
- elevenlabs
- fastapi
- gcp
- gemini-2.5-flash
- lightdash
- modulate-velma-2
- python
- react
- recharts
- sqlite
- tailwind-css
- vite
- websockets
Log in or sign up for Devpost to join the conversation.