Project Info
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 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
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.
This repository has no readme, or GitHub could not be reached.
Analysis
View
Metric
- 2
Figures cover GitHub contributors during the hackathon window. A co-authored commit counts in full for each author, so per-member totals add up to more than the whole-team figures.
Technology
- AnthropicIn code
- CSSIn code
- FlaskIn code
- Hugging FaceIn code
- JavaScriptIn code
- Next.jsIn code
- PythonIn code
- PyTorchIn code
- ReactIn code
- Tailwind CSSIn code
- TypeScriptIn code
- Google GeminiClaimed
11 of 12 appear in the indexed code. 1 claimed on Devpost could not be matched to code, which may simply mean the tool leaves no trace in the repository.
AI coding agents
No AI coding agent signals were found in this repository.
Detected from committed agent config files and commit authorship. Absence of a signal is not proof an agent was unused.
Codebase size
Source size
206 KB
Source files
32
Counts recognized source files only; vendored directories, binaries and lockfiles are excluded, so this is smaller than the repository on disk.
Repository
rishabh-athreya-aws/Kettle
50 files · 421 KB · @ 3f5ae94
Structure
Interface
8 files · 16%Screens, components and styles rendered to the user.
API & routing
1 file · 2%Request entry points: routes, handlers and controllers.
Application logic
18 files · 36%Domain rules, services and shared utilities.
Supporting
Layers are inferred from where files sit in the tree, not from reading the code. A project that names its directories unconventionally will read oddly here — open the file browser to check anything the diagram implies.
Languages
- Python78%
- TypeScript15%
- Markdown2%
- Shell2%
- CSS1%
- JavaScript1%
Share of indexed source by file size. Binary and vendored files are excluded.
Dependencies
requirements.txt
pypi · 44- anthropic
- blinker
- certifi
- charset-normalizer
- click
- filelock
- Flask
- Flask-CORS
- fsspec
- google-generativeai
- hf-xet
- huggingface-hub
- idna
- itsdangerous
- Jinja2
- joblib
- MarkupSafe
- mpmath
- +26 more
web_app/package.json
npm · 16- autoprefixer
- clsx
- date-fns
- framer-motion
- lucide-react
- next
- postcss
- react
- react-dom
- tailwindcss
- +6 more
web_app/api/requirements.txt
pypi · 3- Flask
- Flask-CORS
- Werkzeug
Declared in the repository’s manifests at the indexed commit. A declared package is not proof it is used, and runtime dependencies are listed first.
This project’s features have not been analysed yet.
Export this project's context (description, README, evidence, key source files) to chat with an AI agent elsewhere.