Inspiration
There's a wealth of data about solar energy available to anyone. Yet, still, solar companies throughout the country require humans to answer basic questions, most of which they are much slower at than an AI agent. This agent solves that problem—all sorts of simple questions about solar can be delegated to an agent to free up resources for the company to innovate and prioritize the customer experience.
What it does
sunAgent is a voice-first residential solar salesperson. It guides a potential customer for any solar company through the most important details of a new solar install, and then hands these customers off to a local installer.
How we built it
I used ElevenLabs Agents as the core of the project. It handles the hybrid voice-text interaction with the agent's user. I built multiple microservices to handle individual search queries that the agent uses to find necessary information without anything extra. These services are all deployed on Google Cloud Run and scaffolded with Terraform. One of the services, a research agent, additionally relies on Gemini through GCP Vertex AI.
Challenges we ran into
Integrating MCP servers which require authentication into ElevenLabs Agents was challenging. It was difficult to figure out how I was going to reasonably read solar potential data without an enterprise-only API, until I discovered cloud-optimized GeoTIFFs (which can be read in small chunks, without requiring the entire file to be on the filesystem),
Accomplishments that we're proud of
I've built an agent which can save a lot of human time, allowing initial questions by a potential solar customer to be answered just as precisely—and faster—than a human could.
What we learned
This was my first experience with ElevenLabs, and I learned a lot about asynchronous tools. Initially, I wanted nearly every one of the tools used in this project to be asynchronous to improve conversation fluidity, but I discovered that the agent would cut itself off too much when short tasks are made asynchronous.
What's next for sunAgent
sunAgent can be extended to hand off to a real solar installation company, providing details about the customer's interaction with it (e.g. desired installation size) to the installer to save more time in giving a detailed quote.
Built With
- cloud-run
- docker
- eia-api
- elevenlabs
- fastapi
- gemini-api
- geotiff
- google-cloud
- google-cloud-build
- mcp
- orthogonal
- python
- terraform
Log in or sign up for Devpost to join the conversation.