Workplace Activity Challenges for a Polish Employee-Benefits Company
Designed and built a clickable employee app for a Polish employee-benefits company's step and activity challenges: team and solo challenges where every activity converts to points, leaderboards where each person chooses how they appear, prizes with payroll tax notes, charity goals and a fair-play check before anything is won - while the employer only ever sees aggregates.
Most of our work is under NDA. Per agreement, we can share the work but not the company details - all names and identifying information shown here have been changed.
Today, challenges, challenge detail, leaderboards and activity history, with the join, log activity, day detail, conversion table and team quick view sheets.
16 rules turn steps, wheelchair pushes, swimming, cycling, hand-cycling, yoga, strength, dance and adaptive sport into points: 1 point a step, 1.5 a push, and 60, 100 or 150 points a minute by intensity.
A day above it is held as Being checked and shown without a rank until a reviewer decides. Points are capped at 30,000 a day, and manual entries at 20,000 a day within 3 days.
Active, upcoming and finished challenges for one employer, 12 department teams, 26 leaderboard entries, 3 charity partners, 2 connected devices and 59 days of one employee's activity.
Jarzębina ran its employer challenges on a white-label step app, a shared spreadsheet and a lot of email. Client HR teams asked for a list of who took part and how many steps they did, which Jarzębina's lawyers said it could not hand over. Wheelchair users and swimmers had no fair way to take part, three people with 90,000-step days won a prize before anyone looked, vouchers were sent by hand with no record, and nobody could tell payroll which prizes were taxable.
Sztafeta is one product built around voluntary participation, aggregated reporting and fair scoring. Employees join challenges, connect a wearable or log activity by hand, compete solo or in teams and choose how they appear on leaderboards. Every activity converts to points through a published table, implausible days go to a person before they can win anything, and employers see totals for groups of 10 or more.
An employer pays for the challenge, but in Poland and the EU it should not see who took part or how active they were. Sztafeta has to keep employees motivated, keep the scoring fair and keep the employer's view at group level, all at once.
European data protection authorities generally treat employee consent to employer processing as not freely given, and the Polish Labour Code limits what an employer may collect. Joining has to be genuinely voluntary, with no penalty and no reminders aimed at named non-participants.
Step counts and activity minutes can say something about a person's health, so they are handled with the care of Article 9 GDPR data. Only daily steps, activity minutes and distance are collected, never heart rate, sleep, weight or location traces.
Wheelchair users, swimmers and people who cycle or do yoga could not take part fairly in a step count. Every activity needs a published conversion, and anyone needs a way to pause or switch to a personal goal without explaining why.
Prizes from an employer are generally taxable employment income under the Polish PIT act, and benefits from the Company Social Benefits Fund (ZFŚS) generally have to depend on social criteria rather than winning. Payroll needs reward values, never activity data.
Mapped 10 roles across three surfaces (employee app, employer console and Jarzębina's operations console), 44 screens and the data model for employers, participants, device connections, activity entries, conversion rules, challenges, teams, prizes, reward orders, fair-play cases and employer aggregates. Wrote down the rules the design follows: GDPR in the employment context, the Polish Labour Code, health data minimisation, the PIT act, ZFŚS, WCAG 2.1 AA and the European Accessibility Act.
Built 5 key screens of the employee app on a production dashboard kit: Today with the points ring and conversion breakdown, challenges with the join sheet, challenge detail with rules, prizes, payroll tax notes and the charity pledge, leaderboards with a visibility switch that updates your row live, and activity history with device and manual sources and day detail. All actions run on local state.
Native iOS and Android apps reading Apple HealthKit and Google Health Connect on the device, the Garmin and Fitbit APIs, Entra ID or Google Workspace sign-in and SCIM provisioning, Pluxee or Edenred vouchers, InPost delivery, Przelewy24 for donations and Azure AI Content Safety for the feed. A full audit log, the Polish language version, and the employer and operations consoles with aggregated reports and the fair-play queue.
Each person shows on leaderboards by name, by nickname or not at all, and can let teammates see their contribution or appear as A teammate. Hidden people are not listed or counted in the positions, and the My department view only opens for groups of 10 or more.
Teams are ranked on average points per member, so a team of 18 can beat a team of 41. The main prize is a draw among everyone who reached the daily target on at least 20 days, so the fittest do not always win.
A day above 60,000 steps is marked Being checked, shows no rank and gives no reason to others, and the employee is told the outcome. When two devices report the same day, only the higher-priority source counts, so steps are never doubled.
Each prize says whether its value will be reported to the employer's payroll and that activity data is not shared. Charity goals show the public benefit organisation, its KRS number, the pledge rule, such as 1 PLN per 10,000 points, and progress toward the cap.

Designed and built a clickable trainer web app for a US coaching platform: a dashboard of who needs attention today, a client roster with adherence trends, a client record with PAR-Q+ screening and programming holds, a check-ins inbox against a 48 hour response target, and Stripe payments - keeping the product on the coaching side of the line with medical care.

Designed and built a clickable staff console for a chain of 18 boutique gyms and studios in Italy: a studio dashboard with today's classes by room, a check-in desk that checks membership, payment and medical certificate before letting anyone in, member profiles and session rolls with waitlists, late cancels and no-shows.
Enterprise Software Engineering - Human + AI
Contact Us
© 2026 - Copyright. All Rights reserved Oceanlab
Location
Global Headquarters
21 Merchant Road, 3rd Floor, Singapore 058267
Main corporate office and leadership operations
North America Office
548 Market Street, PMB 12345, San Francisco, CA 94104
Client operations and business development
India Office
402 Shivalik Shilp II, SG Highway, Ahmedabad 380015
Engineering and delivery center
Enterprise Software Engineering - Human + AI
Contact Us
Locations
Global Headquarters
21 Merchant Road, 3rd Floor, Singapore 058267
Main corporate office and leadership operations
North America Office
548 Market Street, PMB 12345, San Francisco, CA 94104
Client operations and business development
India Office
402 Shivalik Shilp II, SG Highway, Ahmedabad 380015
Engineering and delivery center
© 2026 - Copyright. All Rights reserved Oceanlab