Rank Progression
never synced
Business XP
0
total earned
Health XP
0
total earned
Social XP
0
total earned
This Month — XP Overview
Business
Health
Social
Core Stats
Recent Activity
Business Stats
● Demo
Orders
—
this month
Samples Made
—
this month
Pieces Produced
—
this month
Orders This Month
Completion Rates
Orders Intelligence
DEBUG INFO
Tap Sync to see debug info...
Total Orders
—
this month
Completed
—
Pending
—
awaiting completion
Top 3 Customers This Month
Colors — Most Ordered
Sizes — Most Ordered
Top Designs
Daily Orders This Month
Connection Status
Connected to Google Sheet
Health Stats
● Demo
Steps Today
—
goal: 10,000
Active Calories
—
kcal burned
Sleep
—h
last night
Health Score
Steps This Month
Connection Status
Connected to Google Sheet
= SHEET_URL ?>
Social Stats
● Manual
Interactions
0
total logged
Social XP
0
total earned
Streak
0d
days active
Log New Interaction
Person / Group
Type
Notes (optional)
Social Skills
Social Activity This Month
Interactions
XP Earned
Interaction Log
Hunter Profile
Identity
Hunter Name
Daily Step Goal
Daily Order Target
XP Rules
1 Order completed → +10 XP
1 Sample made → +5 XP
10 Pieces produced → +3 XP
1,000 Steps → +3 XP
7h+ Sleep → +10 XP
30 Active min → +8 XP
Business Meeting → +25 XP
Networking Event → +30 XP
Collaboration → +22 XP
Data Management
Complete Integration Guide
Step 1 — Create Your Google Sheet
1
Go to sheets.google.com and create a new spreadsheet.
2
Name the first sheet Business. Add these exact headers in row 1:
Date | Orders | Samples | Pieces
Date | Orders | Samples | Pieces
3
Create a second sheet named Health. Headers:
Date | Steps | ActiveCal | SleepHours | ActiveMinutes
Date | Steps | ActiveCal | SleepHours | ActiveMinutes
4
You can manually fill rows OR connect Zapier/Make/Apple Shortcuts to auto-add rows (details below).
Step 2 — Deploy Google Apps Script
In your Google Sheet: click Extensions → Apps Script. Delete all default code and paste this:
function doGet(e) {
const ss = SpreadsheetApp.getActiveSpreadsheet();
const type = e.parameter.type || 'business';
if (type === 'loadState') {
const sheet = ss.getSheetByName('AppState');
if (!sheet) return out({ status: 'empty' });
const data = sheet.getDataRange().getValues();
const state = data[1] ? data[1][0] : null;
return out({ status: 'ok', state });
}
const sheetName = type === 'health' ? 'Health' : type === 'orders' ? 'orders' : 'Business';
const sheet = ss.getSheetByName(sheetName);
if (!sheet) return out({ status: 'ok', rows: [] });
const data = sheet.getDataRange().getValues();
const headers = data[0];
const rows = data.slice(1).map(row => {
const obj = {};
headers.forEach((h, i) => obj[String(h).trim()] = row[i]);
return obj;
});
return out({ status: 'ok', rows });
}
function doPost(e) {
const ss = SpreadsheetApp.getActiveSpreadsheet();
// Works with both application/json and text/plain (CORS bypass)
const raw = e.postData.contents;
const payload = JSON.parse(raw);
const type = payload.type || 'business';
const today = new Date().toLocaleDateString('en-IN');
if (type === 'saveState') {
let sheet = ss.getSheetByName('AppState');
if (!sheet) { sheet = ss.insertSheet('AppState'); sheet.appendRow(['state']); }
const data = sheet.getDataRange().getValues();
if (data.length <= 1) { sheet.appendRow([payload.state]); }
else { sheet.getRange(2, 1).setValue(payload.state); }
return out({ status: 'ok' });
}
const isHealth = type === 'health' ||
'steps' in payload || 'step_count' in payload ||
'active_energy' in payload ||
(payload.data && payload.data.metrics);
if (isHealth) {
const sheet = ss.getSheetByName('Health');
if (payload.data && payload.data.metrics) {
const metrics = payload.data.metrics;
let steps = 0, activeCal = 0, sleep = 0, activeMins = 0;
metrics.forEach(m => {
const name = (m.name || '').toLowerCase();
const val = m.data && m.data[0]
? parseFloat(m.data[0].qty || m.data[0].value || 0) : 0;
if (name.includes('step')) steps = val;
if (name.includes('active_energy') || name.includes('active energy')) activeCal = val;
if (name.includes('sleep')) sleep = val;
if (name.includes('exercise')) activeMins = val;
});
sheet.appendRow([today, steps, activeCal, sleep, activeMins]);
} else {
sheet.appendRow([today,
payload.steps || payload.step_count || 0,
payload.activeCal || payload.active_energy || 0,
payload.sleepHours || payload.sleep_analysis || 0,
payload.activeMinutes || payload.apple_exercise_time || 0
]);
}
} else {
const sheet = ss.getSheetByName('Business');
sheet.appendRow([today,
payload.orders || 0,
payload.samples || 0,
payload.pieces || 0
]);
}
return out({ status: 'ok' });
}
function out(data) {
return ContentService
.createTextOutput(JSON.stringify(data))
.setMimeType(ContentService.MimeType.JSON);
}
5
Click Deploy → New Deployment. Set type to Web App.
6
Set Execute as: Me, Who has access: Anyone. Click Deploy.
7
Copy the Web App URL — paste it in the Business tab and Health tab of this app.
Step 3 — Apple Health Automation
A
Recommended: Health Auto Export app
Install "Health Auto Export" from the App Store. Configure it to export Steps, Active Energy, Sleep, Active Minutes to your Google Sheet automatically every 1–6 hours. Zero effort after setup.
Install "Health Auto Export" from the App Store. Configure it to export Steps, Active Energy, Sleep, Active Minutes to your Google Sheet automatically every 1–6 hours. Zero effort after setup.
B
Alternative: Apple Shortcuts
Create a new Shortcut. Add actions: Find Health Samples (Steps, today) → Get Contents of URL (POST to your Apps Script URL with JSON body containing the data). Set automation to run daily at 9 PM.
Create a new Shortcut. Add actions: Find Health Samples (Steps, today) → Get Contents of URL (POST to your Apps Script URL with JSON body containing the data). Set automation to run daily at 9 PM.
C
Once your Health sheet gets data, click Sync in the Health tab — this app will pull it in and award you XP automatically.
Step 4 — Automate Business Orders (Optional)
1
Go to make.com (free plan works). Create a scenario.
2
Trigger: your order source (Shopify, WooCommerce, Etsy, Instagram DM, Gmail, WhatsApp via webhook, etc.)
3
Action: Google Sheets → Add a Row to your Business sheet with today's date + order count.
4
Now every new order automatically updates your sheet → hit Sync in this app → XP flows in.
Rank System & XP Thresholds
E
0 – 999 XP — Awakened Hunter — You just started. Every action counts.
D
1,000 – 2,999 XP — Gate Opener — Momentum building. Systems forming.
C
3,000 – 5,999 XP — Shadow Tactician — Real traction. Others notice.
B
6,000 – 11,999 XP — Elite Raider — Consistent excellence. Hard to stop.
A
12,000 – 24,999 XP — Monarch Class — Dominating your field.
S
25,000+ XP — Shadow Sovereign — Apex. You are the system.