Так как задача довольно объёмная и на этом этапе выплюнуть универсальный рецепт сложно (осторожно многобуков) - предлагаю разделить решение на несколько частей. Рекомендации сугубо мои, не являюсь первоинстанцией, это не рецепт - это подход.
Сначала 10 тысяч шагов, потом уже как пойдет