✨ Open Source Workflow Engine

Durable execution,
radically simplified

Build reliable, long-running business processes that survive failures, restarts, and infrastructure changes.

100% Open Source
{ } Just Code
Horizontal Scale
Features

Built for developer happiness

Everything you need to build reliable, long-running workflows without the complexity

🔄

Durable Execution

Workflows survive crashes and restarts automatically. Pick up exactly where you left off, even after infrastructure failures.

🚀

Horizontal Scaling

Add workers to scale effortlessly. Aiki handles work distribution automatically across your infrastructure.

High Performance

Built on Redis Streams for fault-tolerant message distribution. Fast, reliable, and battle-tested at scale.

🔒

Run in Your Environment

Workers execute in your infrastructure, not ours. Keep complete control over where your code runs and data lives.

🎯

Developer-First

Intuitive APIs with full type safety support. Write workflows in the language you know, with SDKs for multiple languages.

📦

Workflow Versioning

Deploy new workflow versions without breaking existing runs. Old versions continue running while new instances use the latest code.

🧩

Simple Mental Model

Workflows are just async functions. No complex abstractions or steep learning curves. Easy to learn, easy to debug.

🛡️

Built-in Fault Tolerance

Message claiming, automatic retries, and graceful recovery out of the box. Reliability without the complexity.

Developer Experience

Version workflows seamlessly

Create multi-day workflows with just a few lines of code

workflow.ts
import { workflow } from "@aikirun/workflow";
import { createUserProfile, sendWelcomeEmail, sendUsageTips } from "./tasks.ts";

export const onboardingWorkflow = workflow({ name: "user-onboarding" });

export const onboardingWorkflowV1 = onboardingWorkflow.v("1.0", {
  async exec(input: { email: string }, run) {
    const { userId } = await createUserProfile.start(run, { email: input.email });

    await sendWelcomeEmail.start(run, { email: input.email });

    // Sleeps for 24 hours without blocking workers or tying up resources.
    // If the server restarts during this time, workflow resumes exactly where it left off.
    await run.sleep({ days: 1 });

    await sendUsageTips.start(run, { email: input.email });

    return { success: true, userId };
  }
});
🚀 COMING SOON

Aiki Cloud

Managed infrastructure. Zero operations.
Same great developer experience.

✓ Thanks! We'll notify you when Aiki Cloud launches.