I am creating an automation tool which helps users in automating various tasks such as sending top-performing products, outlets, etc. I am stuck in the planning phase as what kind of user interface I will need so a user can define rules.

I have so far come up with the following approach,
I will have all columns name into a component, so the user can make expressions using components and pre-defined operators. Now those are base components, I want to allow the user to create programmable components, with which user can define the definition of it and can access the value of this component this in other components making.

Base components will be like,

  • Item Price
  • Item sold qty
  • Item current qty
  • Item stock
  • Item margin

Programmable components can be of like,

  • Top performing item
    Max of (sold qty * margin)
  • OOS soon items
    Min of (current qty + stock)

Programmable components can be anything similar to the user can query on the same database, so should I use query language similar approach to take inputs or?


  • How many potential base components might a user select from? How many programmable components can there be? Have you canvassed your users or looked at data to see how they currently using queries? Aug 14, 2019 at 5:18
  • @DarrylGodden, as far in the current system there are 48 base components and 12 programmable components for which the definitions will be pre-codded in the system, a new user can create as needed. Currently, we have two dedicated tech persons who help the ops team to do a query on a direct database for required outputs, which I want to change to do through the new platform. Aug 14, 2019 at 5:23

2 Answers 2


If I think correctly, the programmable components are the basic combinations

If we have 5 variables - then 120 permutation without repetition

Partial data will be taken from the current structure in the database

Data from combinations results should be saved elsewhere - in terms of whether results in programmable components are permanently recorded or temporary

enter image description here

What should it look like to this interface?

It's only basic proposition(:

enter image description here

  • Programmable components are basic components with expression binding them. For example, Top selling items, which item is having above-average sales will be named as top-selling items. Here, Top selling items and average sales are two Programmable components. Aug 14, 2019 at 8:13

There has been a lot of improvement these days in terms of natural language processing as input from users - Wolfram Alpha seems to be the gold standard here and Google Voice Search also seems to be catching up and constantly improving.

I think any structured input will always be more easily defined by having very specific input fields and input masks to make it easier for the end user, but if you want to start moving towards the other extreme of more flexible input capture, then you should consider natural language processing features.

Even standard user feedback and capture in the form of chatbots or natural language style forms such as Typeform seem to perform better when the research and implementation are carefully worked out.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.