BI + AI · Hex Alternative

Qrly vs Hex

Hex is a notebook product — excellent for an analyst holding SQL and Python in one document, and licensed per user for everyone who only wants to look. Qrly is BI + AI in one self-hostable platform: natural-language Ask (NL→SQL) on your choice of local LLM (Ollama, LM Studio) or cloud (Claude, Gemini, OpenAI, Azure), an OLAP model layer, live dashboards, and embedded analytics via signed JWT for unlimited customer tenants — with no per-viewer seat.

Qrly wins

BI + AI in one self-hosted platform, flat pricing

  • AI Ask (NL→SQL) across 12+ database dialects
  • BYO LLM: local Ollama / LM Studio, or Claude / Gemini / OpenAI / Azure
  • Embedded analytics via signed JWT — no per-viewer seats
  • AI anomaly detection, schema descriptions, performance analyzer
  • Multi-tenant hierarchy — tenant, organisation, project, collection
  • Flat licence for unlimited users — editors and readers alike
Tie / depends

SQL, charts and sharing the result

  • Both write SQL against your existing databases
  • Both chart a result and publish it for other people to read
  • Both schedule refreshes and deliver results on a cadence
  • Both expose an API and embed into your own application
Hex wins

The notebook, and what only a notebook does

  • SQL cells and Python cells in one reactive document
  • A free tier for individuals and small projects
  • Hex Magic for AI-assisted authoring inside the notebook
  • An app builder that turns a notebook into a shareable tool
  • Fully managed — nothing for your team to run
Feature
Recommended Qrly Self-hosted · Belgium
Hex Cloud · notebook platform
Self-hostable on your own infra
Included
Private deployment on enterprise plans
No per-user licence counting
Included
Per user, editors and viewers
Built-in customer embed portal
Included
Embedded apps, no per-tenant portal
Alerts on saved questions (email, Slack, webhook)
Included
Scheduled runs with notifications
Native scheduled subscription (4 providers)
Included
Scheduled exports to email and Slack
Visual query builder and raw SQL, round-trip convertible
SQL ⇄ visual
SQL and Python cells, no visual spec
Azure AD + Google + LDAP + Basic simultaneously
Included
SAML SSO on enterprise plans
OIDC SSO user provisioning
Included
Enterprise tier only
AI with on-prem option (Ollama, LM Studio)
Included
Hex Magic is cloud-only
Multi-tenant architecture out of the box
Included
Workspaces, no tenant hierarchy
40 connection types, 12 SQL dialects
Included
Broad warehouse connectors
Flat pricing (unlimited users)
Included
Per user, per month
Productive in under 5 minutes
Included
Hex is fast to start
EU data residency (native, not a tier)
Included
Vendor cloud; private deploy on enterprise
No add-on purchase required for the basics
Included
Key controls on enterprise plans
Dashboards with cascade filters and live push
Included
Notebook apps, not dashboards
REST API + webhooks
Included
Included
OLAP models with ROLLUP, CUBE, prior-period
Included
Write it in SQL; no model layer
Self-service for people who do not write code
Included
Authors write SQL or Python
Legend Included Partial / extra cost Not available
01 / Embedded Analytics

Everybody who looks is a seat

Hex is licensed per user, and the people who only ever read a result are still users. That is fine for a data team of eight. It stops being fine the day a hundred people in operations want the same weekly number, or a customer asks to see their own data — the economics quietly discourage exactly the distribution you built the report for.

Qrly does not count people at all — it is priced on your revenue. Internal readers are free; external ones are embedded, through a signed JWT with locked parameters the viewer cannot override, across one customer tenant or five hundred. Scheduled subscriptions cover everyone who would rather receive the number than go and look for it.

02 / Governance

A notebook is not a governed model

In a notebook, the definition of revenue lives in whichever cell computed it. Two analysts write two slightly different queries, both defensible on their own terms, and nobody notices until the two numbers meet in the same meeting. There is no layer above the SQL where a measure is defined once for everybody, because no notebook is built to hold one.

Qrly has that layer: a star or snowflake model over the connection with a dimension and measure catalogue, named hierarchies, and always-applied model filters that act as a security boundary. Above it sit verified questions with an audit log, a per-user daily query budget and a query governor. The definition is written once; the analysis on top of it is the part people are free to improvise.

03 / Distribution

Notebooks scale to analysts, not to a company

Hex is superb for the person authoring the analysis. It is much weaker for the two hundred people downstream who only want to change the date range: a published app exposes the parameters its author thought to expose, and everything else is a request back to the analyst. The queue that forms in front of the data team is the real cost, and it never shows up on the invoice.

Qrly's tenant → organisation → project → collection hierarchy is the actual shape of a business, with permissions at every level. Dashboards carry cascade filters people drive themselves, any chart point or table row drills through to the underlying records, and question-as-view lets an analyst's work become the source somebody else builds on. The analyst publishes a model; the organisation self-serves above it.

04 / Hidden cost

The bill grows with the audience

Hex is licensed per user, with editor seats priced above viewer seats. Every additional reader is another line item, and the natural response — share fewer things with fewer people, or funnel everything through a handful of accounts — is the exact opposite of what a reporting platform is supposed to do for you.

Qrly is priced on revenue, not seats: unlimited users, unlimited projects, unlimited tenants, in one self-hosted deployment. Whether the weekly number goes to nine people or nine hundred becomes a decision about your business rather than a decision about your licence.

Qrly

Annual licence · priced on your revenue · unlimited users, one organisation, one installation
  • Annual licence at €15M revenue €6,300
  • Per analyst / per viewer €0
  • Per query, per credit, per capacity unit €0
  • Embedded dashboard consumers €0
  • Embedding, alerts, OIDC/SSO, row-level rules Included at every tier
  • Self-hosting and bring-your-own LLM Included at every tier
Three years of licence: €18,900
That is our published schedule evaluated at €15M of revenue — 0.18% of the first €500k, then 0.12%, 0.0525% and 0.027% on each tranche above it. It does not move when you add users. The whole rate card, from the €900 floor upward, is on the pricing page.

Hex

Per seat, per month · a free tier, then published and quoted plans
  • How it charges Per seat, per month
  • Free tier Community use, limited
  • Editor seats Priced above viewer seats
  • Viewer and app-user seats Also licensed
  • Private deployment Enterprise agreement, quoted
  • List prices Published for the standard plans — check hex.tech/pricing
Hex’s meter is seats, and the seat count is what moves the moment a notebook turns into something the business reads every morning. That is the point at which the cost of Hex stops tracking the size of the data team and starts tracking the size of the company. Qrly’s licence tracks neither — it tracks turnover, once a year.

The standard migration path

There is nothing to export. Qrly connects to the same databases your Hex projects query, so the work is rebuilding definitions rather than moving rows.

  1. Recreate the connections. Add each source in Qrly, test it before saving, then run a schema sync so the visual builder and the SQL autocomplete know the tables. Credentials are AES-encrypted at rest, execution limits are set per connection, and the pool hands out read-only connections.
  2. Paste the SQL cells in. A flat SELECT is reverse-engineered into a visual definition — joins, filters, group by, having, order by with NULL ordering, limit and offset — with CTEs, UNION and subqueries reported as lossy features rather than dropped. Anything that will not convert still runs as native SQL, with template variables bound as prepared-statement parameters.
  3. Define the model once. Where several projects recompute the same measures, build one OLAP model — fact table, dimension joins, a measure and dimension catalogue, named hierarchies — and everything above it inherits the definitions, the year-to-hour time drill, prior-period comparison and the always-applied model filters.
  4. Rebuild published apps as dashboards. Cards drop onto a 12-column grid with cascade filters mapped per card, live push on an interval or a Postgres LISTEN/NOTIFY channel, and signed-JWT embedding for anything customer-facing. Readers stop being seats.
  5. Keep Hex for what only Hex does. Python-heavy exploration, statistical work and one-off deep dives are worth keeping in a notebook. Move the recurring reporting — the queries that run every Monday for people who do not write SQL — into Qrly, and let the two live side by side.
Does Qrly replace Hex for our analysts?

It can, but it does not have to. Plenty of teams keep Hex for exploratory and statistical work — Python cells, a model fitted in a notebook, a one-off deep dive — and move the recurring, governed reporting into Qrly: saved questions, OLAP models, dashboards, alerts and embedded views that non-analysts drive themselves. The two overlap in the SQL layer and diverge on everything either side of it.

How do we move our Hex projects across?

The SQL comes across directly. Paste a SQL cell into Qrly and a flat SELECT is reverse-engineered into a visual definition — joins, filters, group by, having, order by with NULL ordering, limit and offset — with CTEs, UNION and subqueries reported as lossy features rather than dropped silently. Anything that will not convert still runs as native SQL, with template variables bound as prepared-statement parameters. Connections are recreated against the same databases, so no data moves; Python cells have no equivalent and are better left where they are.

What about our Python cells?

Qrly has no Python runtime, and pretending otherwise would waste your time. What it replaces is the SQL-and-charts half of a notebook: a query document compiled to 12 SQL dialects, 13 visualisation types with trendlines, moving averages and a 1 to 24 period forecast, drill-through into the underlying rows, and dashboards non-analysts can filter themselves. Work that genuinely needs pandas or scikit-learn stays in Hex — the two are complements, not substitutes, for most data teams.

Can we run Hex on our own infrastructure?

Not in the ordinary way. Hex is a cloud service, and a private single-tenant deployment is something negotiated as part of an enterprise agreement rather than a box you install. Qrly self-hosts as a single deployment on any Linux box or Kubernetes cluster at every price point — no phone-home, no user minimum, EU data residency by default — and the AI layer can point at an Ollama or LM Studio endpoint on the same network, so the prompts do not leave either.

Can we put a dashboard in front of our own customers?

Yes, and it is the same surface your analysts use. Qrly embeds a question or a whole dashboard through a signed JWT with locked parameters the viewer cannot override, across as many customer tenants as you like and with no per-viewer seat. Scheduled subscriptions deliver to multiple channels for the people who would rather receive the number than go and look for it.

Cost for 50 users over 3 years?

Qrly is priced on revenue, not seats: a €15M-revenue company pays €6,300 a year — €18,900 over three years — for unlimited everything, one organization, one installation. Hex is licensed per user, with editor seats priced above viewer seats, so the bill tracks headcount in both directions. That is the structural difference: Qrly's number moves with your turnover, not with how many people you let look at a dashboard.

Keep Hex. Add the governed layer a notebook cannot give you.

OLAP models, Alerts, embed portal, QQL, scheduled subscriptions. Self-hostable. Flat pricing. Made in Belgium.