Recent trips
Flight history
⚠️ Spending trap reminder: RM 30 = ~₹570 · AED 30 = ~₹680 · NGN 30 = ~₹1.3 · Your mind rounds down — the numbers below show reality.
₹570
RM 100 = ₹570.00 (approx)
Live reference rates (1 unit → INR)
Quick mental math cheat sheet
World Clock
Time converter
Session time reference
Flight Log
Google Drive Sync
Data is saved to your Google Drive via a Google Apps Script. One-time setup — no tokens, no expiry.
Setup (5 min, one time only):
1. Go to script.google.com → New project → paste the GAS code (see below)
2. Click Deploy → New deployment → Web app
3. Execute as: Me · Who has access: Anyone → Deploy
4. Copy the Web App URL → paste into
5. First time: Google will ask to authorise — click Allow
1. Go to script.google.com → New project → paste the GAS code (see below)
2. Click Deploy → New deployment → Web app
3. Execute as: Me · Who has access: Anyone → Deploy
4. Copy the Web App URL → paste into
GAS_URL in your index.html → re-upload5. First time: Google will ask to authorise — click Allow
GAS Code — paste this into script.google.com
const FILE_NAME = 'trips_backup.json';
function doGet(e) {
const action = e?.parameter?.action || 'load';
if (action === 'ping') return json({ status: 'ok' });
if (action === 'load') {
const file = findFile();
if (!file) return json({ status: 'ok', data: null });
return json({ status: 'ok', data: JSON.parse(file.getBlob().getDataAsString()) });
}
return json({ status: 'error', error: 'Unknown action' });
}
function doPost(e) {
try {
const payload = JSON.parse(e.postData.contents);
if (payload.action === 'save') {
const content = JSON.stringify(payload.data, null, 2);
let file = findFile();
if (file) file.setContent(content);
else DriveApp.createFile(FILE_NAME, content, MimeType.PLAIN_TEXT);
return json({ status: 'ok' });
}
} catch(err) { return json({ status: 'error', error: err.message }); }
}
function findFile() {
const files = DriveApp.getFilesByName(FILE_NAME);
return files.hasNext() ? files.next() : null;
}
function json(obj) {
return ContentService.createTextOutput(JSON.stringify(obj))
.setMimeType(ContentService.MimeType.JSON);
}
AI Features
✓ AI is active — powered by OpenRouter free tier. Flight lookups and place suggestions for any new city work automatically. KL, Dubai, Bangkok, Lagos, Abuja, Addis, Delhi, Bangalore, Gurgaon also have instant offline suggestions.
Data