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:
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:
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