Noureddine RAMDI / OpenPostings: self-hosted ATS aggregator with AI-driven job application automation

Created Mon, 04 May 2026 10:23:02 +0000 Modified Mon, 06 Jul 2026 15:16:10 +0000

Masterjx9/OpenPostings

OpenPostings tackles a problem job seekers know too well: trying to keep track of hundreds of new job postings from dozens of applicant tracking systems (ATS) daily, then applying with tailored materials. Instead of relying on scattered job boards or centralized SaaS, OpenPostings offers a local-first, self-hosted aggregator that pulls fresh postings from 60+ ATS providers representing over 78,000 companies and nearly 500,000 jobs daily. What sets it apart is an AI-empowered apply-agent server exposing structured tools that let compatible large language models (LLMs) autonomously find job candidates, draft cover letters, and record application outcomes — automating job search workflows beyond mere aggregation.

how OpenPostings aggregates and automates job postings

OpenPostings is built as a cross-platform React Native application targeting Web, Windows, and Android, paired with a local Node.js/Express backend API and an SQLite database. This local-first architecture means all job data is stored on your machine, giving privacy and control benefits not found in cloud-only job boards.

Under the hood, the system scrapes and aggregates postings from over 60 ATS providers including big names like Greenhouse, Lever, and Workday. These postings cover more than 78,000 companies and average around 500,000 fresh jobs daily, according to the project metrics. The backend service worker continuously fetches and updates this data, keeping the local SQLite database fresh.

Users can filter jobs by text search, ATS provider, location (region/country), and remote mode. The app also tracks application lifecycle status per posting, marking jobs as applied or ignored.

The standout component is the MCP apply-agent server. MCP (Model Context Protocol) is used here to expose tools such as find_posting_candidates, draft_cover_letter, and record_application_result. These APIs allow any MCP-compatible LLM — such as Anthropic’s Claude, OpenAI Codex, or Google’s Gemini — to autonomously perform job search and application workflows. This means an AI can select fitting postings, write cover letters tailored to the job and candidate, and update application tracking without manual intervention.

To keep the database lean, jobs are retained for 24 hours before automatic deletion.

technical strengths and tradeoffs in OpenPostings

From the code and architecture, OpenPostings impresses with a clean separation of concerns: React Native handles cross-platform UI, Node/Express serves as a local API layer, and SQLite offers a lightweight embedded database. This stack supports running the full system on diverse platforms without cloud dependencies.

The MCP apply-agent server is the most technically interesting piece. By providing well-defined, structured endpoints for candidate discovery, cover letter drafting, and application result recording, it enables integration with any LLM that understands MCP. This design abstracts away the complexity of the job application process, making it programmable and automatable.

Tradeoffs are clear: the local-first approach demands users run a backend service and maintain the environment (Node.js, React Native prerequisites for Windows/Android). The 24-hour job retention window helps control database size but limits historical job data access.

Also, while the AI-driven automation is promising, the effectiveness depends on the quality of the LLM and its training. Potential edge cases include incomplete or inconsistent ATS data, or AI-generated content needing human review.

The codebase appears well-maintained with explicit filters and lifecycle tracking, but the complexity of supporting 60+ ATS providers and ensuring up-to-date scraping likely requires ongoing maintenance.

quick start with OpenPostings

OpenPostings offers two main installation paths: a Windows MSI installer for quick setup, and a source installation for maximum compatibility and stability.

Windows installer setup (easiest, but still a work in progress)

Download the latest MSI from the releases page and run it. The installer guides you through setup, letting you choose installation types:

  • Typical: installs standard app and backend service worker (recommended for most users)
  • Complete: installs everything including the MCP apply-agent server
  • Custom: lets you pick features like backend service or MCP agent

After installation, launch OpenPostings from the Start menu.

Source installation (best for stability and multi-platform)

Requirements:

  • Node.js 18+ and npm
  • React Native Windows prerequisites (for Windows targets)
  • Android Studio/emulator or device (for Android targets)

Installation steps:

cd OpenPostings
npm install

To start the backend server:

npm run server

In another terminal, start the web UI:

npm run web

The web UI is accessible at http://localhost:8081.

Default API base URLs:

  • Web/Windows: http://localhost:8787
  • Android emulator: http://10.0.2.2:8787

You can also run native targets:

npm run windows
npm run android

This setup ensures you have a fully functional environment for local job aggregation and AI-assisted application automation.

verdict: who should consider OpenPostings

OpenPostings is well-suited for technically inclined job seekers, recruiters, or HR tech enthusiasts who want full control over their job search data and workflows. It shines for those interested in integrating AI to automate repetitive tasks like cover letter drafting and application tracking.

The local-first architecture is a double-edged sword: it provides privacy and control, but requires users to manage a backend environment and handle occasional maintenance. The 24-hour job retention policy means it’s not for archival or historical job research.

The MCP apply-agent server is a compelling experiment in agentic workflows, but its effectiveness depends on the LLM capabilities and may require tuning or oversight.

Overall, OpenPostings offers a solid foundation to explore how AI can augment job search processes combined with a robust cross-platform application and local API. It’s worth understanding even if you don’t adopt it fully, especially for those building AI-driven recruitment tools or private job aggregators.


→ GitHub Repo: Masterjx9/OpenPostings ⭐ 182 · JavaScript