Inspiration

When our supervisors send us tasks, a lot of time is spent figuring out how to get started: what to do research on, how to organize the project, and what checklist of items need to be completed to accomplish the objectives. The advent of background agents encouraged us to explore novel applications where the monotonous task of setup and planning for the day would be done for you—before you even open your computer.

What it does

Kettle AI autonomously monitors and fetches slack messages from your manager, generating a list of tasks categorized into multiple types: research (opening videos, articles, and papers), project setup (folder creation), dependency installation, and implementation (as much code that can be automated for the task). When you open your computer, simply go on the Kettle web app to check all the tasks and setup that we've planned in the background. We give ultimate development power to the user, letting them choose to approve or reject different tasks, with approved tasks being assigned to Kettle AI to complete for you. Whether you want an AI assistant to complete your tasks for you or to just need a boilerplate setup and some guidance on what to do, you choose how Kettle helps you.

Just open your computer and start building - no friction, hassle, or setup required!

How we built it

We used the Slack API to periodically fetch messages from a specified channel. These messages are processed and fed into the Claude API, which generates a task list in a JSON file—annotated with the categories from above. Our Flask backend reads the task list and presents them in an intuitive UI to the React frontend. Once the user checks the tasks they want to see executed, they simply select the preprepared tasks and hit execute, which then sends back the selected tasks to the Kettle backend accomplishing several different functionalities, including either returning resources for research (such as papers, articles, blogs, and videos) with Gemini and Perplexity or creating an executable script with Claude to create folders, install dependencies, and write code (complete with a venv with necessary installations).

Challenges we ran into

One main challenge we ran into was making sure the user wasn't making any mistakes when choosing their desired tasks. For example, if they had rejected Task A but accepted Task B, and Task B depended on Task A, then this would increase the risk of faulty outputs. Therefore, we prompted Claude again as an intermediary step to generate a "dependency matrix," which tells us which tasks are dependent on each other and when to warn users if a task should probably not be rejected.

Accomplishments that we're proud of

We are most proud of the effective workflow we've designed, which involves autonomous Slack message monitoring, generating useful tasks, allowing the user to have control over selecting the most appropriate preprepared tasks, and execute them directly on your system. While there are many avenues of growth for our existing system, we believe we've taken a massive step forward in helping streamline the productivity process with AI while keeping humans in ultimate control of how they want to build.

What we learned

We learned how involved prompt engineering could be, and how specific details could change the quality of the output dramatically. We also learned it was important to reason from the standpoint of the user when making design decisions, such as in deciding what components of the workflow the user should have control over and which ones should be completely left to our system.

What's next for Kettle AI

We aim to improve the capabilities of Kettle, including more complex coding tasks, more generalized agentic functionality for report creation and calendar event creation, and integration with Gmail, iMessage, Microsoft Teams, and other communications platforms.

Built With

Share this project:

Updates