Real-time remote job aggregator from multiple public APIs
- π Multi-source aggregation β Remotive, Arbeitnow, RemoteOK
- π Real-time search β Filter by title, company, tags, or description
- π Category filtering β Software dev, data science, AI/ML, design, etc.
- π·οΈ Source badges β See where each job was sourced from
- π Save/bookmark jobs β Persisted in localStorage
- π Dark / Light theme β Toggle with preference saved
- π₯ Export to CSV β Download filtered results
- π Job detail modal β Click any card to view full details
- π Pagination β Load more without refreshing
- π Sorting β By date, title, or company
- β‘ Backend caching β 5-minute LRU cache to reduce API calls
- π§ͺ Test suite β Unit tests for helpers and API endpoints
- π CI pipeline β Automated tests on push (Python 3.9β3.12)
| Layer | Technology |
|---|---|
| Backend | FastAPI (Python) |
| Frontend | Vanilla HTML/CSS/JS |
| HTTP | httpx (async) |
| Testing | pytest + pytest-asyncio |
| CI/CD | GitHub Actions |
| Styling | Custom CSS (dark + light themes) |
| Fonts | Inter (Google Fonts) |
cd backend
pip install -r requirements.txt
python main.pyAPI runs at http://localhost:8000
cd frontend
python -m http.server 3000
# Open http://localhost:3000Or just open frontend/index.html directly in your browser.
| Method | Endpoint | Description |
|---|---|---|
| GET | /api/jobs |
Get aggregated jobs (with filters + pagination) |
| GET | /api/jobs/export |
Export as CSV or JSON |
| GET | /api/categories |
List available categories |
| GET | /api/stats |
Live stats from all sources |
| GET | /api/health |
Health check + version info |
| POST | /api/cache/clear |
Clear the response cache |
GET /api/jobs?category=software-development&search=python&source=Remotive&sort=date&page=1&per_page=30
categoryβ Filter by job categorysearchβ Search in title, company, description, tagssourceβ Filter by specific sourcesortβ Sort bydate,title, orcompanypageβ Page number (default: 1)per_pageβ Items per page (default: 30, max: 100)
- All Jobs
- Software Development
- Data Science
- Design
- Marketing
- DevOps
- AI / ML
- Data Annotation
- Customer Support
| Source | Auth | Coverage |
|---|---|---|
| Remotive | None | Remote jobs across categories |
| Arbeitnow | None | Remote & EU jobs |
| RemoteOK | None | Global remote jobs |
job-hunt-app/
βββ backend/
β βββ main.py # FastAPI server + aggregators + cache
β βββ requirements.txt # Python dependencies
βββ frontend/
β βββ index.html # Single-page app (dark/light theme)
βββ tests/
β βββ __init__.py
β βββ test_main.py # Unit + integration tests
βββ .github/
β βββ workflows/
β βββ ci.yml # CI pipeline (test + lint)
βββ pyproject.toml # Project metadata
βββ LICENSE # MIT
βββ README.md # This file
cd backend
pip install -r requirements.txt pytest pytest-asyncio
cd ../tests
python -m pytest -vMIT β see LICENSE for details.
Built by Antorm