01
Versioned Datasets & Connectors
Upload CSV or Parquet, or pull a table from Iceberg, S3 Parquet, PostgreSQL or MySQL. Every pull becomes an immutable dataset version with its source snapshot recorded, and schema changes are flagged.
02
Training That Keeps Its Preprocessing
Jobs run on Celery workers with live logs. Imputation, encoding and scaling are fitted on the training split only and saved with the estimator, tracked in MLflow; Optuna search is optional.
03
Registry with Quality Gates
A version reaches production only if it clears the accuracy, R² or mIoU threshold for its task. One production version per model, an optional second reviewer, and a model card generated for every version.
04
Endpoints, Canary & Shadow
Deploy a version behind an API key with its own rate limit. Send a share of traffic to a new version, mirror requests to a shadow version without affecting replies, or roll back in one call.
05
Drift & Accuracy Monitoring
Each deployment gets a baseline from its training data; live inputs are compared with PSI. Ground-truth feedback turns into accuracy reports, and alert rules notify Slack, email, webhooks or the in-app inbox.
06
Retraining Loop
A retrain policy fires on drift, falling accuracy or a schedule. The challenger is scored on the same holdout as the champion; if it is worse the run stops and records why, otherwise it goes to canary and approval.
07
Feature Store
Validated ingestion into an online store on Redis and an offline store on Parquet, point-in-time lookups for training sets, and endpoints that fetch features by entity id instead of asking the caller for them.
08
Access, Audit & SDK
Project roles, personal access tokens, a Python SDK and CLI, scoped API clients for partners, and an activity log of who changed what. The dashboard is in Vietnamese and English.