← Case studies
Reference Build / AI-Ready HR Platform

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.

Multi-provider AI layer
  1. Structured Registry Data

    Applicant record assembled from the personnel registry

  2. Field Allowlist

    National ID numbers and dates of birth deliberately excluded

  3. IAiCompletionProvider

    One clean abstraction selectable per request

  4. Claude / OpenAI / DeepSeek

    Interchangeable backends; each activates only when its API key is present

  5. Committee-Facing Summary

    Grounded strictly in the supplied data, never invented

  6. 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.

Recruitment-to-employee lifecycle
  1. Vacancy

    Approved opening defined against the registry

  2. Advertisement

    Published opening accepting applications

  3. Application

    Candidate applies through the enforced state machine

  4. Committee Scoring

    Weighted, multi-member evaluation

  5. Acceptance

    Accepted applicant cleared for conversion

  6. 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.