> Part of the walkerOS documentation. Project overview and full index: <https://www.walkeros.io/llms.txt>

# What is walkerOS

walkerOS is an **open-source event data collection platform** you run as code. Capture events from anywhere, transform them with mapping, and route them to any destination, all with built-in consent management.

No fragile UI configs. No vendor lock-in. Just tracking you can version, test, and trust.

It's built for analytics engineers, data leads, and developers who own analytics on a custom-built app and want to replace a duct-taped GA4 and server-side tag manager stack with a pipeline they actually control.

## Try it now[​](#try-it-now "Direct link to Try it now")

**[Send your first event in five minutes → Quickstart](https://www.walkeros.io/docs/getting-started/quickstart.md)**

Then: [send it to GA4 with mapping →](https://www.walkeros.io/docs/getting-started/ga4-ecommerce.md)

Working with an AI assistant?

Build and simulate a flow locally with the walkerOS MCP, no account needed: [With an AI assistant](https://www.walkeros.io/docs/apps/mcp.md).

## Why walkerOS?[​](#why-walkeros "Direct link to Why walkerOS?")

* **Open-Source:** MIT licensed, free forever, no restrictions
* **Self-hostable:** Run it on your own infrastructure
* **Config-as-Code:** Version control, PRs, deploy with confidence
* **Composable:** Mix sources, destinations, and mappings freely
* **Developer-first:** TypeScript and declarative tagging, with an optional hosted app and MCP/AI-assisted management

***

## How it works[​](#how-it-works "Direct link to How it works")

Every walkerOS setup follows one pattern:

* **Sources:** Where events come from (browser DOM, dataLayer, HTTP endpoints, custom code)
* **Transformers:** Middleware that validates, enriches, routes, or redacts events before and after the collector
* **Collector:** The processing engine (consent, enrichment, routing)
* **Destinations:** Where events go (GA4, your API, BigQuery, any service)
* **Stores:** Shared key-value storage used by transformers and destinations (caching, file serving, session state)

A "flow" connects sources to destinations through a collector. You can have one flow or many, client-side, server-side, or both working together.

## The centerpiece: mapping[​](#the-centerpiece-mapping "Direct link to The centerpiece: mapping")

**Mapping** transforms events between stages. It's how walkerOS adapts to any source or destination format.

One transformation language works everywhere. This is what makes walkerOS truly composable.

[Learn more about mapping →](https://www.walkeros.io/docs/mapping.md)

***

## Core concepts[​](#core-concepts "Direct link to Core concepts")

| Concept          | What It Is                                                            | Learn More                                                                 |
| ---------------- | --------------------------------------------------------------------- | -------------------------------------------------------------------------- |
| **Flow**         | Sources + collector + destinations configuration                      | [Flow configuration](https://www.walkeros.io/docs/getting-started/flow.md) |
| **Event model**  | How events are structured (`entity action` format)                    | [Event model](https://www.walkeros.io/docs/getting-started/event-model.md) |
| **Mapping**      | Event transformation rules                                            | [Mapping](https://www.walkeros.io/docs/mapping.md)                         |
| **Consent**      | Privacy controls at destination and property level                    | [Consent management](https://www.walkeros.io/docs/guides/consent.md)       |
| **Sources**      | Event capture from browser, server, or custom code                    | [Sources](https://www.walkeros.io/docs/sources.md)                         |
| **Transformers** | Middleware for validating, enriching, routing, and redacting events   | [Transformers](https://www.walkeros.io/docs/transformers.md)               |
| **Destinations** | Event delivery to analytics, APIs, warehouses                         | [Destinations](https://www.walkeros.io/docs/destinations.md)               |
| **Stores**       | Shared key-value storage for caching, file serving, and session state | [Stores](https://www.walkeros.io/docs/stores.md)                           |

***

## Two ways to use walkerOS[​](#two-ways-to-use-walkeros "Direct link to Two ways to use walkerOS")

Both modes use the same architecture. You choose at deploy time, after your first event, see [operating modes](https://www.walkeros.io/docs/getting-started/modes.md).

### Integrated mode[​](#integrated-mode "Direct link to Integrated mode")

The collector lives **inside your application code**.

```
import { startFlow } from '@walkeros/collector';
import { sourceBrowser } from '@walkeros/web-source-browser';

const { elb } = await startFlow({
  sources: { browser: { code: sourceBrowser } },
});
```

**Best for:** Building into your app, full TypeScript control, dynamic configuration.

[**Get started with integrated mode →**](https://www.walkeros.io/docs/getting-started/modes/integrated.md)

***

### Bundled mode[​](#bundled-mode "Direct link to Bundled mode")

The collector is a **separate artifact** you configure with JSON.

```
{
  "version": 4,
  "flows": {
    "default": {
      "config": { "platform": "web" },
      "sources": { "browser": { "package": "@walkeros/web-source-browser" } }
    }
  }
}
```

Then: `walkeros bundle flow.json` → standalone file.

**Best for:** Config-as-code, Docker deployments, separate tracking scripts.

[**Get started with bundled mode →**](https://www.walkeros.io/docs/getting-started/modes/bundled.md)

***

## Quick links[​](#quick-links "Direct link to Quick links")

**Deploying to production?**

* [Deploy](https://www.walkeros.io/docs/getting-started/deploy.md): self-hosted or managed
* [CLI Reference](https://www.walkeros.io/docs/apps/cli.md): Build and test commands

**Already using walker.js?**

* [Walker.js Docs](https://www.walkeros.io/docs/apps/walkerjs.md): Pre-built convenience bundle

**Need help choosing?**

* [Operating Modes](https://www.walkeros.io/docs/getting-started/modes.md): Detailed comparison
