Spaces:
Running
Running
title: HackBuddyAI | |
emoji: π§βπ€βπ§ | |
colorFrom: purple | |
colorTo: pink | |
sdk: gradio | |
sdk_version: 5.34.2 | |
app_file: app.py | |
pinned: false | |
license: apache-2.0 | |
short_description: Instantly match hackathon participants into ideal teams! | |
# π€ AI-Powered HackBuddyAI | |
This project is a web application that helps hackathon organizers automatically form balanced teams from a list of participants. It uses a `TinyCodeAgent` to analyze participant skills and goals, creating optimal teams based on criteria defined by the organizer. | |
The application features a two-tab interface: | |
1. **Participant Registration**: A form for participants to submit their profile, including skills, background, and what they want to achieve during the hackathon. | |
2. **Organizer Dashboard**: A view for the organizer to see all registered participants, define matching criteria, and run the AI-powered team formation process. | |
## Tech Stack | |
- **Backend**: Python | |
- **AI Agent Framework**: `TinyCodeAgent` | |
- **Web UI**: Gradio | |
- **Data Handling**: Pandas | |
- **Database**: SQLite | |
--- | |
## Setup and Installation | |
### 1. Prerequisites | |
- Python 3.8+ | |
- An OpenAI API key | |
### 2. Installation | |
1. **Clone the repository** (if applicable) or ensure you have the project files in a directory. | |
2. **Navigate to the project directory**: | |
```bash | |
cd path/to/project | |
``` | |
3. **Create a virtual environment** (recommended): | |
```bash | |
python -m venv venv | |
source venv/bin/activate # On Windows, use `venv\Scripts\activate` | |
``` | |
4. **Install dependencies**: | |
The project relies on the `tinyagent` library. Assuming it is available in your environment, install the other required packages: | |
```bash | |
pip install -r hackathon_organizer/requirements.txt | |
``` | |
### 3. Configure Environment Variables | |
You must set your OpenAI API key as an environment variable. The application will not run without it. | |
- **On macOS/Linux**: | |
```bash | |
export OPENAI_API_KEY="your_api_key_here" | |
``` | |
- **On Windows (Command Prompt)**: | |
```bash | |
set OPENAI_API_KEY="your_api_key_here" | |
``` | |
--- | |
## π Running the Application | |
Once the setup is complete, you can launch the Gradio web application using one of the following methods: | |
### Method 1: Using the main script (recommended) | |
```bash | |
python main.py | |
``` | |
This script handles all the necessary path configurations and launches the application. | |
### Method 2: Running app.py directly | |
```bash | |
cd hackathon_organizer | |
python app.py | |
``` | |
Either method will start a local web server, and you can access the application at the URL provided in the console (usually `http://127.0.0.1:7860`). | |
The application will create a `hackathon_participants.db` file in the working directory to store the participant data. | |
--- | |
## π§ͺ Running Tests | |
The project includes unit tests for the database and the agent setup logic. The tests are located in the `tests/` directory. | |
To run the tests: | |
```bash | |
# From the project root directory | |
cd hackathon_organizer | |
python -m unittest discover tests | |
``` | |
The tests are designed to run without needing an active internet connection or a valid API key. They use mocks to simulate agent behavior and an in-memory database for testing database operations. |