> iamdarren.com← Back to projects
Open tool / Cycling data

Your ride happened.
The upload didn't.

If a Technogym indoor cycling session is missing from Strava, a compatible activity JSON export may still hold enough data to recreate a FIT file for manual upload.

The route back

Export → FIT → Strava.

A small local Python tool converts a supported Technogym JSON activity into the workout file format Strava accepts.

01 / SOURCE

Find your activity JSON

Use your own Technogym activity export. It must include an on timestamp and performedData fields like the repository example.

02 / CONVERT

Make a FIT file

Run the converter on your computer. It writes one FIT file per matching indoor cycling activity.

03 / UPLOAD

Check it on Strava

Upload the missing ride through Strava's file uploader and check its date, duration and metrics.

Check first: the tool cannot fetch your Technogym data or restore a ride that is absent from the export. If your ride is already on Strava, uploading it again may create a duplicate or be rejected.
Run it locally

Three commands.

Install the Python dependency from the repository, point the script at your JSON export, and select the resulting FIT file.

From the project folder

python3 -m pip install -r requirements.txt
python3 json_to_fit.py your_activities.json
# Optional: select one date
python3 json_to_fit.py your_activities.json --date 2026-10-14

Look in fit_files/ for the generated file. The repository has an example JSON activity so you can compare its structure with your export.

Full setup on GitHub ↗

What comes across?

  • Ride date and duration
  • Distance and calories, when present
  • Power, heart rate and cadence, when present
  • Segment variation, when the export contains multiple segments

Source data sets the limit. When segments are absent, the file uses summary averages as an approximate flat trace. It cannot reconstruct the original second-by-second readings.

After conversion

Upload the missing ride.

Strava accepts FIT activity files through its web uploader. Check the imported activity before uploading a larger batch.

Finish in Strava

  1. Open Strava's file uploader.
  2. Select the FIT file for the missing ride.
  3. Review the activity date, duration and recorded metrics.

About the tool

The converter runs locally and does not need your Technogym or Strava login. Keep your personal export off public GitHub issues and repositories.

This project has been checked with the included example FIT file. Whether Strava accepts a particular export depends on the source data and Strava's processing.

Strava's upload guidance ↗