Skip to content
JAEWON CHANGSystems Dossier
Language

Specification

Organisation
Nudge Healthcare
Period
2024
Team
App, web, SDK, server, QA and product — about 15 people
Execution sites
Android, iOS, Web, SDK, backend
Role
Translating requirements into structure, designing execution sites and call flow, cross-team alignment

Context

The requirements were written as what should happen. Several systems cannot execute that directly: development starts only once each capability has a site of execution and a place its data lives.

Approach

  1. For each capability I named the site of execution: Android, iOS, web, SDK or backend.

  2. Storage locations, data flow, API call relationships and ordering, and inter-service dependencies were written out as flows and sequences.

  3. Exception paths, failure handling and change impact were defined alongside them. A design with only a happy path collapses at QA.

  4. When product requirements met engineering constraints, I explained implementation cost and change impact and settled on an alternative. API contracts, schedules and dependencies were aligned with backend, Android, iOS, web and QA.

System

Execution sites and call relationshipsauth / eventsAndroid / iOSOfferwall SDKboundaryWeb viewBackendstate of record
Fig. offerwall flow

For every capability: who executes, and who holds the record.

The app opens the web view through the SDK; the SDK sends auth and events to the backend, which holds the authoritative state.

Boundaries

  • The SDK and native app implementations belonged to the platform teams. My role was turning requirements into an executable structure and aligning the interfaces between organisations.
  • The outcome here is the joint result of several teams.