UpRecruit is a comprehensive, open-source recruitment management system built for modern hiring teams. It replaces fragmented tools — spreadsheets, email chains, separate ATS and HRIS platforms — with a single unified environment where every stakeholder in the hiring process has a purpose-built dashboard, real-time data, and the right level of access. Whether you are a startup hiring your first ten engineers or an enterprise managing hundreds of concurrent job openings across multiple companies and departments, UpRecruit scales to fit the workflow without requiring third-party integrations or costly per-seat SaaS subscriptions.
Traditional recruitment is fragmented: job boards live separately from applicant tracking, interview notes are buried in email, contract templates get lost in shared drives, and reporting requires manual data exports. Recruiters lose hours per week to administrative overhead, candidates receive no transparency on their application status, and hiring managers lack real-time insight to make fast decisions. UpRecruit collapses this entire stack into one platform, purpose-built for every role in the hiring chain.
Recruiters and companies can create rich job offers with title, category, required skills, career level, salary range, contract type, job type, location, and deadline. Offers can be published, archived, or duplicated at any time. Candidates browse the public job board and filter by any combination of these attributes, then apply with a structured profile covering work experience, educational qualifications, degrees, language proficiency levels, and an uploaded CV. Each application moves through a tracked pipeline from submission to final decision, with stage history and timestamps preserved throughout.
Once candidates reach the interview stage, recruiters schedule sessions directly within the platform, attaching date, time, format, and preparation notes. Candidates receive in-app notifications and can acknowledge or request rescheduling. Post-interview, acceptance and refusal feedback are logged as structured records rather than freeform notes, making downstream reporting accurate and consistent. Successful candidates move into the contract phase, where contract type, start date, duration, and renewal terms are stored as first-class entities, and renewal reminders surface automatically in the recruiter dashboard before expiry dates are reached.
The platform enforces strict role separation across three user types. Admins have full platform authority and manage all users, companies, job listings, skill taxonomies, categories, degree types, language levels, career levels, newsletter campaigns, and global configuration. Recruiters are scoped to their own company workspace and cannot access other companies’ data or admin-level settings. Candidates can build their profile, apply, track their applications, message recruiters, and manage notification preferences — nothing more. JWT tokens encode role claims and every API route validates them server-side, ensuring no cross-role data leakage regardless of client-side manipulation.
Under the hood, the backend is a Node.js and Express REST API with controller, service, and model separation. Sequelize ORM connects to MySQL, PostgreSQL, or SQLite — switchable via a single environment variable — and manages over forty entities and their relational joins through a fully structured database layer covering jobs, applications, interviews, contracts, CVs, education, languages, skills, locations, salaries, notifications, member preferences, and saved searches. Passwords are hashed via bcrypt and file uploads are validated server-side. The React 17 frontend uses Ant Design for UI components, Redux for state management, and React Router with protected route wrappers per role. Stripe handles subscription billing for company plans and any billable platform services, with webhooks updating subscription state in real time.
Getting started requires no manual configuration. A cross-platform one-click launcher checks the Node version, installs dependencies, configures environment variables from a template, runs database initialisation and seeding, and starts both the backend API and the React dev server concurrently. Built-in dashboards surface live hiring metrics — active offers, application volume, interview conversion rates, candidate qualification rates, and headcount pipeline coverage — giving hiring managers complete visibility without ever exporting a spreadsheet.


































