All work

HX Insight · Punjab Group of Companies · Shipped June 2024

HX Insight is the HR system for Punjab Group of Companies: 8,700 people in 32 subsidiaries. I led the redesign of four everyday flows, leave, project resourcing, onboarding and attendance, so requests go through one place, decisions come with the facts, and HR, payroll and finance get the record without retyping it.

Role

Lead designer and part-time frontend developer

Team

Dev team and HQ HR, cut mid-project

Timeline

6 months, shipped June 2024

Research

50 people across subsidiaries

Status

Shipped, used daily

Approvals in HX Insight with Ayesha Khan’s annual leave request open in a drawer: Wed 14 to Fri 16 Oct, 3 working days, 12 available and 9 after, team cover for each day with Thursday at low cover, her note, the approval route, and Reject and Approve.

Approvals · A leave request, with balance, cover and her note in one drawer

Problem

HR ran on email, chat and 32 spreadsheets. Leave went by email with HR in copy, and punch exports were retyped for payroll every month.

My role

Lead designer and part-time frontend developer, with the dev team and HQ HR. Six months, shipped June 2024, research with 50 people across subsidiaries.

What changed

Four everyday flows — leave, resourcing, onboarding and attendance — each sending only the exceptions to HR.

Result

Shipped and used daily. A leave decision takes about four hours, where it was about three days.

Faster decisions, and no more spreadsheets

4 h

Leave decision time

Was about 3 days

1 day

To staff an open role

Was about a week of chat

9 in 10

New hires set up on day one

Was about 4 in 10

32 → 0

Sheets retyped for payroll

Leave and timesheets go direct

01

HR ran on email, chat and 32 spreadsheets

Across 32 subsidiaries, everyday HR work ran on email, chat and Excel. Every request needed a chaser, every decision was typed in twice, and payroll and finance worked from data that was already out of date.

Leave went by email with HR in copy. Staff were requested by name over chat. New-hire checklists sat with HR, IT and managers separately. Punch exports were retyped for payroll every month.

02

Ayesha asks for three days off, and has her answer by lunch

Before, this was an email, two reminders and a sheet. Now Ayesha sees her balance and team cover before she asks, and Bilal decides with everything in one drawer.

  1. Request leave drawer over the Leave page: annual leave from Wed 14 to Fri 16 Oct, 3 working days, 12 available and 9 left after approval, who else in Design is off each day with Thursday marked low cover, a note for the manager, and who it goes to.

    09:12 · Ayesha asks

    Working days are counted, nine left after, and a thin Thursday is flagged before she sends.

  2. Approvals list for Bilal Ahmed: eight requests waiting, each row with the request, dates, days, balance after, team cover and when it was submitted, with two selected and an Approve 2 bar at the bottom.

    11:40 · Bilal’s inbox

    Oldest first, with balance and cover on every row, so the easy ones go in bulk.

  3. Annual leave request drawer for Ayesha Khan: dates, working days, balance and notice, team cover for each day with Thursday at low cover, her note, the approval route, and Reject and Approve buttons.

    11:42 · Bilal decides

    Dates, cover and her note in one drawer. Approve is one click; a no needs a reason.

  4. Ayesha’s Leave page with 9 days of annual leave left and the notifications panel open: her annual leave was approved by Bilal Ahmed just now. The request shows as Approved in her list.

    11:42 · Ayesha knows

    Approved at once. HR and finance already have the record.

03

Mariam needs an engineer, and gets one the same day

Staff used to be requested by name over chat, so the same few people got overbooked. Now Mariam asks for a role, and Omar picks by skills, then by free time.

  1. Payroll revamp project, Allocation tab: 3.5 FTE booked of 4 planned, one open role for a Frontend Engineer, and the team table with each person’s allocation, dates and booking, the open role marked as a placeholder.

    Mariam spots the gap

    An open role sits in the team table, right where a person should be.

  2. Request a resource drawer: Frontend Engineer with React, TypeScript and Design systems skills, 2 Nov to 25 Dec, 50% allocation, confirmed booking, context for the resource manager, and a note that 3 people match and 1 is free for all 8 weeks.

    She asks for a role, not a name

    Skills, dates and load, with a live count of how many people match.

  3. Frontend Engineer for Payroll revamp, as the resource manager sees it: the request summary, then three suggested people with their skill match and booked load per week. Zain Abbas is the best fit, one would overbook and one is fully booked.

    Omar finds the best fit

    People ranked by skill match first, then by their free weeks.

  4. Assign Zain Abbas to Payroll revamp dialog: dates, load and line manager, Zain’s load for each of the 8 weeks with this booking, peaking at 75%, tentative or confirmed booking, and an option to tell Zain and his line manager now.

    He checks the load, then books

    Zain’s weeks after the booking, tentative or confirmed, before anyone is told.

04

Hassan signs his offer, and is ready before his first day

Checklists used to sit with HR, IT and managers separately, and new hires waited for laptops. Now one plan starts from the signed offer, and every owner gets their part.

  1. Start onboarding drawer for Hassan Qureshi: offer details carried over from the signed offer, a plan template of 18 tasks, a suggested onboarding buddy, equipment to order, and a welcome email toggle.

    Rabia starts from the offer

    Role, team, manager and start date come straight from the offer. A buddy is suggested.

  2. Hassan Qureshi’s onboarding plan: 61% ready for day one, 3 of 5 documents signed, 1 task late, and a task list with each task’s owner from HR, IT, his manager or his buddy, due date and status.

    One plan, every owner

    HR, IT, manager and buddy tasks with due dates, and a readiness score.

  3. The same plan filtered to late or due soon: three tasks selected, two late and one due tomorrow, with a Nudge 3 owners bar at the bottom.

    Chase only what’s late

    One filter, and one bulk nudge to every owner who is behind.

  4. Hassan’s dashboard on his first day: today’s schedule of people to meet from 9:30 to 17:00, his email, Slack, Figma and Jira accounts all ready, and a checklist for the week.

    Hassan’s day one

    A schedule of people to meet, accounts ready and a first-week list.

05

Ayesha forgets to clock out, and payroll never notices

Punch records used to be retyped for payroll, and missed punches were fixed by email. Now the clock catches the miss, Ayesha fixes it with a request, and Bilal reviews only the exceptions.

  1. Clock sheet before clocking in: the current time, her 9:00 to 18:00 shift, a confirmation that she is inside the Gulberg office, a Clock in button, and the week so far.

    Ayesha clocks in

    Her shift, the site and whether she is inside it, before one tap.

  2. Clock sheet the next morning: a warning that she did not clock out on Tue 10 Nov and the clock stopped at 18:00, a Fix Tue 10 Nov button, the day marked No clock out in the week, and a timeline of what happened.

    A missed clock-out, flagged

    The clock stops at shift end and the day is flagged the next morning.

  3. Attendance timesheets for the manager: 24 of 27 days clean, 3 that need a decision, and a list of those three, a clock-out correction, a late start and an off-site day, each with a Review button.

    Bilal sees only exceptions

    Problem days come first. Clean days approve with the week.

  4. Approve and lock week 46 dialog: 6 timesheets with 218h 56m worked and 3h overtime go to payroll today at 18:00, after which only HR can change them.

    Approve, lock, pay

    The week locks on the cut-off and goes to payroll with an audit trail.

06

What I was working within

ConstraintWhat I did
Leaders cut the team halfwayKept leading, ran tight sprints and wrote frontend part-time. Shipped in six months.
32 subsidiaries, 32 ways of workingAgreed one set of rules with HQ HR, then tested it with 50 people.
Payroll and finance trusted only their sheetsApproved leave and locked weeks go to them directly, in the columns they already used.
Four flows, one design systemFew new components: a coverage row, a capacity strip and a clock card.
HR needed control without busyworkEvery flow flags exceptions and sends only those to HR.

Building B2B SaaS with complex workflows or AI features?

Send me the screen, or the idea. I’ll reply with what I’d do first.

Get in touch

Next case study One button, always in reach Desktop app · HX Insight