A long-running crawler that fetches job postings from Greenhouse and Rippling boards, summarizes them via any OpenAI-compatible LLM endpoint (using Pydantic AI), and posts new listings through an Apprise API endpoint. Valkey tracks posted jobs to prevent duplicates. A small FastAPI status server exposes runtime info.
cp .env.example .env
cp config.toml.example config.toml
# Edit both
docker compose up --buildFor a guided walkthrough, see Get your first job posting delivered.
Full documentation is in docs/, organized in Diátaxis form:
- Tutorials — learn by doing.
- How-to guides — solve a specific problem.
- Reference — exact details (env vars, config, API, CLI).
- Explanation — design rationale.
uv run pytest