Weight-based hill angle detection
Enter your weight in the app and use it as a parameter in the Elevated shaping. Based on the rider weight, speed, acceleration, and motor load, you can calculate the average slope of the ride surface, and adjust the OW angle to match, automatically, up or down hills. It wouldn't be perfect of course, but even a partial matching of the ride surface would help. A smoothing function would ignore bumps, and so there would be a couple second delay before the angle gently changes to match the terrain.