EducatAI
An intelligent career mentorship platform that leverages AI agents to provide personalized guidance, job recommendations, and learning resources for career development.
An intelligent career mentorship platform that leverages AI agents to provide personalized guidance, job recommendations, and learning resources for career development.
An intelligent career mentorship platform that leverages AI agents to provide personalized guidance, job recommendations, and learning resources for career development.
Check out the live application here: EducatAI
Backend API docs: API Docs
EducatAI is a full-stack career mentorship platform that combines the power of AI agents, large language models, and real-time data to provide personalized career guidance. The platform helps users:

Backend:
text-embedding-004) - Semantic search and memoryFrontend:
AI & ML:
Clone the repository
git clone https://github.com/agspades/educat-anokha.git
cd educat-anokha/server
Configure Environment
cp .env.example .env
Edit .env with your API keys (Groq, Google, JSearch).
Note: Docker Compose will automatically handle the database connection.
Run with Docker Compose
docker compose up -d --build
The API will be available at http://localhost:8085 (exposed port)
http://localhost:8085/docsNote: The internal container port is 8000, mapped to 8085 on host to avoid conflicts.
The API will be available at http://localhost:8000
http://localhost:8000/docshttp://localhost:8000/redoccd ../client
bun install
.env file in client/ directory:VITE_APPWRITE_ENDPOINT=https://cloud.appwrite.io/v1
VITE_APPWRITE_PROJECT_ID=your_project_id
VITE_APPWRITE_BUCKET_ID=your_storage_bucket_id
VITE_API_BASE_URL=http://localhost:8085
(Note: VITE_API_BASE_URL should point to 8085 if using Docker backend)
bun dev
The frontend will be available at http://localhost:5173
GET / - Health check and API versionPOST /agent/message - Send message to AI career mentorGET /agent/memory/summary - Get user's memory summaryGET /agent/progress - Get weekly progress insightsPOST /agent/resume/parse - Upload and parse resume (PDF/DOCX)POST /agent/jobs/recommend - Get personalized job recommendations{
"user_id": "user_123",
"limit": 10,
"location": "Remote",
"employment_type": "FULLTIME"
}
POST /agent/market/trends - Analyze market trends for target role{
"user_id": "user_123"
}
POST /agent/learning/resources - Get personalized learning recommendations{
"user_id": "user_123",
"topic": "Python Backend Development",
"difficulty": "intermediate"
}
POST /agent/roadmap/regenerate - Generate new learning roadmapPOST /agent/milestone/complete - Mark milestone as completedPOST /agent/job/application - Log job application outcome# Place test PDF in test-docs/ directory
cd server
python -c "
from resume_parser import resume_parser
result = resume_parser.parse_resume('test-docs/sample_resume.pdf')
print(result)
"
# Direct test of JSearch API integration
cd server
python test_jsearch.py
# Using curl
curl -X POST http://localhost:8000/agent/jobs/recommend \
-H "Content-Type: application/json" \
-d '{
"user_id": "test_user",
"limit": 5
}'
educat-anokha/
โโโ client/ # React frontend
โ โโโ src/
โ โ โโโ pages/ # Page components
โ โ โโโ auth-components/ # Authentication UI
โ โ โโโ landing-page-components/
โ โ โโโ profile-components/
โ โ โโโ roadmap-components/
โ โ โโโ contexts/ # React contexts
โ โ โโโ hooks/ # Custom hooks
โ โ โโโ lib/ # Utilities (Appwrite)
โ โ โโโ main.tsx # Entry point
โ โโโ package.json
โ โโโ vite.config.ts
โ
โโโ server/ # FastAPI backend
โ โโโ main.py # FastAPI app & endpoints (11 endpoints)
โ โโโ database.py # SQLAlchemy models & setup
โ โโโ config.py # Pydantic settings
โ โโโ schemas.py # Request/response models
โ โโโ services.py # CareerMentorService (LangGraph agent)
โ โโโ resume_parser.py # Resume parsing with Groq/Llama 3.3
โ โโโ job_recommender.py # Job matching with JSearch + Gemini Embeddings
โ โโโ learning_resources.py # Learning resource recommendations
โ โโโ requirements.txt # Python dependencies
โ โโโ .env.example # Environment template
โ โโโ test_jsearch.py # JSearch API test script
โ โโโ docs/
โ โโโ JSEARCH_SETUP.md # JSearch API setup guide
โ
โโโ README.md # This file
.env: GROQ_API_KEY=gsk_....env: GOOGLE_API_KEY=AIza....env:JSEARCH_API_KEY=your_key_here
JSEARCH_API_HOST=jsearch.p.rapidapi.com
Detailed setup: server/docs/JSEARCH_SETUP.md
Key settings in server/config.py:
# Database
DATABASE_URL = "postgresql://..."
# AI Models
GROQ_API_KEY = "gsk_..."
GROQ_MODEL = "llama-3.3-70b-versatile"
GOOGLE_API_KEY = "AIza..." # For Embeddings
# JSearch API
JSEARCH_API_KEY = "..."
JSEARCH_API_HOST = "jsearch.p.rapidapi.com"
# Application
APP_NAME = "EducatAI Career Mentor"
LOG_LEVEL = "INFO"
sudo systemctl status postgresql)psql -l | grep educat_db)psql educat_db -c "\dx")pip install -r requirements.txtContributions are welcome! Please feel free to submit a Pull Request.
git checkout -b feature/AmazingFeature)git commit -m 'Add some AmazingFeature')git push origin feature/AmazingFeature)This project is licensed under the MIT License - see the LICENSE file for details.
For questions or issues:
Built with โค๏ธ using LangGraph, FastAPI, and React