🟢 Open to roles · Full Stack ML Data Scientist

Stack Overview (Architecture, DevOps, and Technical Credits)

The full technical ecosystem powering the Scientific Search & Evaluation Platform—from data ingestion and cloud processing, to demonstratable applications, and even automated, scalable deployments. This page is both documentation and recognition: a map of every tool, service, and design choice that keeps the system reproducible, maintainable, and scalable.

Next.jsFastAPIVespaOpenAIPostgreSQLGKEGCSGrafana
High-Level System Architecture
From frontend views to back-end pipelines
Frontend Layer (User-Facing)
Static pages + interactive demos
ComponentRole
Next.js siteInformational & visualization pages (ArXiv → Vector Docs → Vespa → Auto-Labeler → Consensus → Eval → Demos)
FastAPI web appsInteractive demos (single-search, fine-tune), REST + WebSocket APIs
Chart.js / D3.jsLive evaluation plots (P@K, MAP, nDCG)
TailwindCSS (select pages)Cohesive, accessible styling
Frontend assets deploy via Cloud Run (static) and GCS web buckets with CDN caching.
Intelligence & Data Layer
Models + storage
ComponentDescription
OpenAI (GPT-4o-mini)Auto-labeler, enrichment completions, context summaries
Sentence EmbeddingsFixed-length vectors (384/1536 dims) for dense retrieval
CloudSQL (PostgreSQL)Queries, labels, votes, evaluation metrics, runs
GCS BucketsEnriched JSONs, CSV metrics, model outputs, PDFs, diagrams
Redis / cache (planned)Embed caching to reduce repeated token calls
Search Infrastructure — Vespa on GKE
Schema + rank profiles running on a multi-node cluster
Cluster Composition
Node RolePurpose
ConfigserverCentral coordination and schema control
Content NodesDocument storage + indexing for enriched arXiv vectors
Query ContainerYQL, ANN queries, multi-vector ranking
Feed ContainerWrites, schema refresh, ingest jobs
Admin / HeadlessConfig deploys, upgrades, CI/CD hooks
Scaling & Health
  • HorizontalPodAutoscaler scales 1–20 pods
  • Pod Disruption Budgets guard against cascades
  • Prometheus + Grafana track latency/throughput/utilization
  • Autoscaling policy: optimize-utilization
  • Based on Vespa’s multinode-ha pattern with custom GKE YAMLs
Cluster Diagram (placeholder)
Vespa Cluster Diagram
North/South & Headless Services (placeholder)
Services Diagram
DevOps & Automation
CI/CD pipelines, registries, and rollout flow
Tools
ToolPurpose
GitHub ActionsBuild, test, push manifests
Cloud Build / Artifact RegistryBuild + store images
Kubernetes YAMLsDeployments, Services, BackendConfigs, certs
Helm (planned)Parametrize Vespa & schema upgrades
Cloud Logging + Error ReportingStack traces + alerts
Dev & Ops Safeguards
Reliability + recovery baked in
  • Schema versioning (staging → prod rollouts)
  • Readiness/liveness probes on every deployment
  • Blue-Green for FastAPI (zero-downtime)
  • Secret rotation for API keys & service accounts
  • Daily PostgreSQL backups + GCS snapshots
Deployment Diagram
End-to-end data & control flow (placeholder)
Stack Overview Diagram
User → Cloud Run → FastAPI → Vespa GKE Cluster → CloudSQL → GCS → Grafana. Sidecar services (auto-labeler, evaluator, consensus, metrics) share the namespace.
Technology Stack Summary
Layers & choices
LayerTechnologyDescription
FrontendNext.js, TailwindCSS, Chart.jsUI + Visualization
APIFastAPI, Uvicorn, SQLAlchemyCore web & data endpoints
AI ModelsOpenAI GPT-4o-mini, sentence transformersEnrichment + embeddings
Search EngineVespa.ai (ANN + BM25)Vector + keyword ranking
DatabasePostgreSQL (CloudSQL)Persistent store
OrchestrationKubernetes (GKE)Containerized scaling
StorageGCS BucketsData, logs, artifacts
MonitoringGrafana + PrometheusPod health, latency, throughput
SecurityCloud Armor, IAM, JWTFirewall + Auth
AutomationGitHub Actions, Cloud BuildCI/CD pipeline
Contact Me!
See all my information and set up a meeting!
About the Author! →
🎧 Audio Guide: Page 11 · Stack Overview 🎧
0:00 / 0:00