Once you've defined your schema, you define your configuration logic with the Hypertune visual configuration language.


The language is functional, statically-typed and has primitives for event logging, A/B testing and machine learning.

Type-directed UI

The language UI is type-directed so it only shows expression options that satisfy the required type of the hole in the logic tree. So for a String field, you can insert a String expression or an If / Else expression that returns a String. If you insert the latter, more holes appear.
This means nontechnical users don't need to know any syntax and can't get into invalid states.

Field arguments

You can reference field arguments you define in the schema, e.g. context > user > id.

Event logging, A/B testing and machine learning

You can drop A/B tests and contextual multi-armed bandits anywhere in your logic.
And you can define logic that logs events. This lets you see A/B test results and set goals for machine learning loops.


You can click the three dots menu on any expression and convert it into a variable. Repeat the process on the variable to lift it to a higher scope.
Click the down arrow next to a variable to remove it and replace all its references with a copy of its value.

Live analytics

Live counts are overlaid on your logic so you can see how often different branches are called in realtime.


You can click the three dots menu on any expression and add a note, e.g. to explain a feature flag.

Granular permissions

You can click the three dots menu on any expression and set permissions, e.g. to let customer success edit a list of user IDs but not the surrounding logic.