Preview
Loading Source Library
Portfolio Entertainment System
Web & AI

Source Library

Studio:Playpower LabsRole:Full-Stack Developer

Multi-tenant web platform that has processed 2,000+ rare books with AI (OCR, page splitting and translation), with JWT auth and role-based access.

Tech Stack

  • React
  • TailwindCSS
  • FastAPI
  • MongoDB
  • AWS S3
  • OpenAI
  • Google Gemini
  • Mistral

A web platform that digitises and processes rare Hermetic and esoteric texts with AI. It has processed 2,000+ books. The work centred on multi-tenancy, secure access and automated document pipelines.

Try it Out!

Link: https://demo-sourcelibrary.vercel.app/tenant-1
User ID: admin
Password: admin

Key Contributions

  • Joined as the backend developer and took over the frontend as well when the frontend developer's contract ended.
  • Worked directly with the CEO to keep releases on schedule through the transition, while continuing to add features.

  • One codebase serves multiple organisations.
  • Applied the Bulkhead pattern: tenants are isolated across AWS regions and separate MongoDB connections.
  • Custom middleware resolves the tenant from a request header (tenant slug), with an LRU cache to avoid repeated database lookups.

  • Passwords hashed with Argon2, salted and peppered.
  • Split-token JWT auth: a short-lived access token held in memory and a long-lived, HTTP-only refresh token.
  • A revocation store invalidates refresh tokens immediately on logout.
  • Role-based access control from UI routes down to API endpoints. The backend enforces it too, so bypassing the frontend checks doesn't help.

  • Global Axios interceptors add the tenant slug and a valid access token to every request.
  • Routes and UI render according to the user's role and permissions.
  • Frontend and backend permission rules kept in sync.

  • Gemini, OpenAI and Mistral, each used for different processing tasks.
  • A fully automated PDF pipeline for scanned uploads: image segmentation, splitting double-page scans, OCR, and translation of archaic texts.
  • Admin tools to re-split and reorder pages by hand when the AI gets it wrong.