Moose

Data engineering framework for modern software developers

Moose is an open-source framework for building data-intensive applications using pure TypeScript or Python without the complexity of a traditional data stack.


Why Moose Exists

If you've ever built a data-intensive application, you know the pain:

  • Too many tools: Stitching together a modern data stack requires integration of numerous disjointed tools
  • Infrastructure complexity: Setting up and maintaining data infrastructure takes time away from building your actual application
  • Development experience friction: Traditional data engineering workflows are slow and don't fit into modern development practices (local dev, hot reloading, etc).
  • SQL-only processing: Having to use SQL for everything when you'd rather use languages you're already comfortable with
  • OLTP Scaling challenges: What works for small workloads (e.g. Postgres, MySQL, etc) often breaks at scale

Moose was created to solve these problems by providing:

  • A unified, local-first development experience for building data-intensive applications using pure TypeScript or Python
  • Everything you need to build data pipelines, from data capture to consumption, all in one framework
  • Designed from the ground up to be easy to understand and easy to use for modern software developers

Get started in minutes

Quick Start

Create a Moose Project

Get up and running with your own Moose project in minutes

Try it out

Learn Step-by-Step

Build an end-to-end Moose app through a guided tutorial


Local-First Development Experience

Moose comes with a pre-configured and fully integrated data stack that runs entirely on your laptop. With one command (moose dev), you get:

  • Analytical database: ClickHouse
  • Streaming platform: Redpanda
  • Workflow orchestrator: Temporal

This means you can develop and test your entire data pipeline locally, with the same technologies that will run in production, all without configuring complicated infrastructure. Your iterations are fast, just like you're used to with web development.

While Moose starts with these sane defaults, we're actively adding support for more backends:

  • Additional data warehouses like Snowflake, BigQuery, and Databricks
  • Alternative streaming platforms like Kafka and Kinesis
  • Different orchestration tools

Let us know (opens in a new tab) if you'd like to see support for specific platforms in your stack.

Core Concepts

Moose handles the boilerplate integration of the components in your data stack automatically and orchestrates your entire data pipeline for you, so you can focus on writing your application logic.


Why Moose?

Build with the Languages You Already Know

Iterate confidently with a unified local development environment that reflects your production setup.

  • Pre-configured and integrated data stack
  • Local-first development with hot reloading
  • Build using TypeScript, Python, and SQL

Catch Issues at Dev and Build Time

Prevent errors before they happen in production by seeing error highlights in your editor as you type and in your terminal when you hit save.

  • Typed data models with runtime validation
  • Auto-derived infrastructure to prevent mismatches
  • Hot reloading

Language-Native Experience

Model and transform data in the languages you already know, not just SQL.

  • Data Models in native TypeScript and Python types
  • Realtime transformations as native TypeScript and Python functions
  • ORM experience built for analytical workloads (coming soon)

Open Source and Configurable

Easily extend Moose to fit your specific needs and infrastructure.

  • Default works with ClickHouse, support for Databricks, Snowflake, BigQuery coming soon
  • Toggle modules on and off as needed
  • Integrate with your existing workflows and connectors

What Can You Build with Moose?

Moose is ideal for a wide range of data-intensive applications, from real-time analytics to complex data pipelines:

User Facing Analytics

Embed leaderboards, charts, metrics, and other real-time features in your web or mobile apps

BI and Data Warehouses

Collect disparate data sources into an analytical database, produce custom reports, and more

Data Migrations

One-time migration of data from legacy systems to a modern data backend

Event Streaming

Real-time processing of events from Kafka, Redpanda, or other event streaming platforms

ETL Workloads

Repeated batch jobs to collect data from different sources and load them into an analytics environment


Community

GitHub

Star, check out the code, and contribute to Moose on GitHub

Talk to the Moose Maintainers

We're always looking to improve Moose and would love to hear from you!