Skip to content
← All work

Work

Natural-language analytics, and a unified product after acquisition

Two parallel threads at Opiniion — an LLM workflow that turns plain questions into a query DSL and chart spec, and the architecture that lets two acquired products read as one dashboard.

Role
Staff Software Engineer
Year
2026
Themes
LLM · Analytics · DSL · Architecture · Post-acquisition

Two threads, one role. Both are about turning a messy data surface into something a person can actually read.

The framing

Operators were arriving at the dashboard with questions in their head and leaving with a chart configuration in their hands. The interesting question was not “build more charts.” It was how thin can the layer between a question and a chart get?

In parallel, the post-acquisition unification of Rentgrata and Opiniion needed a single dashboard surface that read as one product, even though the systems behind it had two different operating histories.

What changed — analytics

  • A small, opinionated query DSL that the LLM emits, rather than free-form SQL. The DSL is the trust boundary: anything that can be expressed in it is safe to run; anything that cannot is rejected before it hits the database.
  • A chart spec as a separate, typed output. The model decides the question’s shape — bar, line, comparison, distribution — and the React layer renders deterministically from the spec.
  • An interactive React dashboard that treats the LLM as a translator, not a renderer. Users can edit the question, edit the DSL, or edit the chart, and the system stays consistent.

What changed — unification

  • A Gateway / Composer / Reconciler pattern: a gateway at the front, a composer that assembles the unified view, a reconciler at the seams.
  • Architectural oversight embedded with the Resident Applications team — unblocking delivery and accelerating timelines without owning the day-to-day.

Tradeoffs

The DSL costs us expressiveness. There are questions a free-form SQL agent could answer that this system declines. That is the design — the floor matters more than the ceiling for analytics that operators trust on a Monday morning.

The unification pattern absorbs complexity at the seam. Product teams downstream of the gateway get to write code as if the two histories never existed.

Outcome

A dashboard that answers operator questions in plain language, on a single surface across two product lines.