Introduction

Welcome! Moose is still in early development, and we're talking to users and potential users all the time to make sure we're creating something valuable. If you're at all interested in what we're building here, then we'd love to talk to you! Book a chat with us (opens in a new tab) so we can learn more about you and your use cases. We can't wait to hear from you!

Pick Your Path

Choose the method that best suits your learning style for getting started with Moose:

Create a Moose Project

Get up and running with your own Moose project in minutes

Learn Step-by-Step

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

What is Moose?

Moose is a batteries-included developer framework for building data-intensive applications using pure TypeScript or Python. Similar to how Django, Rails, and Laravel integrate web rendering, ORM, and authentication, Moose provides everything needed for your data and analytics stack—from data capture to consumption. This includes setting up ingestion and consumption API routes on a web server, topics and processes in a streaming platform, and tables and views in an OLAP database.

By automating the setup and management of these components and standardizing the interfaces between them, Moose eliminates the need for custom “glue code” and allows you to just focus on writing your application logic. These are tasks you shouldn't have to worry about or reinvent, especially since it’s crucial to do them correctly to ensure high performance and reliability when ingesting and processing petabytes of data.

Moose is designed for any TypeScript or Python developer, regardless of your background in data engineering. Built on Rust, it ensures speed and reliability even at a massive scale.

What types of applications can be built with Moose?


Embed Data Features in User-Facing Applications

Moose can be combined with your favorite front-end framework to embed data-intensive features in your products.

  • Dynamic leaderboards
  • Interactive charts
  • Real-time metric feeds

Enterprise Data Platforms

Create a backend system for enterprise data products, such as BI software and data exploration tools, to deliver interactive data applications.

  • Real-time Dashboards
  • Observability & Log Monitoring
  • Customer Data Platforms

We include some example applications in the templates section, so you can see how Moose can be used to build a variety of applications:

Product Analytics

How does Moose work?

Moose provides a set of primitives that you can use to build your data stack in native TypeScript or Python. These primitives are:

When you build and run your code, Moose interprets your implemented primitives and automatically configures the assets in your data stack infrastructure to support your application.

Learn more in the architecture documentation.

What's the key functionality?

Developer-first

Moose is designed by software developers, for software developers. It's built from the ground up to enable software development best practices that are often hard to implement in the data engineering world.

  • Develop in languages you know, in the IDE of your choice
  • Git-based based workflows for version control and change management
  • Plug into CI/CD and automated testing workflows
  • Iterate quickly with local development, then scale to the cloud

Local dev server

Run your whole data/analytics stack locally: see the impact of changes in real time as you edit code - just like developing a web application

Auto-managed migrations

Moose automatically manages schema evolution across your data stack with "Data Change Management", so you don’t break upstream and downstream dependencies

End-to-end typed

Moose types all your components from data capture through consumption, so you catch issues at build time, instead of in production

Data product APIs

Moose automatically creates API endpoints for your data products, and generates SDKs in the languages of your choice (typescript, python, java, rust, etc) for easy discovery and consumption