So my intuition tells me there’s a lot here that can be optimized.

  1. I think imperial vs metric should just be one toggle and it changes all your inputs. Set it as a state: system = “imperial” “metric”. Then change the input placeholders accordingly.

  2. Your daba type. Can you show me how it looks? I would personally have a data type: “Physical Details”, and in it a few values: Height, Weight, Waist, etc… and a “system” value where I store either “metric” or “imperial”. With that, I can easily standardize all measurements to say, metric, but know what the user’s preferences are to show them their own data in the system of their chosing.

  3. When creating a thing, just create one thing: Physical Detail. Load up all data either just as the user entered it, or (my preference) is to convert all values to a standard system (metric) when saving the user’s entered value. So I would have two steps: 1 if the user’s preference is metric, one if the user’s preference is imperial. IF it is state system = metric, save as is. If it state system= imperial, convert data to metric.

Why would I convert the data? In case you want to build a dashboard or do some data mining. It’s better to have all metrics in the same system.

Hope this helps!