AI-powered HR operations and hiring automation platform built with Python, Flask, SQLite, and a modern web interface.
HR Forge combines two production-oriented modules in one system:
- Workforce Hub: employee records, document management, letter generation, WhatsApp group coordination, and audit logs.
- Hiring Portal: AI-assisted job posting generation and social publishing workflows for LinkedIn and Facebook.
- End-to-end workflow coverage from candidate-facing job posts to employee lifecycle operations.
- Practical architecture with persistent storage, API-driven frontend, and operational auditability.
- Real integration mindset with OpenAI, LinkedIn, Facebook, and document handling.
- Clean separation of concerns: UI, API, and terminal tools all share a single source of truth.
- Add, update, search, and deactivate employee records.
- Create and manage employee groups for WhatsApp operations.
- Upload and retrieve employee documents by type.
- Generate formal HR letters from reusable templates.
- Track actions through an audit log.
- Generate realistic, role-specific job postings with AI.
- Customize role details, compensation style, job type, and tone.
- Save and manage posting history.
- Publish directly to LinkedIn and Facebook APIs.
- Validate service health and integration readiness from backend status checks.
- Backend: Python, Flask, Flask-CORS, SQLite
- Frontend: React (Vite), Tailwind CSS
- AI: OpenAI Chat Completions API
- Integrations: LinkedIn UGC API, Facebook Graph API
- Runtime: Windows-friendly local environment with optional .env configuration
HR-Automation-System/
├── app.js
├── company_settings.json
├── employee_hub.py
├── index.html
├── jd_portal.html
├── landing.html
├── requirements.txt
├── server.py
├── styles.css
├── data/
│ └── employees.db
├── employee_docs/
├── logs/
└── frontend/
├── src/
├── public/legacy/
└── dist/ (generated build)
Legacy static files remain in the root for compatibility, while production serving is now handled by the React app in frontend/.
python -m venv .venv
.\.venv\Scripts\Activate.ps1pip install -r requirements.txtCreate a .env file in the project root when needed:
OPENAI_API_KEY=your_openai_key
LINKEDIN_ACCESS_TOKEN=your_linkedin_access_token
LINKEDIN_PERSON_URN=urn:li:person:xxxx
LINKEDIN_ORG_URN=urn:li:organization:xxxx
FACEBOOK_ACCESS_TOKEN=your_facebook_page_token
FACEBOOK_PAGE_ID=your_page_id
HUB_PORT=5051cd frontend
npm install
npm run build
cd ..
python server.pyOpen:
http://127.0.0.1:5051/for the portal selectorhttp://127.0.0.1:5051/employee-hubfor Workforce Hubhttp://127.0.0.1:5051/hiring-portalfor Hiring Portal
# terminal 1
python server.py
# terminal 2
cd frontend
npm run devVite proxies /api/* calls to http://127.0.0.1:5051 during development.
The terminal application is still available:
python employee_hub.pyBoth web and terminal flows use the same SQLite database.
GET /api/healthintegration and service statusGET|POST /api/employeesemployee listing and onboardingPUT /api/employees/<id>employee updatesPOST /api/employees/<id>/deactivatelifecycle status controlGET|POST /api/groupsWhatsApp group operationsGET|POST /api/employees/<id>/documentsdocument handlingPOST /api/employees/<id>/lettersletter generationGET /api/auditoperational audit eventsPOST /api/generateAI posting generationPOST /api/post/linkedinpublish to LinkedInPOST /api/post/facebookpublish to Facebook
- Data and document paths are created automatically when missing.
- Safe filename handling is applied on uploads.
- Duplicate employee IDs and duplicate group memberships are guarded in DB constraints.
- API routes return structured JSON responses for frontend reliability.
- Demonstrates product thinking, not just coding: solves business-critical HR workflows.
- Shows practical AI implementation with controlled output formatting and domain prompts.
- Includes integration readiness for enterprise channels and extensible architecture.
- Balances UX, backend reliability, and operational traceability.
- Role-based access control and authentication.
- Async background jobs for social publishing retries.
- PDF letter export and e-signature workflow.
- Dashboard analytics for hiring funnel and workforce metrics.
This project is licensed under the MIT License.
You are allowed to use, modify, distribute, and sell software based on this project, provided you keep the copyright and license notice.
See LICENSE for full terms.