Skip to content

CMPN-CODECELL/Syrus2026_Code_Yodha

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

54 Commits
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

N.O.V.A. (Networked Onboarding Virtual Assistant)

PS-03: Autonomous Developer Onboarding Agent
Team: Code Yodha Β· Syrus 2026


πŸš€ Overview

N.O.V.A. is an Advanced Agentic Onboarding Platform designed to transform the resource-intensive process of developer onboarding into a fully autonomous experience. Instead of static wikis, new hires interact with an intelligent "HR & Tech Lead" hybrid that personalises their journey based on role, experience, and tech stack β€” while HR managers get a live dashboard to monitor every hire's progress in real time.


✨ Key Features

  • Persona Identification β€” Conversational extraction of role (Backend/Frontend/DevOps), experience level, tech stack, goals, and knowledge gaps.
  • Dynamic Path Generation β€” Personalised onboarding checklists of 8–12 tasks built in real time, with a Gantt-style timeline view (Day 1 / Day 3 / Day 7 / Day 14 / Day 30).
  • Professional Hybrid RAG β€” Retrieval-Augmented Generation pipeline using semantic vector search (ChromaDB) combined with keyword-based reranking for maximum accuracy. Zero hallucination on company policy.
  • Real-Time Chat β€” Live WebSocket chat with Nova, persistent across page navigation using React Context + localStorage.
  • Tool Calling β€” Nova creates Jira tickets and sends Slack welcome messages directly from the conversation.
  • HR Dashboard β€” Live onboarding tracker with progress bars, status badges, completion reports, and a floating AI chatbot for HR managers.
  • Knowledge Base Explorer β€” Searchable company docs with category filtering, Open Ticket modal, and related articles.
  • Autonomous Reporting β€” Automatic generation of structured completion summaries.
  • Dark / Light Mode β€” Persists across sessions via localStorage.

πŸ› οΈ Tech Stack

Component Technology Purpose
Frontend Next.js 14 + TypeScript + Tailwind CSS UI, routing, WebSocket client, dark mode
Backend FastAPI (Python) WebSocket API, REST endpoints, async AI calls
Agent Logic LangGraph State machine β€” Extract Persona β†’ Generate Checklist β†’ Answer
LLM llama-3.3-70b-versatile (via Groq) Reasoning, persona extraction, RAG answers, HR assistant
Vector DB ChromaDB Local persistent storage for secure, contextual documentation
Embeddings SentenceTransformers all-MiniLM-L6-v2 High-quality local text embeddings
RAG Search Hybrid (cosine vector + keyword BM25) Accurate retrieval from KB documents
Mock Tools Python async functions Jira ticket creation, Slack welcome messages

πŸ“ Project Structure

nova-onboarding/
β”œβ”€β”€ backend/
β”‚   β”œβ”€β”€ agent/
β”‚   β”‚   └── graph.py              ← LangGraph brain (3 nodes + routing + tool calling)
β”‚   β”œβ”€β”€ tools/
β”‚   β”‚   β”œβ”€β”€ chunker.py            ← Text chunking with overlap
β”‚   β”‚   β”œβ”€β”€ config.py             ← Logging + env config
β”‚   β”‚   β”œβ”€β”€ email_scheduler.py    ← Async job scheduler for progress emails
β”‚   β”‚   β”œβ”€β”€ email_service.py      ← SMTP integration (Welcome, Weekly, Completion)
β”‚   β”‚   β”œβ”€β”€ embeddings.py         ← SentenceTransformer model loader
β”‚   β”‚   β”œβ”€β”€ ingest.py             ← Full ingestion pipeline runner
β”‚   β”‚   β”œβ”€β”€ loader.py             ← .md document loader
β”‚   β”‚   β”œβ”€β”€ mock_integrations.py  ← Jira + Slack async mock tools
β”‚   β”‚   β”œβ”€β”€ ragtool.py            ← rag_search() entry point
β”‚   β”‚   β”œβ”€β”€ retriever.py          ← Hybrid search (vector + keyword reranking)
β”‚   β”‚   β”œβ”€β”€ test_rag.py           ← RAG functional tests
β”‚   β”‚   β”œβ”€β”€ vector_store.py       ← ChromaDB client (add/search)
β”‚   β”‚   └── verifier.py           ← Onboarding verification logic
β”‚   β”œβ”€β”€ data/
β”‚   β”‚   β”œβ”€β”€ tier1_rag/            ← Public knowledge base (.md files)
β”‚   β”‚   β”œβ”€β”€ tier2_logic/          ← Internal logic (Personas, Checklists, Tickets)
β”‚   β”‚   └── tier3_templates/      ← Structured communication templates
β”‚   β”œβ”€β”€ chroma_db/                ← Auto-generated vector store (gitignored)
β”‚   β”œβ”€β”€ main.py                   ← FastAPI app + /ws/chat + /ws/hr-chat
β”‚   └── requirements.txt
β”‚
└── frontend/
    β”œβ”€β”€ src/
    β”‚   β”œβ”€β”€ app/
    β”‚   β”‚   β”œβ”€β”€ layout.tsx              ← Root layout with ChatProvider
    β”‚   β”‚   β”œβ”€β”€ page.tsx                ← Page redirect (Login/Dashboard)
    β”‚   β”‚   β”œβ”€β”€ login/page.tsx          ← Auth page
    β”‚   β”‚   β”œβ”€β”€ chat/page.tsx           ← Developer chat interface
    β”‚   β”‚   β”œβ”€β”€ my-path/page.tsx        ← Checklist & Gantt timeline
    β”‚   β”‚   β”œβ”€β”€ knowledge-base/page.tsx ← Document explorer & ticket modal
    β”‚   β”‚   β”œβ”€β”€ team/page.tsx           ← Employee directory
    β”‚   β”‚   β”œβ”€β”€ dashboard/page.tsx      ← HR dashboard & floating chatbot
    β”‚   β”‚   └── completion/page.tsx     ← Graduation report
    β”‚   β”œβ”€β”€ components/
    β”‚   β”‚   β”œβ”€β”€ SidebarLayout.tsx       ← Shared navigation & dark mode
    β”‚   β”‚   └── TaskItem.tsx            ← Interactive checklist component
    β”‚   └── context/
    β”‚       β”œβ”€β”€ AuthContext.tsx         ← Session management
    β”‚       └── ChatContext.tsx         ← Global WebSocket state
    β”œβ”€β”€ package.json
    └── next-env.d.ts

βš™οΈ Setup Instructions

Prerequisites


1. Clone the Repository

git clone https://github.com/CMPN-CODECELL/Syrus2026_Code_Yodha.git
cd Syrus2026_Code_Yodha/nova-onboarding

2. Backend Installation

cd backend

# Create virtual environment
python -m venv .venv

# Activate β€” Windows PowerShell:
.venv\Scripts\Activate.ps1

# Activate β€” Mac/Linux:
source .venv/bin/activate

Windows only β€” if you get an execution policy error:

Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser
.venv\Scripts\Activate.ps1
# Install dependencies
pip install -r requirements.txt

3. Configuration

Create a .env file inside backend/:

GROQ_API_KEY=your-groq-api-key-here
MODEL_LLM=llama-3.3-70b-versatile
MODEL_NAME=all-MiniLM-L6-v2
DB_PATH=chroma_db
DATA_PATH=data
LOG_LEVEL=INFO
CHUNK_SIZE=400
CHUNK_OVERLAP=50

# Optional integrations
JIRA_BASE_URL=https://your-org.atlassian.net
JIRA_EMAIL=your-email@company.com
JIRA_API_TOKEN=your-jira-token
JIRA_PROJECT_KEY=FLOW
SLACK_BOT_TOKEN=xoxb-your-slack-bot-token

# Email configuration
SMTP_EMAIL=your-email@gmail.com
SMTP_PASSWORD=your-app-password
HR_EMAIL=hr-target-email@company.com

Never commit .env β€” it is already in .gitignore.


4. RAG Pipeline β€” Ingest Knowledge Base

Run once before starting the server. Loads all .md files from data/ into ChromaDB.

# Windows PowerShell:
$env:PYTHONPATH = "."
python -m tools.ingest

# Mac/Linux:
export PYTHONPATH=.
python -m tools.ingest

5. Running the Application

Start Backend Server

# Windows PowerShell:
$env:PYTHONPATH = "."
python main.py

# Mac/Linux:
export PYTHONPATH=.
python main.py

Server starts at http://localhost:8000

Start Frontend

Open a new terminal:

cd nova-onboarding/frontend
npm install
npm run dev

Frontend starts at http://localhost:3000


πŸ€– Verification

Run these checks to confirm every layer works:

  1. RAG Pipeline Test: python -m tools.test_rag
  2. Smoke Test Agent: python agent/graph.py
  3. API Health: Access http://localhost:8000/ or http://localhost:8000/docs

πŸ› Troubleshooting

Error Fix
ModuleNotFoundError: No module named 'tools' Run with PYTHONPATH=.
ExecutionPolicy error Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser
429 Too Many Requests Rate limit β€” wait 1 minute.
Chat clears on navigation Ensure layout.tsx wraps app with <ChatProvider>.

πŸ‘₯ Team β€” Code Yodha Β· Syrus 2026

Role Responsibility
AI & Agent Architect LangGraph brain, state machine, prompt engineering
RAG Engineer Hybrid search, ChromaDB, embeddings, ingestion
Backend Engineer FastAPI, WebSocket, integrations, email services
Frontend Engineer Next.js UI, real-time chat, HR dashboard

About

Repository for Code Yodha for Syrus-2026

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors