Case study 01 · SeasonReady

Fill every shift. Reach every phone. Know how they’re going.

Most seasons run on a spreadsheet, a group chat and the owner’s memory: who’s arrived, whose documents expire, who can cover Thursday, who’s struggling. SeasonReady puts it in one system, with a worker app in every pocket and a dashboard on your desk. It's running beside you. Scroll, and it runs for you.Scroll to see it at work.

Project
SeasonReady
We built
Worker app + employer dashboard
Timeframe
Aug 2026 – Oct 2026
Status
Worker app and dashboard

01 · What it solves

The season runs on spreadsheets, group chats and you.

SeasonReady puts the season in one system: a worker app in every pocket and a dashboard on your desk. Here is what it takes off your plate.

  • Need to fill a shift?

    Post it once. Workers see it on their phone and pick it up, and you approve it on the roster. See it live

  • Need everyone to know?

    One notice from the desk lands on every worker’s phone, and you can see who has read it. See it live

  • Is everyone okay?

    A two-tap weekly check-in becomes a wellbeing score with a trend, by team. Anyone asking for support is flagged for pastoral care.

  • Where is everyone?

    A map of your sites: who is on shift where, who is off, who is sick, and who is unaccounted for.

  • Sick at 6am?

    Two taps on the phone instead of a phone call. It lands on your desk with a clock running.

  • Is the paperwork in order?

    Documents sorted by days until they expire, inductions tracked, and the season pack exported in one step.

Before we built

We listened to both sides of the season.

The worker

Not just arriving for a job. Leaving family, flying to another country, a new workplace, new house and new rules — often in a second language.

  • Know what's happening tomorrow
  • Ask for help without making a fuss
  • See their own flights and visa dates

The employer

Running a small town as well as an orchard. Housing, transport, pastoral care and a roster that changes daily.

  • See what needs them first
  • Know how the team is really going
  • Reach everyone, every time

02 · The worker's side

In their pocket.

2.1

Day one starts before the flight.

Workers sign in with the ID their employer gives them, check it's really them and set a PIN. No email address, no password to forget.

The worker app's opening screen, with the SeasonReady kiwi
2.2

Ready before they land.

A short checklist and a welcome video, set by the employer. The home screen opens once it's done.

The pre-departure checklist, with a welcome video and three steps
2.3

Home knows what comes next.

Their next shift, this week's check-in and — once it's close — the flight home. Not a menu of features. What's next.

The worker home screen showing today's day shift and the weekly check-in
2.4

Their week, in their pocket.

Every shift from start to finish, with paid hours and days off spelled out.

My shifts: the week's shifts and paid hours
2.5

Sick at 6am? Two taps, not a phone call.

Report sick, an accommodation problem or something worse — under their name or anonymously.

The report screen: what would you like to report

03 · The employer's side

On their desk.

3.1

Opens on what needs you.

Not nine identical tiles. A ranked list — the lapsed visa first, because it's the one with a legal deadline.

The dashboard's Today view: a ranked Needs you now list and the Season pulse
3.2

A wellbeing signal that tells the truth.

Weekly check-ins roll up into one index and a trend. A high score that's falling says so.

The wellbeing screen with the index, trend and team breakdown
3.3

The roster, with the gaps showing.

Shifts by person and day. Cover needed and hours over the limit are flagged before they happen.

The weekly roster grid
3.4

Every report on a board, with a clock.

New, acknowledged, in progress, resolved — and who has it. Nothing sits in someone's inbox.

The reports board with columns by status

04 · The loop

Send it from the desk. Watch it land in their pocket.

This is the part a spreadsheet can't do. Write a notice and publish it from the dashboard.

Kind

The live apps load as you scroll. On a phone, open the apps linked below.

The dashboard's Notices screen
The worker's Notice Board

05 · Fill a shift

A gap on the roster. Filled from a phone.

No ring-around. Open shifts show on every worker’s phone. One taps to pick it up, it lands on your roster, and you approve it.

The live apps load as you scroll. On a phone, open the apps linked below.

The dashboard's roster, with the gaps showing
The worker's week of shifts

06 · Your version

Put your name on it.

Type your business and your region. Both apps change to match.

What you type stays in this browser.

Inside the dashboard · new

Onboarding a new starter. From visa to first shift.

Every season starts with a wave of arrivals: paperwork before they fly, a cabin and a site induction when they land, and a first week that decides whether they come back. The Onboarding screen keeps each new starter’s first week in one place. Visa, flights and cabin come straight from the staff record, and signing off the site induction here signs it off on Inductions too. Tick off a first week, or pick someone else who’s starting. Anything you change stays in your browser.

Live
SeasonReady dashboard · OnboardingOpen the dashboard
One checklist per starter
Before they fly, arrival and the first week, ticked off as it happens.
Read from the record
Visa, flights and accommodation tick themselves from the staff record, so nothing is typed twice.
Joined to Inductions
Sign off a site induction here and the Inductions register and roster cover suggestions know straight away.
Everyone starting
Each new starter’s progress side by side, so nobody’s first week slips through.

Does your business need this?

How many hours does each new starter cost you?

Paperwork, inductions, accommodation and first-week check-ins add up fast in a busy season. Find out where your onboarding hours go.

Take the free snapshot Count the hours it costs

Seven quick questions. You see your first answer before we ask for an email.

07 · How we got here

From first sketch to working software in 10 weeks.

Commits
129
Automated tests
240
Screens
44
Lines of code
42,701

Counted from the repository at commit 39c7c58, not estimated.

  1. Aug 2026

    Listening first

    Shaped with an industry-informed partner, with both sides of the season in the room.

  2. Design

    26 directions explored. One chosen.

    Fern and coral, Pacific patterns, a blue and yellow that felt like sunshine on an orchard. Each one drawn as a real screen, not a mood board.

    An early welcome hub concept
    A worker hub with yellow accents
    A fern and coral colour direction
    A landing screen with bottom navigation
    The final worker home screen
  3. The brand

    Three leaves: family, worker, employer.

    Blue for trust and connection, yellow for warmth and support. One promise on every screen: prepared, informed, connected, supported.

    The SeasonReady brand sheet: the logo, the three leaves standing for family, worker and employer, the blue and yellow, and the promise Prepared. Informed. Connected. Supported.
  4. Worker app

    25 screens, phone first

    Tested by driving whole journeys — real typing, real taps — not just checking buttons render.

  5. Dashboard

    19 screens, one source of truth

    One state, one reducer, and every change written to a readable activity log.

  6. The contract

    Two apps, one shared file

    They deploy separately, so they share a versioned content pack — byte-identical in both, with a test that fails if they ever drift.

  7. Oct 2026

    This page

    A bridge so this page can drive both apps. You've just been scrolling through it.

The system behind it

More than an app.
A system they own.

The job it replaces
Spreadsheets, group texts and paper forms used to run a season.
The data and rules
One season record: workers, documents with expiry dates, rosters, travel and notices, with what each side is allowed to see.
What runs on its own
Document chase-ups sorted by days left, a notice published once that lands on every phone, and the season pack exported in one step.
Where it lives
A demonstration in the browser. A commissioned version would run in the employer’s own account.

How it compares

Rostering apps rent you a roster. This runs your season.

Most employers who outgrow the spreadsheet look at a rostering subscription next. Here’s how those compare with a seasonal system the business owns.

SeasonReady compared with Deputy and Tanda
DeputyTandaSeasonReady
PriceFrom US$5 per user a month, with a US$30 monthly minimumFrom $12.80 + GST per user a monthNo per-worker fee. A one-off build, plus a monthly care plan if we host and look after it.
RostersA core strengthA core strengthRosters with the gaps showing, and open shifts workers pick up from their phone
How staff are goingShift Pulse: feedback after each shiftNot listed on its pricing pageA weekly check-in, rolled into a team wellbeing index with a trend
Seasonal paperworkA general workforce toolA general workforce toolDocuments with expiry dates, travel, pastoral care and the season pack
Where the data livesDeputy’s cloudTanda’s cloudIn the employer’s own account

Fair to say Deputy and Tanda are mature rostering and timesheet tools with payroll connections, and Deputy already asks staff how each shift went. If rosters and timesheets are all you need, they’re a good choice. SeasonReady is for the parts of a season they weren’t built for, and the whole thing is yours.

Prices from deputy.com and tanda.com.au, checked October 2026. Deputy bills NZ accounts in AUD. The employer is illustrative.

08 · Under the hood

Built to be handed over.

Employer dashboard19 screens · one reducer Content packversioned JSON contract Worker app25 screens · falls back safely exportsreads
The dashboard exports a content pack; the worker app reads it and falls back, section by section, if any part is missing or malformed.
  • Honesty is a design rule

    Every control does something. Connection and access requirements are clear.

  • One source of truth

    Every tile, chart and board reads the same records, so they can't disagree.

  • Falls back, never breaks

    A partial or broken content pack falls back section by section instead of failing.

  • Typed, tested, documented

    A written spec, a deploy guide and a handover note ship with the code.

React 19 · TypeScript · Vite · React Router 7 · Vitest · Playwright

09 · Your build

Built around your own season.

Explore the app and dashboard here in your browser. A commissioned version connects your records, access rules and business systems around how your people work.

  • Sign-in and roles that are a real security boundary
  • A server in New Zealand, so worker data stays here
  • Payroll, visa and travel systems connected, not re-typed
  • Tongan, Samoan and Bislama, properly translated
  • Notifications to every phone, not just the one on this page

What would connect your people and operations?

Tell us what workers and your team need to share. We'll explore the app, dashboard and backend requirements for your version.

It’s yours. No one else owns it.