Category5 min read·June 2026

Article title

Article subtitle

Hero image bind to main-image in Designer

Article body bind Rich Text to body field in Designer.

❮   all STORIES

Dive into CBE - Circular’s Brain Engine

Circular’s goal is not only to provide users with their raw data, but also with recommendations: small notifications describing how you are doing and how to improve your sleep, activity, recovery or general wellness.

Circular’s problem with Recommendations

A problem about numbers

With that in mind, Circular has introduced Kira, a health assistant to help our users to improve their wellness, easily. Her goal is to be able to analyze and provide the user with a massive amount of information, including 2000+ recommendations.

And there’s where the problem lies: 2000+ recommendations is a massive amount of recommendations. And there will be more recommendations in the future.

Furthermore, everyone is different, so recommendations must be adaptive and evolve with the user’s own biometrics.

Scores, Scores everywhere!

Scores are important concepts at Circular: They are the base that we use to feed Kira’s brain.

They are calculated by using proprietary algorithms and machine learning and extracted through the user's biometric raw values.
Our infrastructure is heavily event-based, so each component is separated and executed separately; this is also the case for Data Science scripts, which have their own execution environment.

Because we have an event-based environment, it is very simple for us to plug in new independent features,  and, therefore, it is very simple to follow user states through said events.

Knowing that, it was important to us to find a simple yet effective solution to create, manage and upgrade recommendations easily, that is using Scores to fuel a decision engine.

Introducing: CBE - Circular’s Brain Engine

A compromise between Speed and Simplicity

I have a background in the video game industry, and Recommendations looks exactly like what you can find in the industry as an “FSM”, a Finite State Machine.

The Finite State Machine is widely used in video games to provide an easy way to handle multiple states depending on the game inputs.

The video-games industry also uses “Graph Node Engines”, to provide easy ways to program behaviors without using any code, by using “Graph Nodes”.

As an example, here how it looks like in Unreal Engine (they called it “blueprints”):

It is a great way to provide the Game Designers with a simple tool to create complex behaviors, without having to type a massive amount of code.

And that’s exactly the road we decided to take: GDE is a Graph Node Engine, powered by a background Finite State Machine.

An engine to rule them all

CBE was designed with genericity in mind, because of that, it is also usable by multiple different triggers. So, as of today, it is not only used by our Recommendations system, but also for our Calibration process.

In the future, we plan to use CBE for even more systems, including big-data decision making, but for the moment, it will be reserved for Kira’s brain!

An example of graph flow in GBE

The genericity, the simplicity of the Node Graph and the power of the FSM allows for simple yet powerful behavior execution, without having to code anything.

Furthermore, the Engine decides how to optimize the graph, to provide the best result, without having to retrieve a massive amount of data and processing time.

The video-games industry is often overlooked as a “fun” industry, but it is also an industry that requires simple yet powerful decision systems.

That’s why one of these systems was the perfect answer for Circular’s Recommendations problem: Providing us with the perfect solution for automated decision making and their simple management.

You might also like