ROHAN

WORK / ASSET & ERP PIPELINE

Asset & ERP Pipeline

A FastAPI integration layer connecting QuickBase to SAP, plus an asset pipeline serving media from S3 with EXIF geolocation, video-frame extraction, and credential-isolating proxy APIs.

ROLE

Backend engineer, Design Intelligence LLP

STACK

FastAPI · S3 · Wasabi · Python

TIMELINE

2025 — ongoing

STATUS

Shipped, in production

THE PROBLEM

The team needed QuickBase — a low-code operations platform — talking to SAP, and needed a media pipeline that could take raw assets from field work and serve them to a frontend with useful metadata attached, without exposing third-party credentials to the browser.

This is described at the architecture level only — client identity and schema details are under NDA.

CONSTRAINTS

  • No client-identifying details or schemas could be exposed, including in this write-up
  • Media pipeline had to handle both images and video, at volume, from field-collected sources
  • Frontend needed on-demand previews without every client request touching third-party APIs directly
  • QuickBase and SAP have very different data models — the integration has to reconcile that, not just move bytes

ARCHITECTURE

A FastAPI service sits between QuickBase and SAP. A separate asset pipeline pulls from S3 and Wasabi, extracts EXIF-based geolocation, converts video to frames for previews, and serves 3D/image previews on demand — all behind a proxy layer that keeps third-party credentials off the client.

  • 01Integration service — FastAPI, reconciles QuickBase and SAP data models
  • 02Asset pipeline — EXIF geolocation extraction, video-to-frame conversion
  • 03Proxy layer — every third-party call routes through the backend; no keys ship to the browser
  • 04Bulk operations — scripted, unattended Wasabi storage management

DECISIONS

1. A proxy layer instead of client-side API calls

The frontend originally would have called third-party services directly, which means shipping credentials to the browser. Routing every external call through a backend proxy keeps every secret server-side — the frontend only ever talks to our own API.

2. EXIF extraction, but with a validation pass

Location metadata from field-collected photos isn't reliable on its own — phones and cameras write EXIF data inconsistently, and it can be stripped or wrong. Extraction has to be paired with sanity-checking against plausible bounds rather than trusted blindly.

3. Bulk operations against Wasabi in Python, not manual per-file handling

The team was doing asset organization by hand before this. Scripting the bulk operations meant the same task went from a manual chore to something that runs unattended.

RESULTS

2

Enterprise systems integrated

Automated

Bulk asset operations

0

Client credentials exposed to frontend

WHAT I'D DO DIFFERENTLY

Nothing further to disclose at the architecture level beyond the above — this one stays intentionally high-level given the NDA.