Skip to content
Teenage Engineering OB-4

Espresso Labs

Espresso Labs is building Gary, a voice-first digital assistant that helps busy people close loops faster by automatically tracking their obligations

Core trick

A voice agent calls tools that pull Slack, GitHub, and email context, then logs open obligations to a task list.

Tags

Built with

elevenlabslovablemake.comopenaipostgresqlpythonrailwayreactsupabase

Description

Inspiration How much time is spent doing the work around the work? Most of us are plugged into so many incoming channels these days, like github, slack, email etc. Our time is spent reviewing and responding to messages instead of on the tasks that deeply energise us. Our mission is to help every one of us have the time to focus on the work they truly enjoy. We are aiming to do this by giving everyone access to an intelligent personal secretary. What it does We focused our initial efforts on building a highly personalised intelligent secretary for software developers. Imagine walking into work and having a consolidated view of all that's on your agenda presented to you in a pleasing way instead of being overwhelmed scrambling to catchup on yesterday's events or worse if you've been on PTO. The secretary will take information from all different inbound channels like slack, github, email and more, and provide an update via conversation. It can also take and note actions for you to handle at a later date, integrating with calendar, todoist and more for this. How we built it Developed a backend that could retrieve relevant context from all the various channels the user is plugged into. Used ElevenLab's conversational agent to manage the conversation flow with the user. We gave it access to tools to interact with the backend and third-party websites. Used Make.com to create webhooks that could speed up integration with third-party websites. We used this to plug into OpenAI to help our secretary review and summarise github PRs. Developed a sophisticated dashboard UI with React that consolidates all the information the user needs to manage their tasks and excel at their job. This collects information from the call with their secretary and the other inbound sources. Challenges we ran into We had challenges fulfilling our broad vision. So we decided to focus on software developers to start We had challenges controlling the flow of the conversation with the agent. This required careful design of the prompts. We had challenges integrating with various external tools in the given time. We decided to use of Make to help us orchestrate flows with third-party tools. Accomplishments that we're proud of An intuitive and comprehensive dashboard that connects information from the conversation between the secretary and captures actions to be taken. The user can also take actions from here. An awesome conversation flow which already feels like it would 10x the enjoyment and productivity of the everyday software engineer. Coming together as a team of strangers and putting out a great product in such little time. Big kudos team! What we learned We've levelled up our prompt engineering skills significantly How to highly leverage the conversation UI and tool use How to use a host of new tools and tie them altogether What's next for Espresso Labs The opportunities are many. Wait and see.
Daspy11/a16z-11labs-hackathon★ 34 forksTypeScriptCreated Feb 22, 2025 · last push Feb 24, 2025

README excerpt

# Espresso Labs

An integrated voice agent who uses work collaboration tools to help engineering managers assemble and maintain a list of their obligations. We won 2nd place at the a16z x ElevenLabs hackathon in London from 22-23 Feb 2025, and won a high-end Teenage Engineering OB-4 portable speaker each.

## Demo

[Video demo](https://youtu.be/1B6-rTxxp2s)

![screely-1740418553100](https://github.com/user-attachments/assets/950a030f-eeb6-43f5-9702-d5954032a6f1)

![screely-1740418988875](https://github.com/user-attachments/assets/bcd95dea-9377-4cbd-a867-09b0724a576f)


## Code structure

- The frontend uses Next.js. To run it, `cd frontend`, then `npm i`, then `npm run dev`
- The backend uses Flask and is configured with docker. To run it, you'll first need to create a .env in the backend folder containing [these environment variables](https://github.com/Daspy11/a16z-11labs-hackathon/blob/main/backend/config.py). To start it, run `cd backend` then `docker-compose up`

The voice agent configuration and prompting we used has been lost to the sands and constraints of time.

## Authors

- Stuart Johnson
- Ali Hussain
- Leo Camacho
- John Lingi

![image](https://github.com/user-attachments/assets/c5679a3b-0171-418e-8a93-09fa314c85c9)

Team