LittleHorse Open Source
LittleHorse is the pioneer of the Business-as-Code approach to codifying and orchestrating processes across multiple systems. Built with love by developers, for developers.
Business-as-Code allows software engineers to write code in a language of their choice, including Java, Python, Go, C#, and TypeScript, while operating at a higher level of abstraction: the business process. This lets engineers speak the language of business value rather than being preoccupied with glue code.
LittleHorse maintains an open-source platform for Business-as-Code, based on the LittleHorse Server, a distributed, fault-tolerant runtime for Business-as-Code. The platform is lightweight, easy to deploy, and integrates with the programming languages and deployment architectures, such as Kubernetes, Docker, and ECS, that you already use.
LittleHorse also provides the Saddle Command Center, an enterprise Business-as-Code platform with pre-built task workers, connectors, integrations, and low-code GUIs that accelerate deployments.
Get Started
User Tasks Bridge Quickstart
Use User Tasks Bridge to create your first user and execute User Tasks in the Kernel.
LH Connect Quickstart
An API Gateway and Apache Kafka Connectors to responsively trigger workflows in the Kernel.
LittleHorse Runtime Quickstart
A convenient but powerful Quarkus-based runtime for apps using the Kernel and Pony ID.
Saddle Quickstart
Build a workflow in Saddle's Workflow Builder and trigger it from a webhook.
Find runnable examples in the LittleHorse Developer Hub, browse the documentation, or join the Slack community.
Our Open Platform
The following repositories contain the most important components of our open-source platform. They are also crucial components of the Saddle Command Center.
- Core: littlehorse contains the LittleHorse Server, the core of the Business-as-Code platform.
- lh-agent-connector contains a pre-built Task Worker that uses LangChain to implement the Decision Worker Pattern.
- lh-quarkus contains Quarkus extensions that make it easy to write LittleHorse applications in Java.
- lh-kafka-connect contains Apache Kafka Connect connectors to start
WfRuns and postExternalEvents in LittleHorse. - lh-user-tasks-bridge connects your OIDC provider to LittleHorse User Tasks, mapping user identities to assigned tasks.
What Is Business-as-Code?
Business-as-Code is the practice of using code to define and orchestrate processes across multiple systems and people. Software engineers use it to orchestrate flows involving external SaaS APIs, microservices, event queues, agents, and human steps.
Business-as-Code explicitly specifies process logic at the business level from the top down rather than letting processes emerge bottom up through brittle point-to-point connections between systems. It works for high-speed microservice flows, IoT integration, agent orchestration, and back-office automation.
LittleHorse lets you define tasks as reusable units of work, define workflows that compose those tasks, and run those workflows. The LittleHorse Server manages retries, timeouts, and orchestration across services so your workflow specification can focus on the business process while task workers handle integrations with external systems and databases.
Why LittleHorse?
LittleHorse is tightly integrated with the Apache Kafka ecosystem. The server uses Kafka, or any Kafka-compatible system, as its durable commit log and emits real-time workflow events to Kafka. Its Kafka Connectors can also trigger workflows and post events from Kafka topics.
The platform is designed for observable, fault-tolerant process execution. It visualizes end-to-end processes, supports human and agent work alongside services, and scales horizontally for high-throughput workloads.
Explore the quickstarts, try the Saddle quickstart, or join the Slack community.
FAQ
How Is Business-as-Code Different From Infrastructure-as-Code?
Infrastructure-as-Code brings governance, observability, version control, and automation to DevOps: provisioning infrastructure and deploying applications. Business-as-Code brings those same benefits to business process orchestration.
How Is Business-as-Code Different From Durable Execution?
Durable execution platforms, such as Restate, DBOS, and Temporal, record the side effects of function and method calls so they can be replayed when a function fails.
Business-as-Code operates at a higher level of abstraction. You write code that specifies the process, which LittleHorse compiles into a computational graph called a WfSpec. The LittleHorse Server orchestrates that graph rather than replaying a function. This enables deterministic process visualization and real-time workflow events in Apache Kafka. Read more in Beyond Durable Execution.
Does LittleHorse Fit With Kafka?
Yes. The LittleHorse Server uses Kafka, or a Kafka-compatible system, as its internal durable commit log. It also produces real-time workflow events to Kafka, and Kafka Connectors can trigger workflows and post events to LittleHorse from Kafka topics.
Kafka is excellent for event streaming and messaging, but reliably executing multi-step flows across services is difficult when process logic is spread among consumers. Business-as-Code makes that process explicit and manageable.
Do I Need Business-as-Code If I Do Not Read All The Code?
Yes. When a WfSpec is written by an AI coding agent or another developer, the LittleHorse dashboard deterministically visualizes the business logic it defines. You can verify how systems are composed without tracing connection logic through opaque code and queue consumers.
How Does Business-as-Code Help Orchestrate Agents?
Business-as-Code lets you invoke agents as tasks within larger workflows, codify deterministic steps before and after agent work, and audit every tool call as a checkpoint in a TaskRun. Learn more about the Decision Worker Pattern or explore the open-source Agent Worker.
Is LittleHorse Fast? Does It Scale?
Depending on server configuration, latency between workflow steps is typically 10 to 40 milliseconds. LittleHorse scales horizontally: users run more than 1,000 tasks per second in parallel on a three-node cluster. It is fault-tolerant and supports standby replicas for high availability.
How Do I Deploy LittleHorse?
The LittleHorse Server is a JVM application whose only dependency is Apache Kafka. See the Docker Compose examples for deployment examples. Task workers can run anywhere they can connect to the LittleHorse Server, including across regions for data residency requirements.
The Saddle Command Center is available as multi-tenant SaaS, dedicated SaaS, BYOC, or on-premises through a Kubernetes Operator.
If LittleHorse Is Open Source, How Do You Make Money?
LittleHorse Enterprises offers the Saddle Command Center, the Business-as-Code Practice, and support and SaaS offerings for open-source LittleHorse components. These products fund development of the open-source platform.