Zeus Software/Work/iWork
Case studyWellbeing research · 2025

iWork —
wellbeing
studies.

A research platform for running wellbeing studies: protocols, multilingual quizzes and structured data collection. Angular admin app + NestJS REST API, built for the researcher and her team.

Client
NDA — independent researcher
Sector
Research · Wellbeing
Year
2025
01

What is
iWork.

A research console for designing and running wellbeing studies: protocols, multilingual quizzes, macro-actions, reports and mood tracking — managed by the researcher and her team with granular roles and REST APIs ready for integration.

02

Where we
started.

A researcher designs wellbeing programs, but distributes them via PDF and email. Quizzes kept in spreadsheets, translations redone by hand for every country, responses collected however they come in. A solid protocol, a process that doesn't scale.

i.

The challenge

Turn a wellbeing research protocol into a multilingual digital product. Three roles — researcher, company manager, employee — with distinct permissions and views. Multiple domains: programs, quizzes, content, organizations. Clinical history tracked without ever losing a data point.

ii.

Our approach

One data model for every domain. JSON translations managed inline by the researcher, no lookup tables. Context-aware scoping: every user sees only what their context authorizes. Weekly demos with the lead researcher, soft-delete everywhere so no state is ever lost.

iii.

The result

Wellbeing programs distributed across multiple countries without going back through manual translation. A research protocol digitized from collection to reporting. The researcher is self-sufficient managing content — no more tickets to change a single question.

The researcher's overview.

You land straight in the console: study KPIs, cohort compliance, recent activity and protocols awaiting publication — all on one screen, no support needed.

app.iwork · overview
iWork dashboard — research overview with KPIs, cohort compliance and protocols awaiting publication

Admin console · homeA wellbeing program launched in 10 minutes. It used to take weeks of setup, manual translations and spreadsheets emailed back and forth — now the researcher opens the console and knows where to look in two seconds.

Angular 20PrimeNGNgRxSignals · OnPush
03

Key
features.

Four main areas of the admin console. Each area is a full CRUD scope, with soft-delete, multilingual content and context-aware user scoping.

i

Quizzes &
answers

Question editor, multilingual answers, scoring and categories. Versioning and controlled publishing.

ii

Study
protocols

Step sequences, macro-actions, dependencies and gating. Items linked to strengths, mood and categories.

iii

Reports
& export

Dashboards for the researcher, CSV/Excel export with custom filters. Aggregations by group, period and category.

iv

Notifications
& mood

Configurable triggers, FAQ, support requests. Mood tracking and reminders to keep participant compliance high.

04

Three roles,
distinct scopes.

Context-aware authorization: each role sees only what it needs. Operators have read-only access to lists — no destructive actions, ever, by mistake.

i.full

Admin

  • Full CRUD across every domain
  • User, role and group management
  • Global settings configuration
  • Export, reports, support requests
  • Publishing quizzes and flows
Full access · reversible actions via soft-delete
ii.primary

User

  • Completes assigned quizzes and protocols
  • Daily mood tracking
  • Views personal strengths
  • Opens support requests, reads FAQ
  • Receives notifications and reminders
Participant profile · self-service experience
iii.read-only

Operator

  • Read-only lists
  • Views aggregated reports
  • Reviews notifications and mood
  • No writes, ever
  • Audit-friendly for compliance
Operational view · zero risk of destructive errors
05

Domains
managed.

Twelve Prisma aggregates with soft-delete (deletedAt) everywhere, multilingual fields stored as JSON (name, description, title) and user scoping on every REST endpoint.

LearningQuiz
LearningFlows
LearningMacro / actions
ContentCategories
ContentItems
ContentStrengths
PeopleUsers
PeopleGroups
PeopleMood
OpsNotifications
OpsReports & export
OpsSupport · FAQ
06

Technical
features.

Architectural choices built to last: a single source of truth for types, lazy loading on admin routes, per-environment configuration, native multilingual support from day one.

i.Multilingual JSONEvery translatable field (name, description, title) is stored as Prisma JSON. No separate translation table, no cross-language join: the payload is already internationalized at the source.
ii.Soft delete everywhereThe deletedAt field is present on every aggregate. No row is ever physically deleted: history, audit and restores stay possible without a backup dump or restore.
iii.Context-aware user scopingThree roles (ADMIN, USER, Operator) with dedicated NestJS guards. Operators see lists as read-only — the backend filters at the repository level, not the controller.
iv.Lazy loading admin routesEvery Angular feature is a lazy route with selective preload. The initial bundle stays under 280 kB gzipped — the admin console loads fast even on corporate 4G connections.
v.Per-environment config.env.{env} files validated at startup with Zod. Dev, staging and production share the same schema — no deploy surprises, no missing variables discovered at 11pm.
vi.Nx monorepo · shared libraryA single @i-work/lib library exposes types between backend and frontend. When the Prisma schema changes, the TypeScript error shows up before the next deploy — not in production.
07

Project
status.

Incremental shipping, no big-bang releases. v1.0.0 is in production; v1.1.0 extends the data model and introduces the aggregated reports the researcher asked for.

● live in production2025
v1.0.0

Foundation release

  • Full admin console: quizzes, protocols, participants
  • REST API /api with JWT & roles
  • Multilingual, soft-delete, context-aware scoping
  • Jest + Playwright test suite in CI
○ in progressQ1 2026
v1.1.0

Reporting & integrations

  • Aggregated reports by group & period
  • Multi-sheet Excel export with saved filters
  • Webhooks for notifications to external systems
  • Mood tracking extended with historical trends
08

Tech
stack.

Nx monorepo, NestJS on the backend, standalone Angular 20 with signals and OnPush on the frontend. Tests written the way code is written: Jest for the API, Playwright for the console.

MonorepoNx
BackendNestJS
ORMPrisma
DatabasePostgreSQL
AuthJWT · REST
TestingJest · Docker
FrontendAngular 20
FrontendStandalone · Signals
StateNgRx
UIPrimeNG
E2EPlaywright
Shared@i-work/lib

A console the researcher and her team use every day — without ever asking for support.

09 — Next stepsAre you a researcher or corporate HR?

Have a wellbeing platform that needs to grow?

We build multilingual wellbeing platforms for research and HR: program management, corporate quizzes, context-aware scoping across multiple roles, research products digitized from collection to reporting. Send us a couple of lines — we reply within 48h.