Customer attributes as well in combination with product attributes and more sorting options will greatly make the customer journey more personalised beginning from the search bar.
Examples of customer attributes could be new customer, returning customer, purchased history (Already available in the module if I am not mistaken), gender, country, etc.
Multiple sorting can be applied as well to a single recommendation as well as using scores or weights, etc.
Maybe we could also specify a certain duration for each attribute used. For example recency of purchased products, time of purchase, etc
In fact, proper customer segmentation will help not only with product recommendation but each customer's journey will be more personalized and unique as they will most likely be exposed to the products they want.