~/bpabatao
← back to index

Biopharma Strategy Platform

An ISO 27001-certified strategy SaaS for enterprise pharma - a schema-driven clone engine, dependency-aware archive/restore, and real-time collaboration.

Role
Originating engineer on two subsystems
Period
2024 - present
Ownership
1 of 3 core engineers
Stack
React · TypeScript · Node · GraphQL · Prisma · PostgreSQL · AWS
finalised strategythe source of truthclone enginewalks prisma dmmfnew strategyschema-complete copydependency registrywarns before archive or deletegraphql contract + resolverarchive cascadesrestore returnsbelief shiftper-group finalisenarrativeper-group finaliselandscapeper-group finalise
A DMMF-driven clone engine copies a finalised strategy, and a dependency registry cascades archive and restore across dependent entities

Problem

Brand strategy in pharma is not one document. It is a graph of artefacts that teams finalise, reuse, and revise for years, and the two operations that matter most are the two that are easiest to get wrong: starting a new strategy from a finished one, and removing something other artefacts quietly depend on.

Copying by hand drifts the moment the schema moves. Deleting without knowing the dependents loses work that a regulated client cannot lose.

Constraints

The platform is ISO 27001 certified and in private beta with enterprise pharma clients, so destructive actions have to be reversible and admin and user actions have to be attributable. Three core engineers cover the whole product, which rules out subsystems that need a specialist to operate.

Decisions

Architecture

Clone engine: driven by the schema's metadata, a new field or relation is cloned because the schema says so, not because someone remembered to add it.

Dependency subsystem: a registry describes which entities depend on which, exposed through its own GraphQL contract and resolver and rendered by a registry-driven modal. Finalised entities with dependents warn before an archive or a delete.

Across the product: real-time collaboration over GraphQL subscriptions, OpenAI-backed generation features, and platform security work on OWASP/IDOR exposure and JWT sessions.

Outcome

view resume ↗ (opens in new tab)email me