Pixel Software Hub

Warsaw

All projects

Case study 01 · HRM

Time · 19 months, 02.2025–09.2026

Next.js · React · TypeScript

For the first time in 18 years, the company knows where its work time goes.

HRM. HR and operations platform for a whole company, 50+ people.

See the demo

01Problem

Employee reviews lived in scattered documents and each one looked different. Outcomes were hard to find later. Team contacts sat in an outdated spreadsheet. For 18 years the company had not measured where work time goes.

Assumptions

  1. One tool for the whole company, with access by role.
  2. Row-level security in the database is the access boundary, not the interface alone.
  3. Data comes through the APIs of tools the team already uses.
  4. Timesheets should show where time goes and what work really costs.
  5. The AI assistant answers only from sources, with citations. I measured its quality before rollout.

02What I built

03Proof

Integrations
12APIs, crons and webhooks
Users
50+the whole company
Commits
161302.2025–09.2026
Screens
5357 API endpoints
Test cases
1847101 files, counted from code
RAG assistant recall@8
1.0faithfulness 1.0, 7 labelled questions

04How

I started in February 2025 with one module, the annual review. Each next module shipped on its own, and only once the previous one worked. Goals, surveys, analytics, timesheets, the Slack bot and the RAG assistant came after reviews.

Timesheets have been live since August 2026.

I write code with AI agents in Cursor.

I built the RAG assistant in four days, from 28 June to 1 July 2026. Before rollout I checked it against an evaluation set and with tests for prompt injection and data leaking past permissions.

Time
19 months, 02.2025–09.2026
Tools
  • Next.js
  • React
  • TypeScript
  • Supabase
  • PostgreSQL + RLS
  • pgvector
  • Tailwind
  • Vitest
  • Vercel Cron
  • n8n
  • Slack API
  • Microsoft Graph
  • Pipedrive
  • ClickUp
  • OpenRouter
  • Resend

05Demo

hrm.pixelsoftwarehub.devOpen in full window

See potential in your company? Write to me