Skip to main content
    All work

    WarleyHub

    Multi-tenant staffing and booking platform serving twelve verticals from one codebase, with each agency on its own subdomain.

    The problem

    Staffing agencies in different industries need the same core software — applications, credentialing, scheduling, dispatch, payroll — but every vertical has its own compliance rules and vocabulary. Building twelve products is untenable. Building one generic product fits nobody.

    Approach

    • One codebase, one deployment, per-agency subdomain resolution.
    • Vertical configuration rather than vertical forks: each industry supplies its own credential types, compliance rules, and terminology.
    • Tenant isolation enforced in the database, not the application layer, so a bug in a query cannot leak another agency's data.

    Architecture

    • Postgres row-level security is the isolation boundary. Every tenant-scoped table carries a policy; the app holds no tenant filtering that a missed WHERE clause could bypass.
    • Role-based access across agency staff, workers, and client schools, with permissions resolved server-side.
    • Capacitor wraps the same React build for iOS and Android, so worker-facing mobile shares the web codebase.

    What shipped

    • Twelve verticals: education, healthcare, legal, home services, light industrial, events, professional services, moving, security guard, pest control, bartending/catering, and massage therapy — the last runs bookings only, with the staffing modules switched off by configuration.
    • Applications, credentialing, scheduling, dispatch, and payroll modules.
    • Native mobile builds from the shared codebase.

    Stack

    React 18TypeScriptSupabasePostgres RLSCapacitor

    Building something like this?

    Tell us what you're working on and we'll tell you honestly whether we're the right team for it.

    Start a conversation