Selected work04 / 06

AMBIC Data Platform

Full-stack web platform for biomanufacturing data: ingestion, normalization, visualization, and sharing across research teams. Handles life-critical data with provenance tracking and granular access control.

Date
February 2025
Disciplines
Data Platform, React, Supabase, Biomanufacturing
AMBIC Data Platform architecture: users in a browser, React frontend, Supabase Edge Functions API layer, and Supabase storage, PostgreSQL and auth, with the dataset upload path highlightedUsersNo software to installResearchersData analystsScientistsuploadFrontendReact, TypeScript, Vitedeployed on VercelDashboardFile and folder browserDataset viewerTables and chartsAnalyticsStats and visualizationNormalizationColumn mappingWeb Worker2D virtualization3,000+ column datasetsAPI layerSupabase Edge FunctionsDeno runtimeData processingprocess-dataset-uploadFile operationsobjects-post, get, patch, deleteSharing and permissionsobjects-share-post, get, deleteBackend servicesSupabase CloudStorageuser-files bucketcsvxlsxjsonprocessed csvPostgreSQLRow-level security on all tablesobjectsdatasetspermissionsshared_datasetsNormalized datasets link back to their sourceAuthJWT, email/passwordownereditorviewerThree-tier access control

Context

Researchers at the Advanced Mammalian Biomanufacturing Innovation Center (AMBIC) work with process data in CSV, XLSX, and JSON from a range of instruments and equipment. Before this platform, data sharing between teams meant emailing spreadsheets, and there was no standardized schema across datasets.

Because this data feeds into pharmaceutical manufacturing decisions, integrity requirements are high. A normalization bug that silently drops rows or misaligns columns could lead to incorrect conclusions in a clinical context.

FilesDatasetsMetadata
Illustration
01Dataset dashboard with file browser and metadata panel
linked
Illustration
02Hierarchical file browser with folder nesting and dataset linking

Architecture

Frontend is React + TypeScript with shadcn/ui and Recharts for interactive visualization. Backend runs on Supabase: PostgreSQL for structured data, Deno Edge Functions for file operations, object storage for raw uploads.

FrontendReactEdge FunctionsDenoSupabaseBackendrow-level securityStoragePostgreSQLƒƒƒ
Illustration
01System architecture: React frontend, Supabase backend, Edge Functions

Stack

LayerDetail
FrontendReact 18, TypeScript, Vite (SWC), Tailwind CSS, shadcn/ui, Recharts
TablesTanStack Table + TanStack Virtual, 2D row + column virtualization for 3,000+ column datasets
BackendSupabase: PostgreSQL + Deno Edge Functions + object storage
Data parsingPapaparse (CSV), ExcelJS (XLSX), native JSON
StateReact Query (server), React Context (auth), URL params (navigation)
AuthSupabase Auth (email/password) + MVP bypass token (internal testing)
SecurityRow-level security on all tables; %/content/% path pattern for storage RLS
Edge FunctionsDeno-based file CRUD, dataset processing, sharing operations

Key Technical Challenges

  • Wide datasets. Some biomanufacturing datasets have 3,000+ columns. The table component uses 2D virtualization (both row and column) so only the visible viewport renders. Without this, initial load would freeze the browser.
  • Schema normalization with provenance. Researchers map source columns to a standardized target schema. Every normalized dataset maintains a link back to its source, preserving the full transformation history.
  • Hierarchical file management. Folder nesting, dataset linking, and three-tier access control (owner, editor, viewer). The Supabase RLS policies for nested storage paths required careful attention, particularly around the %/content/% path pattern matching.
Source columnsTarget schemaprovenance
Illustration
01Column mapping from source schema to standardized target
3,000+ columns
Illustration
022D virtualized table rendering a 3,000+ column dataset

Data Visualization

Interactive time series charts, data exploration dashboards, annotations, and dataset sharing with access control. The upload and normalization flow was designed to match how researchers already think about their experiments, not how the underlying database models the data.

Illustration
01Interactive time series visualization with Recharts
Illustration
02Data analytics and exploration interface
EditorPeople with accessOwnerEditorViewer
Illustration
03Dataset sharing and access control panel

Next project

Lyophilization Mechanistic Model

First-principles ODE simulator for freeze-drying LNP/mRNA formulations. Nine coupled state variables across four process phases, with a batch driver that generates synthetic datasets for MSPC and ML pipelines.

chamber pressureshelf temperatureFreezeAnnealPrimarySecondary