An enterprise-grade, highly customizable, open-source Applicant Tracking System (ATS) and Career Portal designed specifically for modern startups.
If you find this project useful, please consider giving it a ⭐ to show your support!
OpenHire was built to solve a critical problem for founders: spinning up a beautiful, SEO-optimized, fully functional careers page and ATS without spending hundreds of dollars on third-party SaaS tools. With a single CLI command, you can deploy a customized HR portal seamlessly integrated with your brand identity and a real-time Convex backend.
The entire platform is built with a serverless, decoupled architecture ensuring extreme speed and infinite scalability.
graph TD
%% Core Users
Candidate([Candidate / User])
Admin([HR / Founder Admin])
%% Frontend Elements
subgraph Frontend [Client-Side Interface]
CP[Public Career Portal]
AI[AI Application Autofill]
DB[Admin Dashboard]
end
%% Backend & Database (Convex)
subgraph Backend [Convex Serverless Backend]
API[Real-time API Layer]
Storage[(File Storage : Resumes)]
DB_Jobs[(Jobs Table)]
DB_Apps[(Applications Table)]
Analytics[(Traffic Analytics)]
end
%% Connections
Candidate -->|Browses Jobs| CP
Candidate -->|Uploads Resume| AI
AI -->|Parses Data| API
Admin -->|Creates Jobs & Forms| DB
Admin -->|Reviews Candidates| DB
CP <-->|Fetch Real-time Data| API
DB <-->|CRUD Operations| API
API <--> Storage
API <--> DB_Jobs
API <--> DB_Apps
API <--> Analytics
- 1-Click CLI Scaffolding: Enter your brand Hex code, URLs, and company name, and the CLI will instantly re-theme the entire platform to match your startup.
- AI-Powered Parsing: Candidates can upload PDF resumes, and the client-side parser will automatically map their experience to your custom questions.
- Dynamic Custom Question Logic: Create dynamic application questions through the Admin portal. Support for long answers, multiple choice, conditional logic, checkboxes, and file uploads.
- Automated SEO & Social Graph: Dynamic metadata tagging ensures that when a job is shared on LinkedIn, Discord, or X (Twitter), the exact job title, location, and company branding render perfectly.
- Out-of-the-Box Legal: Automatically generates standard
Privacy PolicyandTerms & Conditionstailored to your company details. - Real-time Admin Dashboard: Track visit analytics, review applicants in a Kanban-style workflow, and download applicant resumes with zero backend config required.
Transform your recruitment pipeline in under 3 minutes.
Open your terminal and run the interactive SDK:
npx create-open-hireThe CLI will ask for your Company Name, Website URL, and Brand Color. It will inject these across the entire architecture.
cd <your-project-name>
npm installOpenHire leverages Convex for real-time state and database management.
npx convex dev(Press Enter to authenticate and authorize the creation of your database schema. Leave this terminal running to sync real-time changes).
In a new terminal tab, generate your default administrator credentials to access the secure backend:
npx convex run seed:createDefaultAdmin(You can modify default passwords by editing convex/seed.ts before running this command).
npm run devNavigate to http://localhost:5173.
To access the backend management portal, navigate to http://localhost:5173/admin.html and log in with your generated admin credentials.
We've introduced a powerful Auto-Branding Python Pipeline (auto_brand_pipeline.py) that acts as an intelligent wrapper around the CLI. It can scan an existing company's website repository, automatically extract their branding (Company Name, Tagline, URL, Contact Email, Primary Color, and Logo), and feed it directly into the CLI to generate a matching career page instantly.
python auto_brand_pipeline.py <path-to-target-repo> --output-dir <your-new-career-page>If you are using an AI Agent (like Claude, ChatGPT, or Cursor) to set up this repository for you, you can give it the following prompt to completely automate the white-labeling process:
```markdown We are using the `create-open-hire` CLI to generate a custom, open-source HR and Careers platform. Please act as an autonomous developer and do the following:
- Run the Python Auto-Brand pipeline or the CLI tool: `npx create-open-hire my-hr-platform`
- The CLI will ask for configuration details. Please provide the following details automatically:
- Company Name: [Insert Target Company Name]
- Company Tagline/Mission: [Insert Target Company Tagline]
- Website URL: [Insert Target Website URL]
- Primary Brand Color: [Insert Hex Code]
- Support/Contact Email: [Insert Support Email]
- After the CLI finishes generating the codebase, navigate to the `public/` and root folders and replace `logo.jpg`, `logo.png`, and `logo.svg` with the actual logo files of [Target Company].
- Run `npm install` and `npx convex dev` to initialize the clean, 0-job database.
- Provide me with the link to the Admin Panel so I can start adding our own jobs manually.
Ensure no data, jobs, or branding from the original creator remains. The final product must be 100% white-labeled for [Target Company]. ```
"I built OpenHire because I believe founders shouldn't have to sacrifice branding or spend hours configuring clunky third-party recruitment software just to hire their founding team. OpenHire is my contribution to the startup ecosystem—an ATS built by a builder, for builders." — Shriyash Soni
Contributions, issues, and feature requests are highly encouraged! Feel free to check the issues page.