Usage
CLI Mode
Run the job search agent from the command line:
uv run .\src\main.py
Output:
2026-04-25 17:15:12 | INFO | job_agent | Job Agent v1.1.0 starting | Mode: development
2026-04-25 17:15:12 | INFO | job_agent | Current applications: 0 total | Applied: 0 | Pending: 0
2026-04-25 17:15:12 | INFO | job_agent | Searching for jobs...
2026-04-25 17:15:19 | INFO | job_agent | Found 80 jobs
2026-04-25 17:15:19 | INFO | job_agent | New jobs (not yet applied): 80
2026-04-25 17:15:19 | INFO | job_agent | Sending notifications...
2026-04-25 17:15:19 | INFO | job_agent | Job search complete!
HTTP Server Mode
Run as a REST API server:
uv run .\src\server.py
The server will start on http://localhost:8080 by default.
API Endpoints
Endpoint |
Method |
Description |
|---|---|---|
|
GET |
Health check |
|
GET |
Detailed health status |
|
GET |
Search and return jobs |
|
GET |
List all applications |
|
POST |
Add new application |
|
GET |
Get application status |
|
PATCH |
Update application status |
Example API Usage
# Get jobs
curl http://localhost:8080/jobs
# Get applications
curl http://localhost:8080/applications
# Add application
curl -X POST http://localhost:8080/applications \
-H "Content-Type: application/json" \
-d '{"title":"Software Engineer","company":"Acme","location":"Remote","url":"https://example.com/job","source":"remote-ok"}'
Scheduled Runs
To run the job search on a schedule, use cron (Linux/macOS) or Task Scheduler (Windows).
Linux/macOS (cron):
# Run daily at 9 AM
0 9 * * * cd /path/to/talent-acquisition-agent && uv run .\src\main.py
Windows (Task Scheduler):
schtasks /create /tn "Job Agent" /tr "uv run .\src\main.py" /sc daily /st 09:00
Application Tracking
Applications are stored in data/applications.json:
[
{
"title": "Software Engineer",
"company": "Acme Corp",
"location": "Remote",
"url": "https://example.com/job/123",
"source": "remote-ok",
"applied_date": "2026-04-25T10:00:00",
"status": "applied",
"notes": ""
}
]
Export to CSV:
from src.modules.tracker import ApplicationTracker
tracker = ApplicationTracker()
csv_path = tracker.export_csv()
print(f"Exported to: {csv_path}")
Kubernetes Deployment
The project supports deployment to Kubernetes via Helm and Kustomize.
Using Helm:
helm install job-agent ./helm/job-agent --namespace job-agent --create-namespace
Using Kustomize:
kubectl apply -k k8s/overlays/prod
For more details, see the documentation in the k8s/ directory.