782 words
4 minutes
How I Used Jupyter + Manus AI to Automate Fundraiser Data Entry from Google Fit

I signed up for the Children with Cancer UK 10 Mile Challenge — walk miles throughout August, log them on the fundraiser page, raise money for a great cause. I had the walking done. What I didn’t want to do was spend an evening manually entering 31 separate activity entries with dates and mileage conversions.

So I automated it. Here’s the exact step-by-step process, from raw Google Fit export to a fully populated fundraiser page — using a Jupyter notebook for data prep and Manus AI for the web form entry.

Children with Cancer UK fundraiser page

👣 Steps#

1. Export Your Google Fit Data#

Head to Google Takeout and export your Fit data. You’ll get a zip file containing daily CSV files — one per day — with columns for steps, heart rate, calories, distance, oxygen stats, and more.

Each file looks something like this:

Start time,End time,Move Minutes count,Calories (kcal),Distance (m),
Heart Points,Heart Minutes,Avg heart rate,Max heart rate,Min heart rate,
...,Step count,...

The column we care about is Step count — but it’s buried among 20+ other fields. That’s why we need the next step.


2. Clean the Data with a Jupyter Notebook#

I used Google Colab to write a short notebook that reads all 31 daily CSVs and extracts just the step count per day.

Cell 1 — Import pandas:

import pandas as pd

Cell 2 — Loop through all 31 days and aggregate:

final_df = pd.DataFrame(columns=['date', 'steps'])
for i in range(31):
    date = f'2026-08-{str(i+1).zfill(2)}'
    df = pd.read_csv(f'/content/{date}.csv')
    total_steps_of_the_day = int(df['Step count'].sum())
    new_row = pd.DataFrame({'date': date, 'steps': total_steps_of_the_day}, index=[0])
    final_df = pd.concat([final_df, new_row], ignore_index=True)

Cell 3 — Preview the result:

final_df

This outputs a clean table:

datesteps
02026-08-0113697
12026-08-0215789
22026-08-0315634
302026-08-316854

Cell 4 — Export to CSV:

final_df.to_csv('/content/Steps_08_26.csv')

The output is a tidy two-column file: date and steps. Total for August: 472,434 steps.


Manus AI prompt

3. Upload to Manus AI and Give It a Prompt#

Open Manus.im, upload Steps_08_26.csv, and tell it what you want. Here’s the exact prompt I used:

I want Manus to fill up the fundraising details on a website for Children with Cancer UK with my steps details. Here’s the access link [URL]. You have the step details in the CSV.

That’s it. One paragraph. Manus takes it from here.


4. Answer Manus’s Clarifying Questions#

Manus didn’t blindly start entering data. It read the CSV, inspected the fundraiser site, and came back with two smart questions:

Question 1 — Unit mismatch:

The activity form accepts miles, not steps. Your CSV records 472,434 steps from 1–31 August 2026, but it does not contain a distance or a steps-to-mile conversion. Please tell me the conversion you want used.

My answer: 2,000 steps = 1 mile

Question 2 — Entry format:

Option A — One cumulative entry of 236.22 miles dated 31 August. Option B — 31 separate entries, each dated and converted from that day’s steps.

My answer: B (daily records)

This is exactly what you want from an AI agent — it identifies problems before they become mistakes and gives you clear options.


5. Let Manus Do the Work#

After my answers, Manus:

  1. Wrote a Python conversion script using Decimal with half-up rounding to avoid floating-point errors:
from decimal import Decimal, ROUND_HALF_UP

STEPS_PER_MILE = Decimal('2000')

for record in csv.DictReader(source_file):
    exact_miles = Decimal(steps) / STEPS_PER_MILE
    displayed_miles = exact_miles.quantize(Decimal('0.01'), rounding=ROUND_HALF_UP)
  1. Generated a daily mileage schedule — a markdown table with date, steps, and miles for all 31 days:
DateStepsMiles to post
1 August 202613,6976.85
2 August 202615,7897.89
3 August 202615,6347.82
30 August 202620,21210.11
31 August 20266,8543.43
  1. Posted all 31 entries to the Children with Cancer UK fundraiser site — one by one, each with the correct date and mileage. Every submission returned HTTP 200.

6. Verify the Result#

After all 31 entries were posted, the live Activity challenge tracker displayed 236.23 miles — matching the expected sum of the 31 individually rounded daily values.

  • ✅ 31 entries posted
  • ✅ All HTTP 200 responses
  • ✅ Public tracker shows correct total
  • ✅ Login token expired after completion (task done)

📊 The Numbers#

MetricValue
Total steps472,434
Total miles236.23
Days recorded31
Average daily steps~15,240
Highest day20,833 steps (5 August)
Lowest day6,854 steps (31 August)

Final result

🛠️ What You Need to Replicate This#

  • A Google Fit account with step data
  • Google Takeout export of Fit data
  • A Jupyter/Colab environment with pandas
  • A Manus.im account: use my reference link and you can get 500 credits.
  • A web form that accepts activity entries (with date + distance)

🧠 Final Thoughts#

The whole process took about 15 minutes of my time — mostly writing the prompt and answering two questions. The Jupyter notebook took 5 minutes to write, and Manus handled the rest.

The key insight? The data preparation step is where the real value is. If you can get your data into a clean, simple CSV — two columns, no junk — you open the door for AI agents to do the rest. Manus couldn’t have done anything with 31 raw Google Fit exports. But with a tidy CSV? It was smooth sailing.


Resources#

  1. Manus AI: manus.im
  2. Google Takeout: takeout.google.com
  3. Python Decimal module: docs.python.org/3/library/decimal.html
  4. Manus AI: The Dawn of True General AI Agents:https://wowlabz.com/manus-ai-true-general-ai-agent
How I Used Jupyter + Manus AI to Automate Fundraiser Data Entry from Google Fit
https://beyond400.vercel.app/posts/manus-experience/
Author
TomDcoding
Published at
2026-08-31