All projects

012026Full-stack

Practicable

A digital product marketplace for risk management professionals, selling courses, practice questions, document templates and reference packs with entitlement-based access granted on purchase.

Period
Aug 2026
Context
Effective Risk Management

The problem

Every route into the product - a purchase, an admin grant, a self-serve refund, a chargeback from the Stripe dashboard - has to end at the same answer about who can see what. So access is decided at a single entitlement gate rather than checked ad hoc per endpoint, and certificate issuance is idempotent from both the lesson-completion and quiz-submission paths, so either ordering mints exactly one certificate.

The system

Purchase, admin grant, refund and chargeback all resolve at one entitlement gate, so access has exactly one answer.

What I built

  1. Designed a 42-table PostgreSQL schema across content, commerce, assessment and audit domains, managed through 42 Alembic migrations on async SQLAlchemy 2.0 and asyncpg.
  2. Developed 157 REST endpoints covering public content, gated member content, Stripe commerce and a 17-module admin panel, with role-based access control and immutable audit logging on every admin mutation.
  3. Implemented the entitlement gate as the single access-control boundary, with Stripe Checkout and webhook-driven fulfilment creating orders and entitlements, and admin, self-serve and Stripe-dashboard refund paths all revoking access consistently.
  4. Built a server-side assessment engine with configurable pass marks and attempt caps, all-or-nothing scoring for single- and multi-choice questions, and correct answers never serialised into learner payloads.
  5. Implemented idempotent certificate issuance gated on full lesson completion plus a passing attempt on every published module assessment.
  6. Built a 70-page React 19 front end with lazy-loaded routes, React Query cache-key factories, token-only theming and light/dark support.
  7. Wrote 582 backend tests across 45 Pytest modules plus 12 Playwright end-to-end suites including accessibility checks, with per-test isolated database sessions.

Stack

Python 3.12FastAPISQLAlchemy 2.0 (async)AlembicasyncpgPostgreSQL 16Pydantic v2SupabaseStripeMuxResendJinja2fpdf2ReportLabhttpxPyJWTPytestReact 19TypeScriptViteReact Router v8TanStack Query v5ZustandTailwind CSS v4Framer MotionAxiosPlaywrightRenderVercel

Skills applied

  • Relational schema design and migrations
  • Async backend architecture
  • Payment integration and webhook fulfilment
  • Entitlement and access-control modelling
  • Refund and revocation flows
  • Assessment scoring integrity
  • Idempotent service design
  • Audit logging
  • Transactional email and in-app notifications
  • PDF generation
  • Design-token theming
  • Accessibility testing
  • End-to-end and unit test automation