
How I Rebuilt zenml.io in a Week with Claude Code
I rebuilt zenml.io — 2,224 pages, 20 CMS collections — from Webflow to Astro in a week using Claude Code and a multi-model AI workflow. Here's how.
Discover how ZenML compares to Flyte in the realm of machine learning workflow orchestration. While both tools aim to streamline and automate ML pipelines, ZenML distinguishes itself with its agile and lightweight approach, empowering data scientists and ML engineers to iterate quickly and efficiently. With ZenML's intuitive pipeline definition, seamless integration with MLOps tools, and strong focus on simplicity and usability, you can accelerate your ML workflows and spend more time on what matters most: building innovative ML solutions. Explore ZenML's unique features and benefits, and learn how it can help you navigate the complexities of MLOps with ease.
Feature-by-feature comparison
| Pipeline Definition | Intuitive Python-based DSL for defining ML pipelines | Declarative approach using Python annotations |
| Task Orchestration | Flexible orchestration of heterogeneous tasks | Orchestrates tasks across multiple platforms |
| Experiment Tracking | Seamless integration with MLflow and other experiment tracking tools | Supports MLflow integration for experiment tracking |
| Model Registry | Built-in model registry for versioning and serving models | Relies on external model registry solutions |
| Data Versioning | Integrates with data versioning tools like DVC and Pachyderm | No built-in data versioning capabilities |
| Workflow Scheduling | Supports scheduled execution of ML workflows | Provides workflow scheduling and triggering |
| Cloud Agnostic | Runs on any cloud platform or on-premise infrastructure | Supports multiple cloud platforms and Kubernetes |
| Extensibility | Highly extensible with plugins and custom integrations | Allows custom plugins and extensions |
| Community and Ecosystem | Growing community and ecosystem around ZenML | Mature community and industry adoption |
| Learning Curve | Gentle learning curve and beginner-friendly | Steeper learning curve compared to ZenML |
Code comparison
from zenml import pipeline, step
from zenml.integrations import mlflow
@step
def preprocess_data(data):
# Preprocess the data
preprocessed_data = ...
return preprocessed_data
@step
def train_model(preprocessed_data):
# Train the model
model = ...
mlflow.log_model(model, "model")
return model
@step
def evaluate_model(model, test_data):
# Evaluate the model
metrics = ...
mlflow.log_metrics(metrics)
return metrics
@pipeline
def ml_pipeline(data, test_data):
preprocessed_data = preprocess_data(data)
model = train_model(preprocessed_data)
metrics = evaluate_model(model, test_data)
# Run the pipeline
ml_pipeline(data, test_data) from flytekit import task, workflow
from flytekit.extras.sqlite3.task import SQLite3Task
@task
def preprocess_data(data: str) -> str:
# Preprocess the data
preprocessed_data = ...
return preprocessed_data
@task
def train_model(preprocessed_data: str) -> str:
# Train the model
model = ...
return model
@task
def evaluate_model(model: str, test_data: str) -> dict:
# Evaluate the model
metrics = ...
return metrics
@workflow
def ml_workflow(data: str, test_data: str) -> dict:
preprocessed_data = preprocess_data(data=data)
model = train_model(preprocessed_data=preprocessed_data)
metrics = evaluate_model(model=model, test_data=test_data)
return metrics
# Execute the workflow
ml_workflow(data="input_data", test_data="test_data")
ZenML's lightweight and flexible pipeline definition enables rapid iteration and experimentation, allowing data scientists and ML engineers to quickly prototype and refine ML workflows using a familiar Python-based syntax.
With ZenML's out-of-the-box integrations and pre-built extensions, you can easily connect your ML workflows with popular MLOps tools and platforms, streamlining your end-to-end MLOps processes.
ZenML prioritizes simplicity and ease of use, providing comprehensive documentation, tutorials, and community support to facilitate faster adoption and productivity for teams of all skill levels.
ZenML offers a built-in model registry for versioning and serving models, as well as seamless integration with data versioning tools like DVC and Pachyderm, ensuring reproducibility and traceability of your ML workflows.
Compared to Flyte, ZenML has a gentler learning curve and is more beginner-friendly, enabling faster onboarding and adoption within your organization.
Expand Your Knowledge

I rebuilt zenml.io — 2,224 pages, 20 CMS collections — from Webflow to Astro in a week using Claude Code and a multi-model AI workflow. Here's how.


Agentic RAG without guardrails spirals out of control. Here's how ZenML's dynamic pipelines give you fan-out, budget limits, and lineage without limiting the LLMs.