--:--00
 
Right now

Nudges

Today's timeline

Said today

Habits

AI plan · today's slice

One-offs

This week

Dailies reset every morning. Weekly counts reset on Monday. The AI plan slice follows your plan's own rhythm — learn Monday to Wednesday, build Thursday to Saturday, ship on Sunday.

Body

weight kg
calories
protein g

Portfolio

value ₹

Money

Trends

Every day logged

This week

AI engineer plan

Backup

Everything you have logged
All of this lives only in this browser. Export regularly — clearing browser data erases it, and iOS wipes storage after about a week of not opening the page.
Camera is off.
Turn it on in Setup.
At the desk
Posture
Eyes
From the screen
Doing
Room light

Gestures it understands

🙂 Nod or shake
Answers a change it has asked about - nod for yes, shake for no
👍 Thumbs up
Marks the nudge it just asked for as done
✋ Open palm
Snooze whatever it just said by 10 minutes
✊ Fist
Shut up for 30 minutes — hard focus mode
✌️ Peace
Reads out what's next

What it noticed

Version

Senses

Camera
Presence, posture, your eyes (blinking, drowsiness, distance), what's on the desk, whether you've picked up the phone, whether you've moved at all. Runs entirely inside this browser.
Know it's you
Learns the geometry of your face when you calibrate posture - a dozen ratios between facial points, stored as numbers on this device. Not a photo, and it can't be turned back into one. With it on, it stays quiet for anyone who isn't you. Recalibrate posture after turning this on.
Let it look when asked
Say "look at this" or "what's on my desk" and one frame goes to the AI provider for an answer — only on that request, never on its own. Off by default, because it's the one time a picture leaves this device.
Microphone
Tap the mic button to give it an instruction. Off between taps.
Always listening — “hey DeskMate”
No tap needed: say “hey DeskMate, what’s next”. The mic then stays open the whole time, and the browser streams that audio to its speech service to recognise it — nothing is processed on this device. It ignores anything not addressed to it, but the stream is continuous. Off by default for that reason.
Voice
Speaks reminders out loud through this phone.
Cheeky mode
Comments on what it sees, not just the schedule. Turn off for schedule-only announcements.
Keep screen awake
Stops the phone dimming. Leave it on a charger.
Speak up unprompted
Beyond the fixed nudges — a meeting in 5 while you're still slouched, behind on a weekly target with little week left, mail owed and ageing. Rule-based, not the AI guessing; still holds off in meetings.

Google accounts

Status
Not set up.
OAuth client ID
From Google Cloud Console. Ends in .apps.googleusercontent.com. Not a secret.
Let it write to the calendar
"Put the dentist in at four" makes a real event. Always staged — it asks before anything is written. Google will ask for one more permission per account.
Draft replies for mail waiting on you
A "Draft reply" button on each waiting item. It reads that one thread, writes a reply in your voice into Gmail Drafts, and never sends. One more permission.
Calendar is today's events only. Mail is read as headers and Gmail's own one-line preview — message bodies are never fetched, except the one thread you tap "Draft reply" on. Writing (calendar events, drafts) is off unless you turn it on above, and always staged. Everything is fetched by your phone straight from Google. Sign-in lasts for the browser session; reopening the page may ask again.

Tasks from elsewhere

Google Tasks
Due today or overdue, in the same list. Ticking it here completes it there.
Todoist
Today and overdue, two-way. Token from Todoist → Settings → Integrations → Developer.
Apple Reminders
One-way, through the phone bridge: a Shortcut sends today's reminders as {kind: tasks, body: the list of titles}.
Nothing connected.

Money

UPI and bank payments
Reads the subject and one-line preview of alert emails (never the body) in the connected Gmail, plus any bank SMS the phone forwards. Amounts and names are parsed by rules on this device; the AI only ever hears totals, never individual payments.
Off.
Weekly budget (₹)
Optional — a meter on Track, and a word in the brief when it's blown.

Sync across your devices

Through your own worker
Your phone and this computer agree with each other through the Cloudflare worker you run — no Google needed. Everything is signed with the secret below, so only your devices can read or write it. Paste the same two values on every device.
Not set up.

Sync & backup

Sync across devices
Connect an account first.
This device is called
So you can tell which phone last wrote.
Stored in your own Google Drive, in a private folder only this app can see — it does not appear in your Drive and no one else can read it. Devices merge rather than overwrite, so nothing logged on one is lost by the other. Your routine, nudges, targets, habits and rituals follow you too — the device that changed them last wins. Camera, mic, voice, the wake word and the phone bridge stay per device.

iPhone

Bridge to the phone
The things worth interrupting you for — the brief, the wind-down, something it noticed, a change waiting for your yes — reach your phone as notifications when you're not at the desk (camera off counts as away). The phone can send things back: a dictated instruction, last night's sleep, a number to log. Turn this on on the desk computer only — the phone is the phone.
Off.

Weather & getting there

Weather
Rain before the walk, heat for the gym slot — in the brief and as a pill. Your location, rounded to about a kilometre, goes only to Open-Meteo.
Off.
Minutes to get anywhere
For the first meeting with an address it works out when to leave. 0 turns it off.

Daily rituals

Morning brief
Once a day, from your calendar, plan and mail.
Not before
It waits until this hour to greet you.
Evening review
Wind-down that logs the day into your week.
Not before
Hour the wind-down appears.
Read my mail
Pulls out what you owe and who is waiting.

Her voice

Voice
Looking for installed voices…
Speed
Pitch
Android and iPhone ship different voices, and the best ones (marked “Natural”, “Neural” or “Network”) often download only after you use them once. If the list looks short, Settings → System → Languages → Text-to-speech on Android will let you install more.

Talking to it

Brain
Without a key it only understands fixed commands. With one it actually converses.
Provider
API key
Test the connection
Not tested yet.
The key is stored only in this phone's browser storage. It is not in the published page, so nobody else who opens the link can use it. When you ask a question, that question plus your schedule and current status are sent to the provider — camera images are never sent.

What it remembers

A handful of facts it's picked up across days — from conversation, never from the camera. Delete anything that's wrong or none of its business.

Recall

Find the relevant bits
For each question it searches your notes, weeks, reviews and past chats for what actually relates, instead of pasting the last few notes. The search runs on this device; a small model (about 23 MB) downloads once.

Daily targets

Calories
Protein (g)
Goal weight (kg)

The hour rule

Pullup demand
After 60 unbroken minutes at the desk it demands 10 pullups — and the camera has to see you actually leave before it counts.
Minutes before it asks
How many pullups

Day

Awake between
It stays silent outside these hours
Camera frames are analysed by code running inside this browser tab and are never uploaded, saved, or sent anywhere — with one exception: a single frame, when you ask it to look, if you have allowed that above. Nothing else about you leaves this phone. Closing the tab ends it; clearing the browser's site data erases everything it has stored.
3

Sit the way you want to sit. Straight back, shoulders down, looking at the screen. Hold it.

DeskMate

A tracker that watches the clock, watches your posture, and says something about both.
🔊
Speaker
So it can call things out. Browsers need one tap before they'll talk.
📷
Camera — optional
Presence, posture and phone-in-hand detection. Processed on this device only.
🎙
Microphone — optional
Only listens while you hold the mic button.
Everything runs in this browser tab. No account, no server, no uploads.