Descarga el código abierto desde GitHub y crea en tu propio ordenador una herramienta que resume los kilómetros, el desnivel positivo, las horas de uso y las salidas acumuladas por cada zapatilla.
Requisito previo: Strava exige actualmente disponer de una suscripción para crear una nueva aplicación API. Si tu cuenta no cumple ese requisito, no podrás completar este sistema.
Qué se descarga: GitHub contiene el código fuente, no un ejecutable preparado por SubeconSer. Tú descargas una copia completa y generas la aplicación en tu propio ordenador. No tendrás que copiar el código línea por línea.
Por qué he desarrollado esta herramienta
Como corredor y probador de material, el kilometraje se me quedaba corto para explicar el uso real de unas zapatillas de trail. Dos pares pueden acumular 500 kilómetros y haber trabajado en contextos muy diferentes: uno principalmente en pistas poco inclinadas y otro sumando 25.000 metros de desnivel positivo en recorridos mucho más verticales.
El desnivel no es un medidor directo de desgaste, pero tampoco es una mera curiosidad. Permite documentar mejor las condiciones de uso y relacionarlas después con lo que observamos en la suela, los tacos, el upper, la mediasuela, el agarre y las sensaciones. Por eso quise reunir kilómetros, desnivel positivo, tiempo en movimiento y número de salidas en un único historial por zapatilla.
La utilidad está en poder seguir patrones. Si un modelo pierde tacos, rompe el upper o deja de ofrecerte buenas sensaciones, ya no tienes solo una impresión: puedes saber qué distancia, cuántas horas y qué desnivel había acumulado, y compararlo con otros pares o con otra unidad del mismo modelo.
Observar la suela y los tacos
El historial permite relacionar el desgaste, el redondeo o la pérdida de tacos con la cantidad y el perfil vertical del uso. Si el patrón se repite en condiciones parecidas, aporta información práctica sobre la durabilidad y el agarre de ese modelo para tus terrenos habituales.
Seguir el estado del upper
Las zonas de flexión, las uniones y los refuerzos pueden responder de forma distinta según el terreno y el uso. Registrar cuándo aparecen holguras, deformaciones o roturas hace que la comparación entre modelos sea más transparente.
Interpretar mediasuela y sensaciones
Kilómetros, horas y desnivel ayudan a poner en contexto cambios de amortiguación, estabilidad o respuesta percibida. No calculan la degradación de la espuma, pero permiten registrar cuándo y bajo qué uso empiezas a notar diferencias.
Comparar modelos y usos
Dentro de tu propio historial puedes detectar qué zapatillas conservan mejor el agarre, cuáles toleran mejor los recorridos verticales y cuáles te funcionan mejor en pistas, terreno técnico o salidas largas.
Cómo se complementan los cuatro datos
Kilómetros
Cuantifican la distancia y siguen siendo la referencia básica para ordenar el uso de cada par.
Desnivel positivo
Describe el componente vertical. Relacionarlo con la distancia ayuda a distinguir, por ejemplo, 500 kilómetros llanos de 500 kilómetros con una media de 500 metros positivos por cada 10 kilómetros.
Horas de uso
Representan mejor las salidas lentas o técnicas, en las que se pueden acumular muchas horas sin recorrer una gran distancia. También ayudan a interpretar cómo es el desgaste en aquellas zapatillas usadas en entrenamientos de intensidad o competición, con menos horas de uso.
Número de salidas
Muestra la frecuencia de utilización y ayuda a entender cómo rotas el calzado y qué modelos concentran más sesiones.
Para un corredor, esto facilita revisar la rotación y aprender qué modelos se adaptan mejor a su uso. Para un probador de material, permite acompañar una valoración con datos de campo y dejar claro en qué condiciones se ha puesto a prueba cada zapatilla.
Qué significa y qué no: estos datos permiten describir el uso, detectar patrones personales y formular comparaciones razonables. No demuestran por sí solos que el desnivel haya causado una rotura concreta, porque también influyen la superficie, la tecnicidad, los descensos, la humedad, la velocidad, la técnica y el propio modelo. Tampoco calculan una «vida útil restante» ni un riesgo de lesión.
Leer cómo utilizar el desnivel para conocer mejor tus zapatillas
Qué hace la herramienta
Resumen por zapatilla
Agrupa las actividades mediante el material que tienes asignado en Strava y muestra distancia, desnivel positivo, horas, salidas y fechas de uso.
Actividad más allá de los kilómetros
El desnivel positivo y las horas aportan contexto que la distancia por sí sola no refleja, especialmente en zapatillas utilizadas en montaña.
Periodo configurable
Puedes consultar toda tu historia disponible o limitar el análisis a las fechas que te interesen.
Exportación local
Puedes guardar el resumen en CSV o Excel. Los archivos quedan en la carpeta que tú elijas.
No es un calculador de vida útil. La distancia acumulada es útil para organizar el material, pero no determina por sí sola cuándo debes retirar una zapatilla.
Cómo funciona
Creas una aplicación de un solo deportista en el panel API de Strava.
Descargas el código de GitHub, lo compilas y autorizas tu propia cuenta.
El programa consulta la API y muestra el resumen solo en tu equipo.
No se comparten credenciales entre corredores. Tampoco existe una aplicación común de SubeconSer ni un servidor intermedio que reciba tus datos.
Qué necesitas antes de empezar
- Un ordenador con Windows 10 u 11.
- Una cuenta de Strava con suscripción activa.
- Acceso a esa cuenta desde un navegador web.
- Tus zapatillas añadidas al material de Strava.
- Las zapatillas correctamente asignadas a cada actividad.
- Permiso para instalar Python en el ordenador.
- Conexión a Internet durante la configuración y las actualizaciones.
Si el ordenador pertenece a una empresa o administración, es posible que no tengas permisos para instalar programas. En ese caso necesitarás la autorización del responsable del equipo.
Configuración paso a paso
-
Revisa el material de tu cuenta
Antes de crear nada, comprueba en Strava que tus zapatillas aparecen en el apartado de material y que cada actividad tiene asignado el modelo correcto.
Si faltan asignaciones, corrígelas primero. La herramienta no puede adivinar qué zapatilla utilizaste ni modifica tus actividades.
-
Accede al panel de aplicaciones
Inicia sesión en Strava desde el navegador y abre:
https://www.strava.com/settings/api
Verás el formulario para crear una aplicación o la página My API Application si ya tienes una.
Las aplicaciones nuevas comienzan en modo de un solo deportista. Para este uso personal es suficiente: no necesitas ampliar la capacidad a diez personas.
-
Crea tu aplicación personal
Los nombres de algunos campos pueden variar si Strava cambia o traduce el panel. Utiliza esta configuración como referencia:
Campo Valor recomendado Nombre de la aplicación Mi control de zapatillasCategoría Other/Otro o la opción disponible más próxima. Club Déjalo vacío si no es obligatorio. Sitio web https://subeconser.com/control-zapatillas-strava/Descripción Aplicación personal para revisar el uso de mis zapatillas.Authorization Callback Domain localhostPolítica de privacidad, si la solicita https://subeconser.com/control-zapatillas-strava/#scsh-privacidadEn Authorization Callback Domain escribe solamente
localhost: sinhttp://, sin puerto, sin barras y sin rutas adicionales.No incluyas la palabra Strava dentro del nombre de la aplicación. Sus normas permiten explicar que una herramienta es compatible, pero no utilizar la marca como parte del nombre.
Lee y acepta las condiciones vigentes de la API para completar el registro.
-
Localiza tu Client ID y Client Secret
Una vez creada la aplicación, la página My API Application mostrará al menos:
- Client ID: el identificador numérico de tu aplicación.
- Client Secret: su credencial privada.
No necesitas copiar manualmente el Access Token ni el Refresh Token que aparecen en el panel. La aplicación realiza ese proceso.
No compartas el Client Secret. No lo envíes por correo, mensajería o formularios de soporte y no publiques capturas en las que aparezca. Trátalo como una contraseña.
-
Descarga el código desde GitHub
Abre el repositorio desde el botón situado al principio de esta página. En GitHub:
- Pulsa el botón Code.
- Selecciona Download ZIP.
- Abre la carpeta Descargas de Windows.
- Haz clic con el botón derecho sobre el ZIP.
- Selecciona Extraer todo.
Esto copia todos los archivos necesarios. No hace falta una cuenta de GitHub ni copiar y pegar
main.pymanualmente.No ejecutes los archivos dentro del ZIP. Extrae primero todo el contenido a una carpeta normal para que el proceso pueda crear el entorno y el ejecutable.
-
Instala Python 3.11 o 3.12
Si ya tienes una de esas versiones y funciona desde una terminal, puedes pasar al paso siguiente. Si no, descárgala desde la web oficial:
En el instalador clásico marca Add python.exe to PATH antes de continuar. Si utilizas el Python Install Manager actual, asegúrate de instalar el entorno 3.12 o 3.11.
La recomendación de versión es deliberada: evita depender de una versión de Python más nueva que todavía no haya sido comprobada con este paquete.
-
Genera la aplicación en tu ordenador
Dentro de la carpeta extraída, haz doble clic en:
BUILD_WINDOWS.batEl archivo realizará automáticamente estas tareas:
- localizar Python 3.12 o 3.11;
- crear un entorno aislado para el proyecto;
- instalar las dependencias declaradas;
- compilar la aplicación con PyInstaller.
La primera ejecución puede tardar varios minutos. No cierres la ventana mientras trabaja.
Cuando termine correctamente encontrarás:
dist\SubeconSer_Control_Zapatillas.exeNo tienes que repetir este paso cada vez. Solo será necesario si descargas una versión nueva del código o quieres reconstruir la aplicación.
-
Abre la aplicación con seguridad
Ejecuta
SubeconSer_Control_Zapatillas.exedesde la carpetadist.Windows puede mostrar una advertencia de editor desconocido porque el archivo creado localmente no está firmado con un certificado comercial. Esa advertencia no demuestra por sí sola que exista malware, pero tampoco debes ignorarla si el código procede de otra fuente.
Continúa únicamente si descargaste el repositorio oficial y generaste tú el archivo. No desactives el antivirus ni ejecutes todo el proceso como administrador como solución automática.
-
Introduce tus credenciales y autoriza
Escribe tu Client ID y tu Client Secret en sus respectivos campos y pulsa Autorizar en Strava.
Se abrirá el navegador. Antes de iniciar sesión o conceder permisos, comprueba que la dirección pertenece a
strava.com.El programa solicita estos permisos:
read,activity:read_allactivity:read_allpermite incluir las actividades con visibilidad Solo tú. Si retiras ese permiso, esas actividades pueden quedar fuera del resultado.Después de aceptar, el navegador volverá a
http://localhost:8501.localhostes tu propio ordenador, no un servidor de SubeconSer.Tu contraseña se introduce exclusivamente en la página oficial de Strava, nunca dentro del programa.
-
Selecciona las fechas y actualiza
Utiliza el formato
AAAA-MM-DD. Por ejemplo:Desde: 2025-01-01 Hasta: 2026-09-14Pulsa Actualizar datos. La aplicación descargará las actividades accesibles dentro de ese intervalo y consultará cada zapatilla utilizada.
No pulses repetidamente mientras la descarga está activa. Strava aplica límites de peticiones a cada aplicación.
-
Revisa y exporta el resumen
La tabla mostrará para cada zapatilla:
- nombre, marca o modelo disponible;
- distancia acumulada;
- desnivel positivo acumulado;
- horas de uso;
- número de salidas;
- primer y último uso dentro del periodo.
Puedes guardar una copia con Exportar CSV o Exportar Excel. El archivo se crea únicamente en la carpeta que elijas.
Uso posterior
No necesitas volver a crear la aplicación de Strava ni recompilar el código. Cada vez que quieras actualizar el resumen:
- revisa que las actividades nuevas tengan la zapatilla correcta;
- abre el ejecutable creado en la carpeta
dist; - introduce de nuevo tus credenciales y autoriza;
- elige las fechas y pulsa Actualizar datos.
La autorización se repite porque esta versión no guarda el Client Secret ni los tokens al cerrar el programa.
Cómo calcula los resultados
La herramienta consulta la lista de actividades del periodo y agrupa cada una mediante el identificador de la zapatilla que Strava tiene asociado. Después consulta los datos descriptivos de cada modelo una sola vez.
| Resultado | Dato utilizado |
|---|---|
| Kilómetros | Suma de distance, convertida de metros a kilómetros. |
| Desnivel positivo | Suma de total_elevation_gain. |
| Horas de uso | Suma de moving_time, convertida de segundos a horas. |
| Salidas | Número de actividades asociadas a esa zapatilla. |
| Fechas de uso | Primera y última fecha dentro del intervalo seleccionado. |
De forma predeterminada procesa:
Run · TrailRun · VirtualRun · Hike · Walk · Snowshoe
El archivo README.md explica cómo modificar esa lista antes de
compilar si quieres excluir, por ejemplo, las caminatas.
Limitaciones importantes
- Una actividad sin zapatilla asignada no puede incorporarse al total de un modelo concreto.
- Si una actividad tiene asignada una zapatilla incorrecta, el error también aparecerá en el resumen.
- Las actividades privadas solo se incluyen si concedes el permiso necesario.
- No se calcula desnivel negativo ni se descargan los trazados GPS.
- No existe sincronización automática en segundo plano; la actualización es manual.
- El total corresponde al periodo seleccionado y a los datos accesibles, no necesariamente a todo el uso real de la zapatilla.
- El desnivel positivo no describe la tecnicidad, la superficie, la velocidad de descenso ni todas las cargas soportadas por el material.
- La herramienta no diagnostica el estado de la suela, la mediasuela o el upper y no aplica un umbral universal para retirar una zapatilla.
- El funcionamiento depende de una API externa que puede cambiar.
La decisión de mantener o retirar una zapatilla debe considerar también el desgaste visible, la pérdida de agarre, las deformaciones, las sensaciones, el terreno habitual y las características del corredor.
Privacidad y seguridad
Este proyecto está diseñado para uso individual y local. La conexión se realiza entre tu ordenador y la API de Strava después de que tú concedas el permiso.
Credenciales
Cada usuario utiliza su propio Client ID y Client Secret. No se envían a SubeconSer ni se guardan al cerrar la aplicación.
Datos
Los resultados permanecen en memoria. Solo se escriben en el disco cuando tú decides exportarlos.
Autorización
El flujo comprueba una clave aleatoria de seguridad y permite renovar el token si caduca durante la sesión.
Transparencia
El código completo, el aviso de privacidad y las instrucciones de seguridad están disponibles en GitHub.
Cómo retirar el acceso
- Entra en la configuración de tu cuenta de Strava.
- Abre el apartado de aplicaciones autorizadas.
- Localiza tu aplicación personal.
- Revoca o retira el acceso.
Cerrar el programa elimina lo que permanece en memoria. Los archivos CSV o Excel que hayas exportado quedan bajo tu control y debes borrarlos manualmente si ya no quieres conservarlos.
Si solicitas ayuda, envía únicamente el texto del error. Oculta cualquier Client ID, Client Secret, access token, refresh token o código de autorización que aparezca en una captura.
Solución de problemas
Strava no me permite crear una aplicación
Comprueba que has iniciado sesión en la cuenta correcta y que tienes una suscripción activa. Strava exige actualmente una suscripción para crear una nueva aplicación API.
¿Tengo que copiar el código línea por línea?
No. En GitHub pulsa Code → Download ZIP y después Extraer todo. Así obtienes una copia completa del proyecto.
Python no se reconoce
Instala Python 3.11 o 3.12 desde la web oficial. En el instalador clásico marca Add python.exe to PATH y vuelve a ejecutar el BAT.
El BAT no encuentra Python aunque está instalado
Comprueba que py -3.12 --version,
py -3.11 --version o python --version funciona en
una terminal nueva. El paquete está preparado para Python 3.11 y 3.12.
El archivo BAT se abre y se cierra
Asegúrate de haber extraído completamente el ZIP y de utilizar el archivo incluido en el repositorio oficial. La versión actual mantiene abierta la ventana para mostrar el resultado o el error.
Aparece un error de redirect o callback
Revisa Authorization Callback Domain. Debe contener
exactamente localhost, sin protocolo, puerto, barras ni
espacios.
Autorizo en el navegador, pero la aplicación no continúa
Mantén abierto el programa durante todo el proceso. Revisa si otro programa está usando el puerto 8501 o si el firewall ha bloqueado la conexión local. Si Windows solicita permiso de red, limítalo a redes privadas.
Client ID o Client Secret no válidos
Vuelve a copiarlos desde My API Application. Comprueba que cada dato está en su campo, que no hay espacios y que no has utilizado el Access Token en lugar del Client Secret.
No aparecen las actividades privadas
Vuelve a autorizar y mantén el permiso que permite leer actividades con visibilidad Solo tú.
Faltan zapatillas o los kilómetros no coinciden
Revisa el periodo, el tipo de actividad y la zapatilla asignada en Strava. Corrige las actividades y vuelve a pulsar Actualizar datos.
Aparece HTTP 401
La autorización ya no es válida. Vuelve a realizar la conexión desde la aplicación.
Aparece HTTP 429 o “Too Many Requests”
Se ha alcanzado temporalmente un límite de peticiones. No sigas pulsando el botón. Espera al siguiente intervalo de la API y vuelve a intentarlo.
El antivirus muestra una advertencia
No desactives el antivirus. Confirma que descargaste el código desde el repositorio oficial y que el ejecutable fue generado por ti. Si no puedes verificar el origen, no lo ejecutes.
Aparece CERTIFICATE_VERIFY_FAILED
Algún antivirus o filtro de red puede estar inspeccionando las conexiones HTTPS. No desactives la verificación SSL en el código. Identifica el programa que intercepta la conexión y aplica, si procede, una excepción limitada.
No puedo guardar el CSV o el Excel
Cierra una copia anterior que esté abierta y elige una carpeta en la que tengas permiso de escritura, como Documentos.
Preguntas frecuentes
¿Necesito una cuenta de GitHub?
No. Un repositorio público puede descargarse como ZIP sin crear una cuenta.
¿Necesito saber programar?
No para seguir el procedimiento principal. Sí necesitarás instalar Python, ejecutar el archivo de compilación y leer cualquier error que pueda aparecer.
¿Descargo un ejecutable de SubeconSer?
No. Descargas código fuente visible y generas el ejecutable en tu propio ordenador.
¿Debo ampliar la aplicación a diez deportistas?
No. El modo inicial de un solo deportista es el adecuado para este uso personal.
¿Puedo utilizar credenciales de SubeconSer?
No. No existen credenciales comunes para este recurso. Cada corredor crea y utiliza las suyas.
¿La aplicación recuerda mis credenciales?
No. Esta versión prioriza no guardar el Client Secret ni los tokens. Debes introducirlos y autorizar de nuevo después de cerrar el programa.
¿Funciona en Mac, Android o iPhone?
La versión actual está preparada para Windows 10 y 11.
¿Modifica mis actividades?
No. Solicita permisos de lectura y no crea, edita ni elimina actividades.
¿Me dice cuándo debo cambiar de zapatillas?
No. Organiza el uso acumulado, pero no convierte los kilómetros en una fecha automática de retirada.