MCP-1st-Birthday/EastSync-AI
##Hackathon submission details ---
๐๏ธ Data Sources & External APIs
Our platform relies on a variety of external services to process data, reason, and generate the final output.
video demo
https://res.cloudinary.com/dnvqeopvd/video/upload/v1764442409/EastSyncAIdemo_lgt5nm.mp4
All narration on the demo is done using ElevenLabs. The first 13 seconds intro is a pre-recorded audio, while the rest of it is streamed in real-time as the app is running. This is gone by using Gemini 2.5 Flash to convert live logs into narration, which is fed into ElevenLabs to produce the audio stream, played by a Gradio Audio component.
CV matching https://res.cloudinary.com/dhi2fghp5/video/upload/v1764522431/screen1764522130412qxi7gx.mp4
Social Media Post:
https://www.linkedin.com/posts/stanislav-sava-738760b5_what-started-as-a-simple-lets-try-mcp-for-activity-7400608575313588224-xTUQ
###Tracks we would like to compete in:
- Track 2: MCP in Action (Enterprise)
- ElevenLabs Track (We think our use of ElevenLabs is creative and innovative)
- Google Gemini Track (We think our use of Google Gemini Flash creative and interesting)
- OpenAI Track ---
๐ EastSync-AI โ HR Skill Gap Analysis and Training Planner
Welcome to EastSync-AI, an intelligent platform built with SmolAgents for the Hugging Face GenAI Agents & MCP Hackathon! This project is a Multi-Agent System designed to solve a critical HR challenge: automatically identifying skill deficiencies across an organization and generating personalized, actionable training roadmaps to close those gaps.
The system expertly orchestrates calls between multiple LLM providers (via the Model Context Protocol), a knowledge base (Supabase), and web search tools to deliver comprehensive readiness reports.
๐ Project Overview
EastSync-AI operates by comparing required project skills against the current skill sets of assigned team members. It uses a dynamic, multi-agent workflow to perform complex data analysis and then synthesizes the findings into a clear, visual capability report and training plan.
Core Features
- Skill Gap Analysis: Automatically quantifies and identifies skill gaps between employee profiles and project technical requirements.
- Training Plan Generation: Creates personalized, time-bound training plans with recommended online courses and materials found via real-time web search.
- Multi-Provider LLM Support: Supports flexible configuration across OpenAI, Anthropic, Google Gemini, Hugging Face, and OpenRouter models.
- Database Integration: Supabase is used for securely storing and retrieving employee, project, and analysis data.
- Dynamic Narration: Integrates ElevenLabs text-to-speech for an engaging, narrated application experience.
๐ค Agent Logic and Responsibilities
The system is powered by a coordinated team of specialized SmolAgents, each responsible for a distinct part of the analysis and planning pipeline.
๐ป Tech Stack
Core Technologies
- Python 3.11.6+: Programming language
- SmolAgents: Multi-agent framework for orchestration
- Gradio+: Web UI framework
- Pydantic 2.0+: Data validation and models
- Supabase: Database and backend services
- ElevenLabs: Text-to-speech service
LLM Providers Supported
- OpenAI (GPT models)
- Anthropic Claude
- Google Gemini
- Hugging Face Inference API
- OpenRouter
Package Management
- uv: Fast Python package installer and resolver
โ๏ธ Prerequisites and Installation
Prerequisites
- Python 3.13.5 or higher
- uv package manager
- API keys for your chosen LLM provider(s)
- Supabase API Key
- (Optional) ElevenLabs API key
Installation Steps
- Clone the repository:
git clone <repository-url>
cd EastSync-AI- Install dependencies using uv:
uv syncThen activate the environment:
source .venv/bin/activate- Set up environment variables:
Create a .env file or export the following environment variables based on your chosen services:
# For LLM Providers (Choose at least one)
export OPENAI_API_KEY="your-openai-api-key"
export CLAUDE_API_KEY="your-claude-api-key"
export GEMINI_API_KEY="your-gemini-api-key"
export HF_API_KEY="your-huggingface-api-key"
export OPENROUTER_API_KEY="your-openrouter-api-key"
# For Database and Narration (Optional)
export SUPABASE_API_KEY="your-supabase-api-key"
export ELEVEN_LABS_API_KEY="your-elevenlabs-api-key"Usage
Starting the Web Application
Run the Gradio web interface:
python -m appThe application will start a local web server (typically at http://127.0.0.1:7860). Open this URL in your browser to access the interface.
Using the Application
- Enter your query in the text box, for example:
- "Analyze project 2 and suggest training plans for John Doe and Daniel Tatar."
- "What skills are missing for the AI project team?"
- Click "Analyze and Plan" to generate the skill-gap analysis and training recommendations.
Configuring the LLM Provider
Edit app.py to change the LLM provider and model:
from llm_provider import LLMProvider, LLMProviderType
# Example: Using OpenAI
llm_provider = LLMProvider(LLMProviderType.OPENAI, LLMModelType.openai.gpt_5_1).get_model()
# Example: Using Hugging Face
llm_provider = LLMProvider(LLMProviderType.HF, LLMModelType.hf.meta_llama_3_3_70b_instruct).get_model()
#Example: Using Gemini
llm_provider = LLMProvider(LLMProviderType.GEMINI, LLMModelType.gemini.gemini_2_5_pro).get_model()
Code Structure
- `llm_provider.py`: Handles LLM provider abstraction, supporting multiple providers through a unified interface
- `models.py`: Defines Pydantic models for employees, projects, training plans, and analysis results
- `agents/orchestrator_agent.py`: Main orchestrator agent that coordinates the analysis workflow
- `app.py`: Gradio web interface entry point
Environment Variables
License
See LICENSE file for details.
๐ฅ Team
Team Name: EastSync
Team Members:
- Stanislav Sava - @StanSava - Machine Learning & Frontend Engineer
- Dragos Dit - @pixel-pirat3 - Mobile Engineer
- Daniel Tatar - @apxutektor - Java Engineer
