CoolFace
Apppublic

MCP-1st-Birthday/EastSync-AI

sourceHugging Faceupdated 10mo agoView on Hugging Face
0likes
App README

##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.

API / ToolPurposeIntegration Details
LLM Providers (OpenAI, Gemini, Anthropic, HF)Core Reasoning EngineProvides the intelligence for skill-gap assessment, parsing project requirements, and synthesizing final training plans. Accessed via the SmolAgents Model Context Protocol (MCP).
SupabaseStructured Data RepositoryActs as the system's database for internal HR data: storing project details, employee profiles, and persisting the final analysis results and training plans.
Web Search (via DuckDuckGo tool)Training Resource DiscoveryUsed by the Web Search Agent to query for the most relevant and up-to-date online courses and certification programs (e.g., on Coursera, EdX, etc.) based on missing skills.
ElevenLabsUser ExperienceProvides high-quality, streamed text-to-speech narration to walk the user through the live analysis and planning process.

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:

  1. 1.Track 2: MCP in Action (Enterprise)
  2. 2.ElevenLabs Track (We think our use of ElevenLabs is creative and innovative)
  3. 3.Google Gemini Track (We think our use of Google Gemini Flash creative and interesting)
  4. 4.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.

๐Ÿงฉ Agent NameRoleResponsibilities
๐ŸŽฏ Orchestrator Agent (orchestrator_agent.py)The ManagerCoordinates the entire workflow, manages the sequence of operations, and compiles the final comprehensive report and training plan from all agent inputs.
๐Ÿง  Supabase AgentThe Data HandlerInteracts directly with the Supabase database to retrieve project requirements and fetch current employee skill profiles to initiate the gap analysis.
๐Ÿ”Ž Web Search AgentThe ResearcherExecutes real-time web searches for high-quality, relevant training courses (e.g., Data Engineering, SQL, JavaScript) to fill the identified skill gaps.

๐Ÿ’ป 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

  1. 1.Clone the repository:
bash
    git clone <repository-url>
    cd EastSync-AI
  1. 1.Install dependencies using uv:
bash
    uv sync

Then activate the environment:

bash
    source .venv/bin/activate
  1. 1.Set up environment variables:

Create a .env file or export the following environment variables based on your chosen services:

bash
    # 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:

bash
python -m app

The 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

  1. 1.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?"
  1. 1.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:

python
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

VariableDescriptionRequired For
OPENAI_API_KEYOpenAI API keyOpenAI provider
CLAUDE_API_KEYAnthropic API keyClaude provider
GEMINI_API_KEYGoogle Gemini API keyGemini provider
HF_API_KEYHugging Face API tokenHugging Face provider
OPENROUTER_API_KEYOpenRouter API keyOpenRouter provider
SUPABASE_API_KEYSupabase API keyDatabase features
ELEVEN_LABS_API_KEYElevenLabs API keyText-to-speech

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