Personora — AI-Ready Institutional HR Platform, Built End to End
A production-grade, AI-assisted HR platform Inovativi built end to end — covering the Person → Applicant → Employee lifecycle, recruitment, append-only employment history, contracts, a real leave-policy engine, timesheets, appraisals, documents, reports and a full audit trail, with a governed multi-provider AI layer (Claude, OpenAI, DeepSeek) on .NET 10, Next.js and PostgreSQL.
Context
Personora is a reference build — a complete, production-grade HR platform we engineered to demonstrate how Inovativi designs software and ships AI, not a confidential client deployment. We set ourselves the brief a prospective public-sector client would set: an ambiguous personnel domain, real security constraints, and AI that has to be useful and governed rather than decorative. The live demo runs entirely on dummy data, with sign-in as recruiter, hr.manager or admin.
Problem
Public-sector HR software is often a tangle of legacy code: hardcoded credentials, unaudited access to sensitive personal data, and brittle business rules around leave, contracts and recruitment. We rebuilt the category from first principles to answer one question for prospective clients — can Inovativi deliver complex, secure, AI-ready software? — without resorting to a slideware prototype.
What was built / modernized
Personora is a real system with real domain logic. People and recruitment run on an enforced state machine (vacancies → advertisements → applications) with weighted committee scoring and one-click conversion of an accepted applicant into an employee. Employment history is append-only — transfers, promotions and salary changes never overwrite the past — with automatic contract-expiry alerts. Leave is a genuine policy engine: monthly accrual, experience bonuses, capped carry-over, medical allocation and a full approval workflow with revision chains that never destroy history. Timesheets, appraisals, documents and reports round it out with payroll-ready summaries, immutable approved appraisals, per-category document access and CSV exports. Woven through it is a governed multi-provider AI layer behind one clean abstraction, and every sensitive read, download, export and login is recorded.
Structured Registry Data
Applicant record assembled from the personnel registry
Field Allowlist
National ID numbers and dates of birth deliberately excluded
IAiCompletionProvider
One clean abstraction selectable per request
Claude / OpenAI / DeepSeek
Interchangeable backends; each activates only when its API key is present
Committee-Facing Summary
Grounded strictly in the supplied data, never invented
SensitiveRead Audit Row
Every generation is recorded and rate-limited for cost
How a committee-facing applicant summary is generated from structured registry data through one swappable, governed provider abstraction.
Vacancy
Approved opening defined against the registry
Advertisement
Published opening accepting applications
Application
Candidate applies through the enforced state machine
Committee Scoring
Weighted, multi-member evaluation
Acceptance
Accepted applicant cleared for conversion
One-Click Employee
Applicant converted into an employee without duplicate records
The enforced state machine that carries a vacancy through to a fully converted employee record.
Production judgment — what we deliberately do not allow
- Personora's live demo runs on dummy data, not real personnel records.
- The AI never sees restricted fields such as national ID numbers or dates of birth.
- The AI summarizes only from supplied data and is not allowed to invent facts about applicants.
- Personora is a reference build, not presented as a confidential client production deployment.
- AI output is decision support for a committee, never an automated hiring decision.
Workflow highlights
- One person, many roles; vacancies → advertisements → applications through an enforced state machine
- Weighted committee scoring and one-click conversion of an accepted applicant into an employee
- Append-only employment history with automatic contract-expiry alerts
- A real leave-policy engine: monthly accrual, experience bonuses, capped carry-over, medical allocation and full approval workflow
- Timesheets, immutable approved appraisals, per-category document access, payroll-ready summaries and CSV exports
- AI-generated, committee-facing summaries of job applicants from structured registry data
Security, auditability & governance
- The AI only ever sees non-restricted fields — national ID numbers and dates of birth are deliberately excluded
- The model is instructed to summarize strictly from the data and never to invent
- Every AI generation writes a SensitiveRead audit row; the endpoint is rate-limited to control cost
- No secrets in source control; least-privilege access to sensitive data behind audited endpoints
- Integrity enforced in the database — unique constraints, soft deletes, append-only history and decimal money
- Per-IP login rate limiting and an optional scheduled reset that keeps the public sandbox clean
AI-ready extension points
- Policy-aware leave and contract assistant that answers employee questions strictly within their permissions
- Document drafting for contracts, decisions and HR letters from structured registry fields, with human approval
- Appraisal-summary and review-cycle drafting from immutable appraisal data
- Natural-language reporting — ask for a payroll or headcount summary and get a grounded, exportable answer
- Recruitment screening assistant that ranks and explains shortlists against weighted committee criteria
- Anomaly and audit-trail assistant that surfaces unusual sensitive-access patterns for review
Value delivered
- Demonstrates that Inovativi can deliver complex, secure, AI-ready software end to end — from ambiguous domain to a tested, deployable system
- A swappable, governed, cost-controlled AI seam with no vendor lock-in — the same pattern we'd bring to a client's product
- Security by design: no secrets in source control, audited sensitive access and database-enforced integrity
- 70+ automated tests covering the hard parts — leave arithmetic, recruitment scoring, employment-history preservation and document access control
Technologies
- .NET 10 / ASP.NET Core
- Entity Framework Core
- PostgreSQL 17
- Next.js 16
- React
- TypeScript
- Tailwind CSS
- Anthropic Claude
- OpenAI
- DeepSeek
- IAiCompletionProvider abstraction
- Docker Compose
- Role / resource authorization
- Audit logging & rate limiting
Relevant roles
- .NET Backend Engineer
- Full-Stack Engineer
- AI Integration Engineer
- Security & Platform Engineer
Status & transparency
Personora is a reference build — a complete, production-grade HR platform Inovativi engineered to demonstrate how we design software and ship AI. The live demo runs entirely on dummy data, with sign-in as recruiter, hr.manager or admin. It is not presented as a confidential client production deployment.
Next step
Discuss a similar project
We can adapt this pattern to your systems and provide the engineers to build it. Reach us at info@inovativi.com.