A Python automation tool for smart job allocation and deadline management using FastAPI, Celery, and AI-powered profile matching.
Task-bot is a Fast API + Celery-based automation system that assigns tasks to the most suitable talent using AI-driven profile matching and handles deadlines, extension requests, and task reassignments intelligently.
- 🔗 Smart Job Allocation: Assigns jobs to the best-matching member using cosine similarity between job descriptions and member profile embeddings.
- ⏰ 24-Hour Deadlines: Automatically gives members a fixed 24-hour window to complete allocated jobs.
- 📝 Prolong Requests: Members can request deadline extensions (prolongations) with a reason.
- 🤖 AI Review: Uses AI logic to evaluate prolong requests based on the reason and member pool.
- 🔄 Auto-Reallocation: Automatically releases jobs and reallocates if deadlines are missed or prolong requests are rejected.
- ✅ Completion Tracking: Jobs are marked as completed upon submission.
- Python 3.x
- FastAPI
- Celery (with Redis)
- SQLAlchemy
- Cron scheduling (via Celery Beat)
Talent-Cron-LD/
├── app/
│ ├── __init__.py
│ ├── main.py
│ ├── models.py
│ ├── schemas.py
│ ├── db.py
│ ├── utils.py
│ └── mock_data.py
├── celery_worker.py
├── requirements.txt
├── run.sh
└── Readme.md
- Install dependencies
pip install -r requirements.txt
- Start Redis
docker run -d -p 6379:6379 redis
- Start FastAPI
uvicorn app.main:app --reload
- Start Celery worker
celery -A celery_worker.app worker --loglevel=info
- Start Celery beat
celery -A celery_worker.app beat --loglevel=info
POST /jobs— Create a new jobGET /jobs— List all jobsPOST /complete-job— Mark a job as completedPATCH /allocations/{allocation_id}/prolong— Request a deadline prolongationGET /allocations— List all allocationsGET /allocations/{allocation_id}— Get allocation detailsGET /members— List all membersGET /mock-expired-allocation— Create a mock allocation with a past deadline
- When a job is created, it is automatically allocated to the best-matching member (using AI profile matching) by a background Celery task.
- Members can request a deadline prolongation for their allocation; prolong requests are evaluated by an AI logic in the background.
- If a job is not completed in time and no prolongation is granted, it is released and can be reallocated.
- All naming and endpoint conventions are original to this project.
- For demonstration, mock data and embeddings are used.
- The project is designed for easy extension and integration with real AI models and production data.
Talent-Cron-LD — Smart, AI-driven job allocation and deadline management for teams!
# Clone the repo
# Install dependencies
pip install -r requirements.txt
# Start Redis (or RabbitMQ)
docker run -d -p 6379:6379 redis
# Start Celery worker
celery -A app worker --loglevel=info
# Start Celery beat (for scheduled task checking)
celery -A app beat --loglevel=info