All selected work

CROSS-PLATFORM PRODUCT · TRADING EDUCATION · 2026—

FLOW

One product, four surfaces, one set of rules.

NestJSNext.jsExpoPrismaPostgreSQL
ONE SYSTEM, EVERY SURFACEARCHITECTURE CONCEPT · NOT A PRODUCT SCREENSHOT02

01 / Context

The problem

A learner who buys a course on the web expects it on their phone a second later. The moment access rules are written twice, the two surfaces start disagreeing about what someone paid for.

02 / Response

The product response

A monorepo where web, mobile and admin are separate applications over one API, one schema and one entitlement engine. Courses, subscriptions, one-time purchases and trading signals all resolve access through the same server-side rules.

03 / Contribution

My role

Architecture and full-stack implementation across the API, the web and admin applications, and the native mobile client. The repository is private.

04 / Architecture

How the pieces connect

  1. 01Next.js web and admin surfaces
  2. 02Expo iOS and Android client
  3. 03NestJS API and entitlement engine
  4. 04Prisma + PostgreSQL data layer

05 / Execution

The engineering challenge

Keeping one definition of what a user is entitled to while three clients, two purchase models and a payment provider all ask the question differently — and enforcing the answer on the server, never in the interface.

06 / Result

Outcomes & perspective

In development. Course delivery, subscriptions, one-time purchases and the admin control centre are implemented and covered by integration tests against a real PostgreSQL database. The product has not launched.

07 / Reflection

A lesson from the work

Shared business logic is what makes a cross-platform product one product. The moment mobile reimplements a rule, there are two products that merely look alike.

08 / Evidence

Evidence & scope

Source: private monorepo README, package manifests and application structure, inspected September 2026. Development status is taken from the project’s own release documentation.

Next projectURM Nexus
07 / Let’s talkEnd of trace

Have a problem
worth building for?

Let’s talk about your product, your team, and where I can contribute.

Start a conversation

Email reaches me fastest.