Guilherme Moreira

All work01

ActivateStaff

Staffing platform

I am the lead frontend engineer at ActivateStaff. I joined to build its Invoicing and Payments feature from scratch, and now own the web app and the iOS and Android app that staffing agencies across North America run on.

Role
Frontend engineer, Web, iOS and Android
When
2024 to now
Company
ActivateStaff, Canada
Stack
React, TypeScript, Vite, Tailwind CSS, Expo, React Native
Live
activatestaff.com
Product tour, 17 seconds, no sound. Screens from ActivateStaff’s public site, with demo data.

The product

ActivateStaff is one platform with three faces: a tracking system for recruiters, a white-labelled app for the people who work the shifts, and a portal where client facilities approve time. Healthcare and commercial staffing agencies in Canada and the US run their week on it, from the schedule to the paycheck.

My role

I joined in August 2024 to architect and ship a new Invoicing and Payments feature, and grew into the lead frontend role. The whole client side is mine: the web app in React, Vite, TypeScript and Tailwind, and the Expo and React Native app on Android and iOS.

What I did

  1. Built Invoicing and Payments from the ground up

    Architected and delivered the feature agencies across North America use to bill their clients, from the first screen to release.

  2. Own the whole frontend, web and mobile

    Lead frontend engineer for the React web app and the Expo app on Android and iOS, responsible for the full client-side codebase.

  3. Built a shared UI component library

    Set the frontend architecture and patterns new features follow, so work ships faster and looks the same on every platform.

  4. Refactored a legacy codebase

    Led maintenance, refactoring and performance work with scalable patterns that raised code quality and made the code easier to work in.

  5. Integrated the core workflows

    Wired the REST APIs for scheduling, shift management, timekeeping and onboarding, with validation at every client and server boundary.

In the product

ActivateStaff timesheet table listing workers, shift times, clock-in and clock-out, paid time and differences, next to a phone showing a job with a Clock In button.
Timekeeping, one of the workflows I integrated: a clock-in on the phone becomes the paid time an agency bills.
Three phones running the ActivateStaff worker app: a job offer notification, a worker profile with availability and documents, and a shift calendar.
The worker app I own: one Expo codebase for iOS and Android.
ActivateStaff recruiter dashboard on a laptop: unread messages, worker activity charts and fill rate.
The recruiter web app, also mine to maintain: messages, worker activity and fill rate.

Impact

Invoicing and Payments is live for agencies across North America. The web app and both mobile apps move together, because the component library and patterns let a feature be built once and shipped everywhere.

3
platforms I ship to: the web app, iOS and Android
2024
leading the frontend since August, from one feature to the whole client side