Work / Papershift GmbH, 2021 to 2024
Absence and shift planning for 10,000 people a day
A component library, a TypeScript migration and two product modules built end to end on a German workforce-management platform.
Context
Papershift is a cloud HR platform used for legally compliant time tracking, shift rostering, absence management and payroll preparation across hospitality, retail, healthcare and manufacturing. The frontend was a Vue 2.6 application backed by a Rails API, with a Mobiscroll scheduler at its centre. I worked on it as a freelance frontend engineer for four years, remote from Lagos, embedded with the team in Karlsruhe.
What I built
Two kinds of work: the foundations, and the product modules that sat on them.
- A library of reusable Vue components, which cut regression bugs by 12% and sped up feature delivery, measured in the fortnightly retrospectives.
- The TypeScript migration, bringing the Composition API into the Vue 2.6 codebase and reaching 78% code coverage with a 15% performance improvement.
- The absence-management module: the calendar timeline integration, overlap detection and notification, date-range filters, attachment validation, employee search, timezone-correct absence creation and the mobile layouts.
- The shift-plan module from an empty directory: module types, store, routes and components, then area sections, shift cards, shift templates and staffing-state colouring on the scheduler.
- Automated testing in the workflow with Jest, Storybook and Chromatic, plus Hotjar, numbered web releases and a Jira board cleanup.
Outcome
Crash reports fell 22% after the legacy refactor. The absence and shift-plan modules shipped to production and are part of the product today. Papershift’s managing director issued an employment certificate describing the work as designing scalable, maintainable user-facing applications, crafting modular and reusable components, and introducing automated testing into the development workflow.