AI-powered manufacturing inventory harmonization platform deployed on GCP (europe-west3).
flowchart TB
subgraph Users["๐ค Users"]
Portal["Portal<br/>portal.resourcly.com"]
Admin["Admin Dashboard"]
end
subgraph Auth["๐ Authentication"]
Firebase["Firebase Auth<br/>Google + Microsoft SSO"]
end
subgraph Frontend["๐ฑ Frontend Services"]
ReactPortal["React 19 + Vite<br/>Frontend"]
ReactAdmin["React 19 + Vite<br/>Admin"]
end
subgraph Gateway["๐ช API Gateway"]
GatewayAPI["Gateway<br/>Go 1.24 + Chi<br/>:8080"]
GatewayWorkers["Gateway Workers<br/>Pub/Sub Consumers"]
end
subgraph MLServices["๐ค ML Services"]
InternalAPI["Internal API<br/>FastAPI + Python<br/>:8000"]
VertexSearch["Vertex AI<br/>Vector Search"]
end
subgraph DocWorkers["๐ Document Workers"]
MistralOCR["Mistral OCR<br/>Pixtral + Claude"]
DocWorker["Document Worker<br/>Embeddings"]
CADWorker["CAD Worker<br/>DXF/STEP/JT"]
TechDrawing["Technical Drawing<br/>Claude Vision"]
BatchCoord["Batch Coordinator<br/>Anthropic Batch"]
end
subgraph SpecWorkers["๐ Spec Workers"]
SpecExtract["Spec Extraction<br/>RAG Matching"]
SpecDedup["Spec Deduplication"]
end
subgraph DataWorkers["๐ Data Workers"]
DataSource["Data Source Workers<br/>Go + rclone"]
Datalake["Datalake<br/>DuckDB + Parquet"]
end
subgraph Messaging["๐ฌ Messaging"]
PubSub["Cloud Pub/Sub<br/>13+ Topics + DLQs"]
end
subgraph Storage["๐พ Data Stores"]
PostgreSQL["Cloud SQL<br/>PostgreSQL 15<br/>+ pgvector"]
Elasticsearch["Elastic Cloud<br/>Full-text Search"]
GCS["Cloud Storage<br/>PDFs, Images, Parquet"]
Redis["Memorystore Redis<br/>Caching"]
Neo4j["Neo4j Aura<br/>Graph Visualization"]
AnalyticsDB["Analytics PostgreSQL<br/>Aggregated Data"]
end
subgraph ExternalAI["๐ง External AI"]
Mistral["Mistral AI<br/>Pixtral OCR"]
Anthropic["Anthropic Claude<br/>Spec Extraction"]
VertexEmbed["Vertex AI<br/>Embeddings API"]
DocAI["Document AI<br/>OCR Processor"]
end
%% User Flow
Portal --> Firebase
Admin --> Firebase
Firebase --> ReactPortal
Firebase --> ReactAdmin
ReactPortal --> GatewayAPI
ReactAdmin --> GatewayAPI
%% Gateway connections
GatewayAPI --> PostgreSQL
GatewayAPI --> Elasticsearch
GatewayAPI --> Redis
GatewayAPI --> Neo4j
GatewayAPI --> GCS
GatewayAPI --> PubSub
GatewayAPI --> InternalAPI
%% ML Service connections
InternalAPI --> VertexSearch
InternalAPI --> VertexEmbed
%% Pub/Sub to Workers
PubSub --> GatewayWorkers
PubSub --> MistralOCR
PubSub --> DocWorker
PubSub --> CADWorker
PubSub --> TechDrawing
PubSub --> BatchCoord
PubSub --> SpecExtract
PubSub --> SpecDedup
PubSub --> DataSource
PubSub --> Datalake
%% Worker to External AI
MistralOCR --> Mistral
MistralOCR --> Anthropic
TechDrawing --> Anthropic
BatchCoord --> Anthropic
DocWorker --> VertexEmbed
DocWorker --> DocAI
%% Worker to Storage
MistralOCR --> GCS
DocWorker --> GCS
CADWorker --> GCS
DataSource --> GCS
Datalake --> GCS
Datalake --> AnalyticsDB
%% Gateway Workers to Storage
GatewayWorkers --> PostgreSQL
GatewayWorkers --> Elasticsearch
GatewayWorkers --> Neo4j
classDef users fill:#e1f5fe,stroke:#01579b
classDef auth fill:#fff3e0,stroke:#e65100
classDef frontend fill:#f3e5f5,stroke:#7b1fa2
classDef gateway fill:#e8f5e9,stroke:#2e7d32
classDef ml fill:#fce4ec,stroke:#c2185b
classDef workers fill:#fff8e1,stroke:#f9a825
classDef messaging fill:#e0f2f1,stroke:#00695c
classDef storage fill:#e3f2fd,stroke:#1565c0
classDef external fill:#fafafa,stroke:#616161
class Portal,Admin users
class Firebase auth
class ReactPortal,ReactAdmin frontend
class GatewayAPI,GatewayWorkers gateway
class InternalAPI,VertexSearch ml
class MistralOCR,DocWorker,CADWorker,TechDrawing,BatchCoord,SpecExtract,SpecDedup,DataSource,Datalake workers
class PubSub messaging
class PostgreSQL,Elasticsearch,GCS,Redis,Neo4j,AnalyticsDB storage
class Mistral,Anthropic,VertexEmbed,DocAI external
| Principle | Description |
|---|---|
| Gateway-centric writes | Only Gateway writes to PostgreSQL and Elasticsearch |
| Event-driven | Workers communicate via Pub/Sub, not direct DB access |
| Multi-tenant | All data scoped by customer_id from Firebase Auth |
| Stateless K8s | Only stateless apps in GKE, managed services for state |
| 100M+ scale | Vertex AI Vector Search with Tree-AH algorithm |