Paste your Apps Script Web App URL below. One-time setup (~5 min):
Create a Google Sheet → Extensions ▸ Apps Script.
Delete the sample code, paste this, then Save:
function doPost(e){
var s = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
if (s.getLastRow() === 0){
s.appendRow(['Timestamp','Date','Cycle','Day','Exercise',
'Set','TargetReps','ActualReps','Weight','Volume']);
}
var p = e.parameter;
s.appendRow([p.timestamp, p.date, p.cycle, p.day, p.exercise,
p.set, p.targetReps, p.actualReps, p.weight, p.volume]);
return ContentService.createTextOutput(JSON.stringify({ok:true}))
.setMimeType(ContentService.MimeType.JSON);
}
Deploy ▸ New deployment ▸ Web app.
Execute as Me; access Anyone. Authorize.
Copy the /exec URL and paste it here:
Note: the browser sends data fire-and-forget (Google blocks reading the reply cross-origin), so sync is best-effort. Your data is always kept on this device too — use Re-sync or Download CSV on the finish screen as a backstop.