An ML platform, built from scratch
At a fintech serving millions of users, I designed and built the company's machine-learning platform and still run it as its sole engineer, from architecture decisions to daily operations. Data scientists go from Snowflake and S3 data through notebooks, training, benchmarking and versioning to a served model in one place. Five team workspaces run on it.
Serving with provenance, no tenant credentials
Deployments accept only registered, versioned models. A custom KServe storage container resolves an mlflow:// reference through the tracking server with the team's own token, so no object-storage keys exist in tenant namespaces; a Kyverno admission policy rejects anything that doesn't point at a registered model version.
An SDK, CLI and MCP server
One authenticated entry point for notebooks, training, the registry, serving and status, usable from a laptop over OIDC with no kubeconfig. State-changing operations sit behind an explicit opt-in, because an AI assistant that can redeploy production by accident is a design mistake, not a feature.
Shared H100s instead of one GPU per person
HAMi sharing over 8 NVIDIA H100s: selectable VRAM slices, up to 72 workloads at once, several GPUs per notebook when needed, and admission-time quota checks that refuse with the actual numbers instead of hanging. GPU nodes are provisioned on demand per workload.
Per-team access, per-user attribution
Team workspaces with Keycloak group access, and notebooks, experiments and deployed models traced back to the person who created them. Token-verified pipeline submission is rolling out now.
Stack: EKS · Kubeflow · MLflow · KServe · Langfuse · Label Studio · HAMi · Keycloak · Vault · Istio · Kyverno · Argo CD · Snowflake · Python