Inspiration
I make promises all day: "I'll send you the report on Friday," "remind me to call the landlord tomorrow." By evening half of them are gone. Bee already hears those conversations, so I wanted to turn what I say out loud into things I actually follow through on.
What it does
Talk-to-Task reads my real conversations captured by Bee (I recorded on my Apple Watch) and:
- finds the commitments I made, and ignores promises other people made
- turns "Friday" or "tomorrow morning" into real due dates, with a confidence score
- drafts a short follow-up message for each task, with one-click WhatsApp and email links
- exports tasks to my calendar (.ics) and writes them back into my Bee todos
- lets me edit a task or remove a wrong one, and keeps tasks between runs, with a "carried over" count for promises from earlier days
How I built it
- The Bee CLI (
bee now --json) returns recent conversations with full, timestamped transcripts. - Only the transcript text goes to Claude Sonnet 4.6 on Amazon Bedrock (Converse API), which returns structured JSON: task, person, due date, confidence, and draft message. Location and other metadata are dropped.
- A Streamlit page shows a morning summary grouped by Overdue, Today, Tomorrow, and Later.
- Writing a task back into Bee uses the CLI's
bee todoscommand. - Built in Python with
boto3, and open source under the MIT license.
Challenges
- Bee sometimes labeled my own voice "Unknown," so my first run missed new tasks. I fixed it by treating solo unidentified speech as me and telling the model about it.
- Speech-to-text mangled names (Priya became "Bria" and "Tria"). A known-contacts list fixed most of these.
- Bee's transcript sometimes ended a sentence mid-word ("...call the landl"), the JSON listed utterances out of time order, and the same sentence appeared under two speaker labels. I sorted by timestamp and let the model use context to fill gaps.
- Access to the newest Claude model was denied on my AWS account, so I used Sonnet 4.6 through a global inference profile.
- The Bee CLI docs I found disagreed on how to create a todo, so the app supports both forms.
What I learned
Small things decide whether a voice tool is usable: speaker labels, name accuracy, and clear dates. Showing a confidence score and letting the user edit a task made the AI's mistakes easy to catch.
What's next
A morning summary of what I promised yesterday, syncing completed tasks back from Bee, and better handling of promises with no date.
Everything runs locally except the call to Amazon Bedrock. I only recorded myself, and the names in the demo are examples.
Built With
- amazon-bedrock
- amazon-web-services
- bee
- bee-cli
- boto3
- claude
- git
- github
- icalendar
- node.js
- python
- streamlit
Log in or sign up for Devpost to join the conversation.