Inspiration
I'm a Computing student working toward Formula Student in Austria as a stepping stone into motorsport engineering, and one thing that keeps coming up when I talk to people involved in university racing teams is how much unglamorous, repetitive work goes into just finding sponsors. Cold-calling local businesses, one by one, is a real bottleneck for teams that would rather be spending that time on the car. When I saw CALL-E could turn a script into an agent that actually places phone calls and returns structured results, this felt like an obvious, honest use case, not a demo built to impress, but something I'd genuinely want to use myself once I'm on a Formula Student team.
What it does
fs-sponsor-outreach reads a CSV of prospective sponsor contacts name,
phone number, region and places one outbound call per contact through
CALL-E. Each call introduces the team, gauges the sponsor's interest, and
if they're interested, asks for the best way and time to follow up. The
result isn't a raw transcript you have to read through, it's structured
data (interest level, contact method, notes) that a team could turn into
a shortlist in minutes instead of hours of manual dialing.
I also built a small results dashboard, styled like an F1 pit-wall timing screen, since that's a visual language I've been building out across my own portfolio work. Each contact renders as a row with a sector-progress track showing how far the call got, color-coded by outcome.
How I built it
The core is a Python CLI script that wraps CALL-E's own calle CLI
directly, calle call start to place a call, calle call status to
poll for the structured result, rather than building an AI-agent
wrapper around it. I chose this path deliberately: it's a simpler,
more testable integration, and it still genuinely calls CALL-E at
runtime rather than just referencing it.
I contributed it as an app in CALL-E's community repository
(apps/python/fs-sponsor-outreach/), including a README documenting
setup, usage, a dry-run mode, side effects, and, importantly,
cancellation/rollback expectations, since this tool places real
outbound calls.
Challenges I faced
The biggest early obstacle was regional: CALL-E's supported recipient regions don't currently include Austria (where my actual Formula Student target sponsors would be) or Ghana (where I'm based). That forced an honest reframe, instead of building something narrowly for my own situation, I generalized it into a tool any student racing team could point at their own sponsor list, and tested it with a consenting contact in a supported region instead.
I also ran into a real privacy consideration I hadn't planned for
upfront: my first draft printed full phone numbers to the terminal and
wrote them unmasked into the results file. Since this project (and its
demo video) is public, I went back and masked phone numbers in both the
terminal output and any data shown publicly, and made sure the real
results.csv which contains a real person's number, never gets
committed to the public repository, only a redacted copy does.
What I learned
Working against a live third-party API/CLI I didn't control, reading its actual tool schemas instead of assuming behavior, and thinking properly about consent and data handling before publishing anything, not just after someone points it out. It also gave me real practice with the fork → branch → PR workflow against someone else's contribution guidelines, which is exactly the kind of experience I've been trying to build toward open-source contribution more broadly.
Log in or sign up for Devpost to join the conversation.