HR Management
Business & SaaS · React + Node (Express) · 20 @molecule/* packages
BambooHR-like HR system with employee records, PTO, and org chart — with built-in Stripe-backed subscription tiers
Try it
Opens instantly. Runs on sample data, so changes reset on reload.
What is inside
Screens (16)
- Login
/login - Signup
/signup - ForgotPassword
/forgot-password - ResetPassword
/reset-password - Dashboard
/dashboard(signed in) - Employees
/employees(signed in) - EmployeeProfile
/employees/:id(signed in) - OrgChart
/org-chart(signed in) - PTO
/pto(signed in) - Documents
/documents(signed in) - Settings
/settings(signed in) - Notifications
/notifications(signed in) - Onboarding
/onboarding(signed in) - Reports
/reports(signed in) - Performance
/performance(signed in) - AddEmployee
/employees/new(signed in)
Data model (13 tables)
- activities — id, actorId, action, resourceType, resourceId, metadata, createdAt
- activity_seen_status — userId, lastSeenActivityId, updatedAt
- audit_events — id, user_id, actor_id, table_name, record_id, action, before, after, …
- departments — id, user_id, name, description, parent_id, head_employee_id, created_at, updated_at, …
- devices — id, createdAt, updatedAt, userId, name, pushPlatform, pushSubscription, hasPushSubscription
- documents — id, user_id, employee_id, kind, title, category, s3_key, file_url, …
- employees — id, user_id, employee_number, first_name, last_name, work_email, personal_email, phone, …
- notifications — id, user_id, kind, title, body, payload, read_at, created_at, …
- performance_reviews — id, user_id, employee_id, reviewer_id, cycle_id, rating, summary, status, …
- pto_balances — id, user_id, employee_id, kind, accrued_hours, used_hours, year, policy_id, …
- pto_policies — id, user_id, name, kind, accrual_rate, max_carryover_hours, effective_date, created_at, …
- pto_requests — id, user_id, employee_id, kind, start_date, end_date, hours, reason, …
- review_cycles — id, user_id, name, start_date, end_date, status, created_at, updated_at, …
API (15 handlers)
- \_decorate
api/src/handlers/_decorate.ts - \_seed
api/src/handlers/_seed.ts - audit
api/src/handlers/audit.ts - dashboard
api/src/handlers/dashboard.ts - departments
api/src/handlers/departments.ts - documents
api/src/handlers/documents.ts - employees
api/src/handlers/employees.ts - notifications
api/src/handlers/notifications.ts - onboarding
api/src/handlers/onboarding.ts - org-tree
api/src/handlers/org-tree.ts - performance
api/src/handlers/performance.ts - profile
api/src/handlers/profile.ts - pto
api/src/handlers/pto.ts - reports
api/src/handlers/reports.ts - reset-password
api/src/handlers/reset-password.ts
Subscription tiers
free / pro / team — gated by: maxDepartments, maxDocuments, maxEmployees, maxPto, advancedFeatures, canExport, retentionDays
Built from 20 @molecule/* packages
@molecule/api-audit-database@molecule/api-database-postgresql@molecule/api-email-templates@molecule/api-emails-mailgun@molecule/api-entitlements@molecule/api-import-export-csv@molecule/api-payments-stripe@molecule/api-permissions-custom@molecule/api-resource-activity-feed@molecule/api-resource-payment@molecule/api-resource-user@molecule/api-search-meilisearch@molecule/api-uploads-s3@molecule/app-billing-react@molecule/app-calendar@molecule/app-command-palette@molecule/app-data-table@molecule/app-file-upload@molecule/app-kpi-card-react@molecule/app-tree-view
Required secrets
DATABASE_URLPostgreSQL connection stringMEILISEARCH_API_KEYMeiliSearch API keyS3_BUCKETS3 bucket for document uploadsMAILGUN_API_KEYMailgun API keyMAILGUN_DOMAINMailgun sending domain
The @molecule/* packages are Apache-2.0. The app you build from this template is yours to export and self-host. Licensing