Open Source Job Board
A job board carries an unusual amount of other people's data for what looks like a simple site: employer accounts, candidate resumes, application history, and sometimes payments. That weight is the real cost of running one, and it is why the software underneath matters more than the theme on top. It also explains why the shape of the board - a single company's careers page, a niche community board, or a paid marketplace - decides which tool fits before you reach any feature list. Open source options here keep the listings, the candidate submissions, and the audience you spent money building on infrastructure you run, instead of metering access to your own marketplace one posting at a time.
Django Job Portal
Open source online job portal built with Django and SQLite

PeelJobs
Open-source job board platform for posting jobs, tracking applications, and managing recruiting workflows

Hasjob
Open source job board for tech startups with direct applications

GitJobs
Open source job board for developer roles, with filters by language, technology, and foundation

Bordful
Open-source job board starter kit with Next.js and Airtable for searchable, customizable job listings
Our picks
Best full platform: PeelJobs PeelJobs is the most complete option here, built for running a real multi-sided board. It provides role-based access for recruiters, seekers, and admins, application management with bulk operations, Elasticsearch search and filtering by location, salary, skills, and experience, plus email alerts and RESTful APIs. It runs on Django with PostgreSQL, Elasticsearch, and Celery with Docker support.
Best SEO-first starter kit: Bordful Bordful is the lightweight choice for a branded niche board. Built on Next.js and Tailwind with an Airtable base as the content store, it offers client-side search, multi-currency salary support, email alerts, and static generation, while emitting schema.org JobPosting data, sitemaps, and RSS, Atom, and JSON feeds. You manage jobs in a familiar spreadsheet, not a custom admin.
Best for developer roles: GitJobs GitJobs fits a developer-focused board tied to open source work. A CNCF project written in Rust on PostgreSQL, it lets candidates filter roles by language, technology, and foundation, and can embed a filtered view or a single job as an iframe or SVG card on other sites for syndication. It is in early beta, so treat it as promising.
Best foundation to build on: Django Job Portal Django Job Portal is the pick when you want a small, readable codebase to extend rather than a finished product. It gives you job listings and detail pages, a resume page, employer screens for posting, GitHub OAuth login, and a Swagger-documented API on Django with SQLite. Its small footprint makes it a starting point, not a large production board.
Matching the software to the kind of board you run
Name the kind of board you are building first, because a careers page and a paid marketplace are different products that happen to share a listing view. A single-employer board can keep workflows simple, while a multi-employer board needs self-service accounts, posting approval, recruiter seats, and often billing. Among these, PeelJobs is the most complete platform, with role-based access for recruiters, seekers, and admins plus Elasticsearch search; Django Job Portal is deliberately small, better treated as a starting point or learning project than a production marketplace; and GitJobs is a niche developer board still in beta.
Look hard at the job post data model and the operational surface, not the theme. Structured fields for location, remote status, salary, employment type, category, and expiration are what make search and search-engine visibility work, since job pages live or die on clean data and correct handling of expired listings. A public board also attracts abuse a normal content site never sees: fake employers, scraped listings, and spam applications. Bordful leans on an Airtable base as its content store and generates schema.org JobPosting data, sitemaps, and feeds, which helps indexing; whatever you choose, confirm it emits crawlable pages and lets you export postings after they close.
Decide where applications and candidate data should live, because that choice drives your privacy burden. If applicants apply inside the system you gain tracking but inherit resume storage, access control, and retention duties; if you redirect to an employer or an applicant tracking system you carry less sensitive data but see less. One caution specific to this list: Hasjob is published mainly for transparency, and its own maintainers recommend against using it to run your own board, so read it as reference code rather than a deployable product.
Related categories
Frequently asked questions
Which of these can I actually run in production?+
They sit at different stages of readiness. PeelJobs is the most production-oriented, with role-based access, application management, and Elasticsearch search on a Django stack with Docker support. Bordful is a maintained starter kit you deploy and brand. Django Job Portal is best as a learning project or foundation to extend, GitJobs is in early beta, and Hasjob's maintainers explicitly advise against running your own copy. Match the tool's maturity to how much you plan to build yourself.
Should applicants apply inside the board or get redirected out?+
It is a data-ownership decision. Applying inside the board gives you tracking, analytics, and a candidate database, but you then store resumes and personal details and must protect and eventually delete them. Redirecting to an employer form or an applicant tracking system reduces your privacy burden at the cost of visibility into conversions. Some boards support both; decide which matters more before you build traffic, since it shapes screening, duplicates, and retention.
What makes a job board rank well in search engines?+
Clean structured data and correct lifecycle handling more than anything cosmetic. Search engines want crawlable job pages with clean URLs, schema.org JobPosting markup, fresh sitemaps, and a sensible strategy for expired roles so stale listings do not linger. Bordful generates JobPosting data, sitemaps, robots.txt, and RSS, Atom, and JSON feeds out of the box. Whatever you pick, verify that closed roles return an appropriate status or redirect rather than 200s forever.
How do I keep candidate resumes and personal data safe?+
Treat resume files as sensitive documents, not attachments. Look for role-based access so employers see only their own applicants, secure file storage, encrypted transport, and audit logs for downloads. PeelJobs provides role-based access control across recruiters, seekers, and admins, which is the baseline for this. Define retention periods and make deletion straightforward, because resumes carry contact details, work history, and sometimes identifiers you do not want to hold longer than necessary.
How do paid listings and employer billing work here?+
Most of these tools are stronger at posting and search than at monetization, so check billing carefully if revenue is the plan. Paid listings usually need posting packages, invoices, payment status, refunds, and clear rules for when a job becomes visible, and none of that is guaranteed out of the box. Confirm the payment flow fits your model before building an audience, and budget for the moderation and support work that a paid marketplace requires.
How do I fight fake jobs, scraping, and spam applications?+
Layer friction rather than relying on one control. Approval queues for new employers, email verification, rate limits on posting and application forms, and a CAPTCHA-style challenge cut low-effort spam, and clear reporting tools let users flag the rest. PeelJobs's role-based access helps separate trusted recruiters from open sign-ups. Scraping is hard to stop entirely, so focus on protecting resume files and limiting bulk access to applicant data.
Can I import existing job postings from another system?+
Usually through CSV, JSON, XML, or an RSS feed from the old board. Map fields like title, company, location, salary, remote status, category, apply URL, and expiration before importing, and expect cleanup around inconsistent locations, duplicate companies, and expired jobs. Postings move more easily than attachments and application history, which often do not transfer cleanly, so plan those separately or accept that they stay in the old system.