MooseStack
MooseStack is the OLAP-native agent harness for designing, validating, and shipping analytical systems as code.
Iteratively define schemas, materialized views, streams, workflows, and APIs as code in a local dev runtime, then plan, test, and apply migrations to your production OLAP system.
Get Started
bash -i <(curl -fsSL https://fiveonefour.com/install.sh) moose5-minute Quickstart
Start with your existing ClickHouse database
Bootstrap with a Reference Application
Everything as Code
Declare all infrastructure (e.g. ClickHouse tables, Redpanda streams, APIs, etc.) and pipelines in pure TypeScript or Python. Your code auto-wires everything together, so no integration boilerplate needed.
import { Key, OlapTable, Stream, IngestApi, Api } from "@514labs/moose-lib"; interface DataModel { primaryKey: Key<string>; name: string;} // Create a ClickHouse tableexport const clickhouseTable = new OlapTable<DataModel>("TableName"); // Create a Redpanda streaming topicexport const redpandaTopic = new Stream<DataModel>("TopicName", { destination: clickhouseTable,}); // Create an ingest API endpointexport const ingestApi = new IngestApi<DataModel>("post-api-route", { destination: redpandaTopic,}); // Create analytics API endpointinterface QueryParams { limit?: number;} export const analyticsApi = new Api<QueryParams, DataModel[]>("get-api-route", async ({limit = 10}: QueryParams, {client, sql}) => { const result = await client.query.execute(sql`SELECT * FROM ${clickhouseTable} LIMIT ${limit}`); return await result.json(); });Core Concepts
Data Modeling
Local Development Environment
Modules
Moose OLAP
Moose Streaming
Modular Design
Each module is independent and can be used on its own. You can start with one capability and incrementally adopt more over time.
Tooling
Moose Migrate
Technology Partners
- ClickHouse (Online Analytical Processing (OLAP) Database)
- Redpanda (Streaming)
- Temporal (Workflow Orchestration)
- Redis (Internal State Management)