MooseStack Alternative
Looking for a MooseStack alternative?
Moose is genuinely interesting — and it's a lot. A dev runtime, a project structure, code-owned migrations, optional Redpanda and Temporal. If what brought you here is 'I just want typed queries and APIs on the ClickHouse we already have,' hypequery is that, and only that.
Footprint
npm library, no runtime
Schema
Introspected, not migrated
Best fit
Existing ClickHouse stacks
Moose is a framework commitment
Adopting Moose means its project structure, its dev server, its way of doing things. That’s a fair price for a greenfield analytical backend. It’s a strange one for adding typed queries to an app that already exists.
It wants to own your schema
Moose declares tables in code and migrates ClickHouse to match. If your schema is already owned elsewhere — SQL migrations, a data team, dbt — a code-first migration tool is a second driver fighting for the wheel.
The batteries may not be your batteries
Streaming via Redpanda and orchestration via Temporal are core Moose modules. Great if you need them. If you already have ingestion and jobs sorted, they are surface area you are carrying but not using.
The alternative
Take the typed layer, skip the framework
hypequery does the part of Moose most teams actually came for — typed ClickHouse queries and typed APIs in TypeScript — as a dependency in the application you already have.
- Generate types by introspecting your live ClickHouse — your existing schema ownership stays exactly as it is
- Write composable, fully typed queries with ClickHouse-aware helpers and raw SQL escape hatches
- Serve queries as validated REST endpoints with OpenAPI docs via @hypequery/serve
- Consume the same contracts in React through typed hooks
- Keep your dev loop: no moose dev, no framework runtime, nothing new to operate
Step 1
Introspect instead of migrate
This is the philosophical difference in one command. Moose pushes schema from code into ClickHouse. hypequery pulls types from ClickHouse into code — whoever owns the schema keeps owning it.
Step 2
Typed queries in the app you already have
No new project layout, no framework conventions. Queries are ordinary TypeScript in your existing codebase, typed against the schema that actually exists.
If you are starting an analytical backend from nothing and want streaming, orchestration, and schema management from one tool, Moose is a coherent answer and you should read the full comparison before deciding.
But most teams reading this page aren’t greenfield. They already have a ClickHouse, they already have ingestion, and the missing piece is the typed layer between the database and the product. That’s the whole of what hypequery does — nothing more.
Step 2
A typical query, no framework attached
Aggregations, time bucketing, and filters — typed end to end, in a file that lives next to the rest of your application code.
Side by side
Moose vs hypequery at a glance
Both are open source, TypeScript-first, and ClickHouse-native. The split is framework versus library — and which direction schema flows.
| Moose (MooseStack) | hypequery | |
|---|---|---|
| Model | Framework — project scaffold, dev runtime, conventions | Library — npm install into your existing app |
| Schema | Declared in code, migrated into ClickHouse | Introspected from the ClickHouse you already run |
| Streaming ingest | Built in via Kafka/Redpanda | Not included — keep your existing pipeline |
| Orchestration | Built in via Temporal | Not included |
| Typed query APIs | Yes — ingest and query endpoints | Yes — @hypequery/serve with OpenAPI docs |
| React integration | Bring your own | Typed hooks on the same query contract |
| Local dev | moose dev runtime spins up the stack | Nothing new — it is just your app |
| Adoption cost | New structure, new runtime, new conventions | One dependency and a generate command |
Greenfield analytical backend with streaming and jobs? Moose earns its weight. Existing app, existing ClickHouse, missing types? That’s the column on the right.
Where teams usually get stuck
The questions this page should answer
MooseStack alternative for existing ClickHouse
hypequery is built for exactly this case: ClickHouse already runs, ingestion already works, and the missing piece is typed queries and APIs. No migration of schema ownership required.
Moose without the framework
The part of Moose most product teams want is Moose OLAP’s typed queries. hypequery delivers that as a standalone library, without the dev runtime, streaming, or workflow modules.
Typed ClickHouse queries in TypeScript
Types generated from your live schema, a composable query builder, and compile-time safety on every column reference — the core workflow, minus the scaffold.
When Moose is the right call
Building from scratch and want ingest, schema, transformations, and APIs in one coherent tool? Moose is a real answer. This page is for everyone whose backend already exists.
Further reading
Go deeper where it actually helps
hypequery vs Moose
The full comparison — schema direction, scope, and where each tool genuinely wins.
Open guide
ClickHouse schema generation
How live-schema introspection turns into TypeScript types that match runtime values.
Open guide
ClickHouse REST API
How @hypequery/serve turns query definitions into validated, documented endpoints.
Open guide
ClickHouse TypeScript
The broader workflow for reusable queries, HTTP APIs, and runtime type safety.
Open guide
Next step
Run generate against your ClickHouse and write one query
Ten minutes, no scaffold. If the typed layer is all you needed, you will know immediately.