Open source · MIT

Rubby HRMS

HR system for any business: multi-company, RBAC, dynamic dictionaries, 22 AI agents

v2.0 Multi-tenant foundation, deployment scripts
Ruby on Rails 8PostgreSQLHotwireSidekiqDevisePunditTailwind CSS
Rubby HRMS

Why another HRMS?

Most HR systems hardcode a single industry's vocabulary. Hiring means 'developer', leave means 'annual'. Real companies are more complex: a septic service needs ADR permits, a clinic needs license numbers, a startup needs GitHub links.

HRMS adapts to the company, not the other way around. Every entity supports Custom Fields via dictionaries. HR defines the schema once. Forms, validation, AI parsing and audit pick it up automatically.

What's inside

Universal

Custom Fields for every entity, configurable dictionaries. AI Bootstrap: describe your company in plain text and AI suggests the full schema.

24 AI agents

OpenAI / Anthropic / Ollama / vLLM. Per-task model selection, hard budget cap, full audit log.

Documents

PDF + OCR + Vision API. Auto-parse, review, apply. Expiry notifications.

Apple-HIG design

System colors, spring animations. iOS-style dashboard with widgets. Full dark theme.

Security

2FA, GDPR Article 15+17, Pundit RBAC, audit log with revert.

Integrations

Slack, Telegram bot, REST API (15 endpoints, Swagger UI), CalDAV.

Live UI

Turbo Streams and ActionCable: KPI, applications and AI results stream without page reloads.

Multi-tenant

Subdomain resolution out of the box. Single-tenant works the same, so switch when you grow.

Docker

One-command install. Auto-generated secrets, healthcheck, zero-downtime update.

AI Agents

Each agent is a standalone service. Multi-provider, per-task model override and hard budget cap built in.

Recruitment

Full cycle from screening to offer

analyze_resume — scoring + red flags

generate_assignment — tailored test task

questions_for — per interview type

summarize_interview — TL;DR from transcript

compare_candidates — side-by-side

recommend — hire / pass + reasoning

offer_letter — in candidate's language

Retention

Early risk detection

burnout_brief — risk by KPI + leave

suggest_leave_window — best dates

kpi_brief — performance summary

meeting_agenda — context-aware 1-on-1

compensation_review — market data

exit_risk_brief — early warning signal

Onboarding

From day 1 to end of probation

onboarding_plan — 90-day milestones

welcome_letter — day 1 greeting

mentor_match — by skills + tenure

probation_review — evaluation

knowledge_transfer_plan

replacement_brief — auto job opening

Documents

OCR + Vision + smart summaries

document_summary — TL;DR of contracts

document_extract_assist — Vision API

dictionary_seed — populate from prompt

company_bootstrap — chat-based schema design

Screenshots

Recruitment kanban — drag-drop pipeline with AI scoring
Recruitment kanban — drag-drop pipeline with AI scoring
KPI Dashboard — assignments + trend + AI brief
KPI Dashboard — assignments + trend + AI brief
Interview calendar — FullCalendar 6
Interview calendar — FullCalendar 6
Conversion funnel + recruiter performance
Conversion funnel + recruiter performance
Slack webhook + one-click Telegram
Slack webhook + one-click Telegram
AI provider — 7 presets + custom
AI provider — 7 presets + custom

Install in 2 minutes

One bash command. Generates secrets, builds the image, spins up db+app+worker.

git clone https://github.com/dripips/rubby-hrms.git cd rubby-hrms ./scripts/install.sh

Production

docker compose -f docker-compose.prod.yml up -d

Development

bundle install && bin/rails db:setup && bin/dev

Have a project or idea?

Write to me and we will talk the task through.