Learning and careers decision
Personio
A consolation build is possible, but the paid product's decisive value sits outside a solo rebuild. For Personio, maintain a small employee directory and leave workflow without payroll or recruiting automation. The hard boundary is european hr compliance, payroll, recruiting, workflows, integrations, and support, plus compliance, payroll, and regulated integrations.
Visit website↗Open-source builds that already do this
Every project below is open source and already does this job today. Fork one, self-host it, or take the parts you need — the build prompt further down assumes an empty file, and this is the shortcut past that. Licences differ; check the one on each card before you ship.
What a replacement has to do
- Maintain a small employee directory and leave workflow, track approvals and records, and export data without calculating payroll, automating recruiting, or making employment decisions.
What it still won’t have
- European HR compliance, payroll, recruiting, workflows, integrations, and support
- payroll rails
- tax and labor-law compliance
- benefits integrations
- identity checks and global employment infrastructure
What remains hard
- Compliance and regulation
- Integration maintenance
First-year cost
The build hours below are a category default, not an estimate for this product. Change them to your own numbers and the comparison follows.
No published price
Personio does not publish a price we could read, so there is nothing to compare against. What building costs is below.
Money you would actually spend
Time you would spend
—
What you would spend
What we assumed
The verdict above measures whether you could build it. This one is only about money.
Runnable build prompt
Build a closest honest personal substitute for Personio in an empty repository. Use Next.js 15, TypeScript, PostgreSQL, Drizzle ORM, and Docker Compose; do not offer alternative stacks. The core loop is: maintain a small employee directory and leave workflow, track approvals and records, and export data without calculating payroll, automating recruiting, or making employment decisions. Make the first run work locally with one documented command. Store all user data locally by default and make export straightforward. Put secrets in .env, ship .env.example, and never commit credentials. Implement employees, teams, roles, documents, leave requests, equipment, onboarding tasks, and acknowledgements. Use least-privilege roles and log every read or change to sensitive records. Add approval workflows, expiry reminders, export, retention, deletion holds, and encrypted backups. Keep compensation fields optional and never calculate payroll, taxes, benefits, or statutory filings. Provide a data dictionary and explain which fields should not be stored without legal review. Ship Docker Compose, health checks, disaster recovery, and an emergency-access procedure. Include clear empty, loading, success, and recoverable error states. Add input validation, safe filenames, and graceful handling of unavailable APIs. Write focused tests for the core transformation and one end-to-end happy path. Create a README with setup, architecture, permissions, data location, and backup steps. Do not add accounts, billing, telemetry, analytics, or a hosted control plane. Do not claim to reproduce proprietary data, network liquidity, regulated access, or frontier infrastructure. Deliberately leave out payroll calculation or money movement. Deliberately leave out automated hiring decisions or applicant scoring. Deliberately leave out tax, benefits, immigration, identity, and global-employment compliance. Finish by running the tests and listing the exact commands used.





