SOMETHING THREW
The screen could not build
{{ fatal }}
{{ fatalWhere }}
Reset the view Reload
Your data is untouched — this is a display problem, and there is a full backup of bookings and clients from before any of today’s writes.
McAnulla.
Back of house
EMAIL
PASSWORD
{{ signInLabel }}
{{ authError }}
{{ connStatus }}
Your password goes from this browser straight to Supabase. It is never stored in this file and never passes through Claude.
{{ msgUnread }}
{{ n.label }}
{{ fsLabel }} {{ selModeLabel }} Find dates Block time {{ personalLabel }} {{ carryNote }} New booking Sign out C
Email ⌄ Compose ↻ {{ mailSelectLabel }} {{ mailStatus }}
{{ mailReach }}
×
{{ mailCollapsedBar }}
{{ mailSoundBtnLabel }} {{ f.label }} {{ mailSnoozeLabel }}
{{ mailNote }}
{{ mailPickCount }} {{ mailPickAllLabel }} Done
{{ mailPickReadLabel }} {{ mailPickArchiveLabel }} STAR REMIND ME
{{ sn.label }} {{ sn.when }}
{{ mailPickHint }}
{{ mailEmptyCopy }}
WHEN MAIL ARRIVES
✓ {{ s.name }} {{ s.note }} PLAY
Most urgent {{ mailUrgentCount }}
{{ mailUrgentFullNote }}
{{ u.rank }} {{ u.name }} {{ u.folder }} {{ u.when }} ⋯
{{ u.note }}
Edit the reason
Not urgent, keep pinned
Unpin altogether
What do you need to do about {{ mailUrgentWho }}?
Save Cancel
{{ mailPinBarLabel }} {{ mailPinCaret }}
{{ mailPinHint }}
⋮⋮ {{ g.name }} {{ g.count }}
{{ p.name }} {{ p.when }} ⋯ ×
MOVE TO
{{ mv.name }} {{ mv.mark }}
Mark most urgent
Unpin
{{ mailVisitNote }}
{{ mailSearchNote }}
{{ mailSnoozeNote }}
{{ m.check }} {{ m.dot }} {{ m.from }} {{ m.inTabName }} {{ m.remindBack }} {{ m.when }} {{ m.star }}
{{ m.subject }}
{{ m.snippet }}
⋯
{{ m.pinLabel }}
{{ m.urgentLabel }}
Mark as read
{{ m.remindLabel }}
Set
Set
{{ sn.label }} {{ sn.when }}
Cancel the reminder
MOVE TO FOLDER
{{ mv.name }}
{{ mailMoreLabel }}
{{ mailEndNote }}
{{ tb.dot }} {{ tb.name }} {{ tb.smartMark }} {{ tb.count }}
{{ tb.smartCheck }} {{ tb.smartLabel }} {{ tb.smartNote }}
Rename
Remove folder
{{ tb.colourLabel }}
{{ tb.colourNowText }} Clear
{{ mailSweepLabel }}
{{ mailSweepNote }}
+
Remove {{ mailTabConfirmName }}?
{{ mailTabConfirmCount }} filed here goes back to the Inbox. Nothing is deleted.
Remove Keep it
{{ mcTitle }} ×
To Cc / Bcc
Cc
Bcc
Subject
{{ mcQuoteLabel }}
{{ mcQuote }}
{{ mcAttNote }}
{{ mcThreadNote }}
{{ mcErr }}
Throw this email away? Keep writing Discard
From info@stephenmcanulla.com Cancel {{ mcSendLabel }}
{{ mailSentNote }}
Pick a message
It opens here and the list stays put, so you can work straight down the inbox.
←
{{ mailSubject }}
{{ mailFrom }} · {{ mailFromEmail }}
{{ mailWhen }}
Reply Reply all Forward
{{ mailStarLabel }} MARK UNREAD ARCHIVE {{ mailPinHereLabel }} Move to
{{ f.name }} {{ f.mark }}
{{ a.name }} {{ a.size }}
Opening…
{{ mailBodyErr }}
{{ mailPlain }}
Messages ⌄
{{ msgStatusLine }}
{{ msgSelectLabel }} + ×
NEW MESSAGE close
{{ cStatus }}
{{ cErr }}
{{ cNote }}
{{ c.name }}
{{ c.detail }}
{{ cResErr }}
{{ cResWho }} {{ cResNum }} — you already have a conversation.
Open conversation
{{ cResWho }} {{ cResNum }} — new conversation.
{{ cSendErr }}
{{ cSendLabel }}
{{ cResWho }} {{ cResNum }} — texting a new number is switched off.
{{ cTelFix }} {{ cTelCopyLabel }}
New number. Give them a name and it goes into Google Contacts and your Mac's Contacts.
{{ cSaveLabel }}
{{ msgHealthLine }}
{{ msgStaleLine }}
{{ qf.label }}{{ qf.count }}
{{ msgAppLabel }} ▾ Service ▾
{{ mi.label }} {{ mi.note }}
{{ pz.line }} {{ pz.label }}
{{ msgCtlNote }}
WHEN A MESSAGE ARRIVES
✓ {{ s.name }} {{ s.note }} PLAY
It plays once however many arrive at the same time, and whether or not this panel is open.
WHERE THE MAC IS REACHED
On the Mac itself, leave it empty. From your phone, put the Mac's Tailscale address here — then Claude, messages, mail tools and invoices all work away from the desk. Saving reloads the app.
Save & reload Back to this Mac
{{ msgToast }} Undo ×
⚲ ×
{{ msgCollapsedBar }}
{{ msgTabShort }}
{{ msgPickCount }} {{ msgPickAllLabel }} Done
MARK READ REMIND ME {{ msgPickFileLabel }}
{{ mv.label }}
{{ sn.label }} {{ sn.when }}
{{ msgPickNote }} Undo
{{ msgPickHint }}
{{ msgPinBarLabel }} {{ msgPinCaret }}
Most urgent {{ msgUrgentCount }}
{{ msgUrgentFullNote }}
{{ u.rank }} {{ u.name }} {{ u.folder }} {{ u.when }} ⋯
{{ u.note }}
Edit the reason
Not urgent, keep pinned
Unpin altogether
What do you need to do about {{ msgUrgentWho }}?
Save Cancel
{{ msgPinHint }}
⋮⋮ {{ g.name }} {{ g.count }}
{{ p.name }} {{ p.when }} ⋯ ×
MOVE TO
{{ mv.name }} {{ mv.mark }}
Mark most urgent
Unpin
Reading the inbox…
Cannot reach the messages service.
It runs on your Mac. Try Reconnect above — or if you are on your phone, set MAC ADDRESS in this tools row to the Mac’s Tailscale address.
Every source read cleanly and there is nothing waiting.
{{ msgNoHitsText }}
{{ msgVisitNote }}
{{ t.check }} {{ t.avatar }}
{{ t.name }} {{ t.chan }} {{ t.inTabName }} {{ t.intent }} {{ t.arch }} {{ t.retired }} {{ t.remindBack }} {{ t.when }} {{ t.unread }}
{{ t.preview }}
⋯
{{ t.pinLabel }}
{{ t.urgentLabel }}
{{ t.inqLabel }}
{{ t.remindLabel }}
Set
Set
{{ sn.label }} {{ sn.when }}
Cancel the reminder
MOVE TO TAB
{{ mv.name }} {{ mv.mark }}
No tabs yet. Add one with the + at the bottom.
{{ tb.dot }} {{ tb.name }} {{ tb.smartMark }} {{ tb.count }}
{{ tb.smartCheck }} {{ tb.smartLabel }} {{ tb.smartNote }}
Rename
Remove folder
A permanent folder — it stays at the end and cannot be renamed or removed.
{{ tb.colourLabel }}
{{ tb.colourNowText }} Clear
{{ sweepLabel }}
{{ sweepNote }}
+
{{ msgTabConfirmTitle }}
{{ msgTabConfirmBody }}
Remove it Keep it
←
LOOKING FOR
{{ matchName }}
{{ matchLead }}
{{ m.name }} {{ m.sureMark }}
{{ m.detail }}
{{ m.preview }}
Back to all threads
← {{ newToAvatar }}
{{ newToName }}
{{ newToNumber }}
{{ newToSaved }}
NO CONVERSATION YET
The messages service can only send into a thread that already exists, so the first text has to go from your phone. Once they reply the thread shows up here and everything works normally.
{{ newToNote }}
CLAUDE WROTE THIS FOR YOU
{{ newToDraft }}
{{ copyDraftLabel }} Copy the number Back
Pick a conversation
It opens here and the list stays put, so you can work straight down the inbox.
← {{ msgAvatar }}
{{ msgName }} {{ nameSaveLabel }}
{{ msgSubline }} · Pinned
{{ nameErr }}
{{ nameNote }}
{{ msgMacNote }}
Actions
{{ ai.label }} {{ ai.note }}
{{ f.name }} {{ f.mark }}
{{ msgClientSpend }} lifetime {{ msgClientSessions }} sessions next {{ msgClientNext }} {{ msgClientOwes }}
{{ bindBarText }} Use this conversation Not this one
Back to messages
BRING THIS BACK Cancel the reminder
Set Set
{{ cr.label }} {{ cr.when }}
YOUR NOTES ON THIS CONVERSATION
Save notes Cancel Read into the summary next time it thinks.
CONVERSATION SUMMARY {{ sumWhen }} {{ sumRefreshLabel }}
{{ sumWait }}
{{ sumBody }}
{{ sumErr }}
{{ sumNoteEchoLabel }}
{{ sumNoteEcho }}
To: {{ fsTo }} {{ fsToGroup }}
Photos from the desk haven’t been proven on this Mac yet. Send the first one to yourself.
{{ fsFix }}
This is a text-message conversation: they’ll get a small, lower-quality copy of the video. For full quality, send a gallery link.
{{ fi.video }}
{{ fi.chipLabel }}
{{ fi.name }} {{ fi.meta }} Goes out as: {{ fi.goesAs }}
×
This photo has its location in it. The client will be able to see where it was taken.
{{ fi.errText }}
{{ fsCount }}
{{ fsErr }}
{{ fsBlockNote }}
Cancel {{ fsSendLabel }}
{{ msgLbMedia }}
×
{{ msgMoreLabel }}
{{ msgMoreNote }}
{{ convoSeenNote }}
{{ convoStaleNote }}
{{ joinNote }}
Opening the conversation…
This drives a real browser — thirty to ninety seconds is normal.
COULD NOT OPEN IT
{{ msgConvoErr }}
{{ b.switchText }}
{{ b.quoteFrom }}
{{ b.quoteText }}
{{ att.note }}
{{ att.fix }}
Open in Messages
{{ b.media }}
{{ b.body }}
{{ b.caption }}
{{ b.reaction }}
{{ b.at }} {{ b.status }}
{{ fb.name }} {{ fb.size }}
{{ fb.words }}
{{ fb.status }} {{ fb.mms }} {{ fb.capNote }}
{{ fb.mark }} {{ fb.headline }}
{{ fb.message }}
Open in Messages OK
{{ fh.text }}
Waiting for the photo…
{{ fk.text }}
{{ fk.note }} Put back in the box
{{ msgSendLabel }} Copy
{{ msgSendNote }}
{{ fsDropNote }}
{{ msgBlockedNote }}
Notes on {{ nCardWho }}
{{ nCardWhen }}
Redo ×
Cleaning up your notes…
{{ nCardErr }}
{{ nCardBody }}
{{ nCardRaw }}
{{ dlName }} {{ dlLine }} ×
PICKING DAYS {{ selCount }} Drag across days to add them. Drag over picked days to remove. Change months and keep going — the selection follows you. undo redo Clear Apply
THE MESSAGE {{ offerCount }}
{{ offerText }}
{{ copied }}
Copy the message Clear
{{ monthLabel }}
← →
{{ v.label }}
×
{{ calStatus }}
{{ h.client }} {{ h.when }} {{ h.time }}
{{ h.snip }}
{{ h.money }}
{{ stats.count }} sessions {{ stats.booked }} priced {{ stats.owed }} awaiting
{{ stats.noPriceLabel }} {{ stats.unverifiedLabel }} ARCHIVE
MON
TUE
WED
THU
FRI
SAT
SUN
{{ cell.day }}
{{ ev.label }}
{{ flushHint }}
{{ flushLabel }} {{ flushNote }}
{{ flushErr }}
{{ moveUndoText }} {{ undoMoveLabel }} Dismiss
{{ weekLabel }}
{{ weekYear }}
← →
{{ v.label }}
×
ARCHIVE
− +
{{ weekNote }}
{{ c.dow }}
{{ c.num }}
{{ a.label }}
{{ h.label }}
{{ c.ghostLabel }}
{{ c.moveGhostLabel }}
{{ b.time }} {{ b.label }}
{{ b.sub }}
{{ b.place }}
{{ b.detail }}
golden hour sunset owes money
{{ loadNote }}
Done
{{ panel.dateLabel }}
{{ panel.headline }}
Golden hour{{ panel.golden }}
Sunset{{ panel.sunset }}
PERSONAL · {{ p.when }} {{ p.tag }}
{{ p.what }}
Find their messages
{{ s.time }}
{{ s.client }}
{{ s.meta }}
{{ s.hitMark }}
{{ s.statusLabel }}
{{ s.note }}
{{ dayPanelHint }}
Add a booking on this day
{{ formKicker }}
{{ formTitle }}
CLIENT NAME · required
PACKAGE · required
ALREADY FILLED IN
DATE
←
{{ dateLabel }}
← {{ pickTitle }} →
{{ d.label }}
{{ c.label }}
→
Or click any day on the calendar to jump the date there.
TIME
LENGTH IN MINUTES
{{ o.label }}
PRICE
{{ priceNote }}
WHAT’S INCLUDED
PAYMENT
Paid Awaiting Leave blank
LOCATION
PHONE
EMAIL
PRIVATE NOTES
{{ formMissing }}
{{ formError }}
{{ reviewLabel }} Cancel
Archive this booking
{{ parkLabel }}
{{ archStatus }}
Archived sessions
Nothing here was deleted. Every field is intact and any of them can go back on the calendar.
{{ archNote }}
Nothing archived yet.
{{ a.client }} RESTORE
{{ a.when }}
{{ a.meta }}
Back to the day
{{ genCount }} {{ criteriaToggleLabel }}
{{ genTitle }}
{{ genBlurb }}
SESSION MINUTES
{{ o.label }}
FINISH
{{ o.label }}
to {{ winNote }}
MAX A DAY
{{ o.label }}
GAP
{{ o.label }}
WHEN TO LOOK
{{ o.label }}
{{ monthsLabel }} {{ dowLabel }} clear months
{{ monthsNote }}
{{ mc.label }}
{{ dc.label }}
{{ ds.label }}
{{ genNote }}
{{ r.day }} {{ r.dayNote }}
{{ r.premiumTime }}
{{ r.premiumTail }}
{{ r.premiumBadge }}
{{ o.time }}
{{ copied }}
{{ gc.label }}
{{ grabLabel }} how many Close
REMOVE THIS BOOKING
{{ removeName }}
THIS IS NOT A DELETE
It sets archived to true. The row stays in your table and disappears from this app. Nothing is erased, and flipping one boolean brings it back.
{{ writeError }}
{{ removeLabel }} Back
CONFIRM THE WRITE
This goes into your live bookings table
{{ r.label }} {{ r.value }}
WHAT THIS DOES NOT DO
It writes one row to public.bookings and nothing else. Your Google Calendar is not touched. No invoice is sent. No email goes out. Nothing is updated or deleted.
{{ writeError }}
{{ commitLabel }} Back
CHANGE PASSWORD
Pick one I don’t know
This replaces the temporary password on info@stephenmcanulla.com. It goes from this browser to Supabase and is stored nowhere else.
NEW PASSWORD
AGAIN
{{ pwError }}
{{ pwOk }}
{{ pwLabel }} Close
WRITTEN
{{ done.headline }}
{{ done.detail }}
ROW ID
{{ done.id }}
{{ gcalNote }}
{{ gremNote }}
STILL ON YOU
Send the invoice, and put it on your Google Calendar. The details email and the confirmation text are drafted for you on the left.
Book another Back to the calendar
{{ todayHeading }} {{ todayKicker }} {{ todayLight }} {{ todayEditLabel }}
+ Spacer Divider
None
×
×
Your day {{ todayKicker }}
UP NEXT {{ nextCard.until }} {{ nextCard.time }}
{{ nextCard.client }}
{{ nextCard.meta }}
{{ nextCard.where }}
{{ nextCard.money }}
{{ nextCard.note }}
{{ restOfDayLabel }}
{{ s.client }} {{ s.time }}
{{ s.meta }}
{{ s.where }}
{{ s.money }}
{{ p.what }} {{ p.when }}
PERSONAL
THE WEEK AHEAD {{ horizonNote }}
{{ wd.dow }} {{ wd.num }} {{ wd.names }} {{ wd.count }}
{{ weekClearNote }}
{{ emptyTitle }}
{{ emptyBody }}
YOUR OWN TIME TODAY
{{ tp.when }} {{ tp.what }}
{{ nextDayLabel }} {{ nextDayAway }}
{{ nextDayHero.time }} {{ nextDayHero.meta }}
{{ nextDayHero.client }}
{{ nextDayHero.where }}
{{ nextDayHero.money }}
ALSO THAT DAY
{{ np.when }} {{ np.what }}
{{ nextDayRestLabel }}
{{ nd.time }} {{ nd.client }}
{{ nd.where }}
{{ nd.money }}
THE WEEK AHEAD {{ horizonNote }}
{{ wd.dow }} {{ wd.num }} {{ wd.names }} {{ wd.count }}
{{ weekClearNote }}
Needs you
{{ nt.label }}
{{ n.who }} {{ n.sub }} × ›
{{ needsMore }}
Bills {{ billsHeadNote }}
{{ b.name }} {{ b.sub }} DISCONNECT {{ b.amt }}
{{ billsQuiet }}
{{ billsMore }}
Dev board {{ devqHeadNote }}
{{ d.title }} {{ d.why }}
{{ devqQuiet }}
{{ devqMore }}
The site
{{ trafBig }} {{ trafBigNote }}
{{ trafDelta }}
{{ trafPagesLabel }}
{{ p2.path }} {{ p2.views }}
{{ trafBuyersLabel }}
{{ trafBuyers }}
Open traffic →
The week ahead {{ horizonNote }}
{{ d.dow }} {{ d.num }} {{ d.names }} {{ d.count }}
{{ weekClearNote }}
Most urgent
{{ u.rank }} {{ u.name }} {{ u.why }}
Remindersyou asked for these
{{ rt.label }}
{{ remindEmpty }}
{{ r.who }} {{ r.line }} Dismiss Drop it? Yes Keep
Email worth opening {{ smartMailCount }}
{{ s.who }} REMINDER SET {{ s.when }}
{{ s.line }}
Open Reply Remind me {{ s.archiveLabel }} Pass
{{ r.label }}
{{ s.sendLabel }}
{{ smartPassNote }} Bring back
Messages worth answering {{ smartMsgCount }}
{{ smartMsgEmptyNote }}
{{ s.who }} REMINDER SET {{ s.when }}
{{ s.line }}
Open Reply Remind me {{ s.archiveLabel }} Pass
{{ r.label }}
{{ s.sendLabel }}
{{ smartPassNote }} Bring back
A nudge × {{ nudgeText }}
{{ p.label }} {{ p.value }}
+ Spacer Divider
+ Spacer Divider
None
×
×
Your day {{ todayKicker }}
UP NEXT {{ nextCard.until }} {{ nextCard.time }}
{{ nextCard.client }}
{{ nextCard.meta }}
{{ nextCard.where }}
{{ nextCard.money }}
{{ nextCard.note }}
{{ restOfDayLabel }}
{{ s.client }} {{ s.time }}
{{ s.meta }}
{{ s.where }}
{{ s.money }}
{{ p.what }} {{ p.when }}
PERSONAL
THE WEEK AHEAD {{ horizonNote }}
{{ wd.dow }} {{ wd.num }} {{ wd.names }} {{ wd.count }}
{{ weekClearNote }}
{{ emptyTitle }}
{{ emptyBody }}
YOUR OWN TIME TODAY
{{ tp.when }} {{ tp.what }}
{{ nextDayLabel }} {{ nextDayAway }}
{{ nextDayHero.time }} {{ nextDayHero.meta }}
{{ nextDayHero.client }}
{{ nextDayHero.where }}
{{ nextDayHero.money }}
ALSO THAT DAY
{{ np.when }} {{ np.what }}
{{ nextDayRestLabel }}
{{ nd.time }} {{ nd.client }}
{{ nd.where }}
{{ nd.money }}
THE WEEK AHEAD {{ horizonNote }}
{{ wd.dow }} {{ wd.num }} {{ wd.names }} {{ wd.count }}
{{ weekClearNote }}
Needs you
{{ nt.label }}
{{ n.who }} {{ n.sub }} × ›
{{ needsMore }}
Bills {{ billsHeadNote }}
{{ b.name }} {{ b.sub }} DISCONNECT {{ b.amt }}
{{ billsQuiet }}
{{ billsMore }}
Dev board {{ devqHeadNote }}
{{ d.title }} {{ d.why }}
{{ devqQuiet }}
{{ devqMore }}
The site
{{ trafBig }} {{ trafBigNote }}
{{ trafDelta }}
{{ trafPagesLabel }}
{{ p2.path }} {{ p2.views }}
{{ trafBuyersLabel }}
{{ trafBuyers }}
Open traffic →
The week ahead {{ horizonNote }}
{{ d.dow }} {{ d.num }} {{ d.names }} {{ d.count }}
{{ weekClearNote }}
Most urgent
{{ u.rank }} {{ u.name }} {{ u.why }}
Remindersyou asked for these
{{ rt.label }}
{{ remindEmpty }}
{{ r.who }} {{ r.line }} Dismiss Drop it? Yes Keep
Email worth opening {{ smartMailCount }}
{{ s.who }} REMINDER SET {{ s.when }}
{{ s.line }}
Open Reply Remind me {{ s.archiveLabel }} Pass
{{ r.label }}
{{ s.sendLabel }}
{{ smartPassNote }} Bring back
Messages worth answering {{ smartMsgCount }}
{{ smartMsgEmptyNote }}
{{ s.who }} REMINDER SET {{ s.when }}
{{ s.line }}
Open Reply Remind me {{ s.archiveLabel }} Pass
{{ r.label }}
{{ s.sendLabel }}
{{ smartPassNote }} Bring back
A nudge × {{ nudgeText }}
{{ p.label }} {{ p.value }}
+ Spacer Divider
+ Spacer Divider
None
×
×
Your day {{ todayKicker }}
UP NEXT {{ nextCard.until }} {{ nextCard.time }}
{{ nextCard.client }}
{{ nextCard.meta }}
{{ nextCard.where }}
{{ nextCard.money }}
{{ nextCard.note }}
{{ restOfDayLabel }}
{{ s.client }} {{ s.time }}
{{ s.meta }}
{{ s.where }}
{{ s.money }}
{{ p.what }} {{ p.when }}
PERSONAL
THE WEEK AHEAD {{ horizonNote }}
{{ wd.dow }} {{ wd.num }} {{ wd.names }} {{ wd.count }}
{{ weekClearNote }}
{{ emptyTitle }}
{{ emptyBody }}
YOUR OWN TIME TODAY
{{ tp.when }} {{ tp.what }}
{{ nextDayLabel }} {{ nextDayAway }}
{{ nextDayHero.time }} {{ nextDayHero.meta }}
{{ nextDayHero.client }}
{{ nextDayHero.where }}
{{ nextDayHero.money }}
ALSO THAT DAY
{{ np.when }} {{ np.what }}
{{ nextDayRestLabel }}
{{ nd.time }} {{ nd.client }}
{{ nd.where }}
{{ nd.money }}
THE WEEK AHEAD {{ horizonNote }}
{{ wd.dow }} {{ wd.num }} {{ wd.names }} {{ wd.count }}
{{ weekClearNote }}
Needs you
{{ nt.label }}
{{ n.who }} {{ n.sub }} × ›
{{ needsMore }}
Bills {{ billsHeadNote }}
{{ b.name }} {{ b.sub }} DISCONNECT {{ b.amt }}
{{ billsQuiet }}
{{ billsMore }}
Dev board {{ devqHeadNote }}
{{ d.title }} {{ d.why }}
{{ devqQuiet }}
{{ devqMore }}
The site
{{ trafBig }} {{ trafBigNote }}
{{ trafDelta }}
{{ trafPagesLabel }}
{{ p2.path }} {{ p2.views }}
{{ trafBuyersLabel }}
{{ trafBuyers }}
Open traffic →
The week ahead {{ horizonNote }}
{{ d.dow }} {{ d.num }} {{ d.names }} {{ d.count }}
{{ weekClearNote }}
Most urgent
{{ u.rank }} {{ u.name }} {{ u.why }}
Remindersyou asked for these
{{ rt.label }}
{{ remindEmpty }}
{{ r.who }} {{ r.line }} Dismiss Drop it? Yes Keep
Email worth opening {{ smartMailCount }}
{{ s.who }} REMINDER SET {{ s.when }}
{{ s.line }}
Open Reply Remind me {{ s.archiveLabel }} Pass
{{ r.label }}
{{ s.sendLabel }}
{{ smartPassNote }} Bring back
Messages worth answering {{ smartMsgCount }}
{{ smartMsgEmptyNote }}
{{ s.who }} REMINDER SET {{ s.when }}
{{ s.line }}
Open Reply Remind me {{ s.archiveLabel }} Pass
{{ r.label }}
{{ s.sendLabel }}
{{ smartPassNote }} Bring back
A nudge × {{ nudgeText }}
{{ p.label }} {{ p.value }}
+ Spacer Divider
+ Spacer Divider
None
×
×
Your day {{ todayKicker }}
UP NEXT {{ nextCard.until }} {{ nextCard.time }}
{{ nextCard.client }}
{{ nextCard.meta }}
{{ nextCard.where }}
{{ nextCard.money }}
{{ nextCard.note }}
{{ restOfDayLabel }}
{{ s.client }} {{ s.time }}
{{ s.meta }}
{{ s.where }}
{{ s.money }}
{{ p.what }} {{ p.when }}
PERSONAL
THE WEEK AHEAD {{ horizonNote }}
{{ wd.dow }} {{ wd.num }} {{ wd.names }} {{ wd.count }}
{{ weekClearNote }}
{{ emptyTitle }}
{{ emptyBody }}
YOUR OWN TIME TODAY
{{ tp.when }} {{ tp.what }}
{{ nextDayLabel }} {{ nextDayAway }}
{{ nextDayHero.time }} {{ nextDayHero.meta }}
{{ nextDayHero.client }}
{{ nextDayHero.where }}
{{ nextDayHero.money }}
ALSO THAT DAY
{{ np.when }} {{ np.what }}
{{ nextDayRestLabel }}
{{ nd.time }} {{ nd.client }}
{{ nd.where }}
{{ nd.money }}
THE WEEK AHEAD {{ horizonNote }}
{{ wd.dow }} {{ wd.num }} {{ wd.names }} {{ wd.count }}
{{ weekClearNote }}
Needs you
{{ nt.label }}
{{ n.who }} {{ n.sub }} × ›
{{ needsMore }}
Bills {{ billsHeadNote }}
{{ b.name }} {{ b.sub }} DISCONNECT {{ b.amt }}
{{ billsQuiet }}
{{ billsMore }}
Dev board {{ devqHeadNote }}
{{ d.title }} {{ d.why }}
{{ devqQuiet }}
{{ devqMore }}
The site
{{ trafBig }} {{ trafBigNote }}
{{ trafDelta }}
{{ trafPagesLabel }}
{{ p2.path }} {{ p2.views }}
{{ trafBuyersLabel }}
{{ trafBuyers }}
Open traffic →
The week ahead {{ horizonNote }}
{{ d.dow }} {{ d.num }} {{ d.names }} {{ d.count }}
{{ weekClearNote }}
Most urgent
{{ u.rank }} {{ u.name }} {{ u.why }}
Remindersyou asked for these
{{ rt.label }}
{{ remindEmpty }}
{{ r.who }} {{ r.line }} Dismiss Drop it? Yes Keep
Email worth opening {{ smartMailCount }}
{{ s.who }} REMINDER SET {{ s.when }}
{{ s.line }}
Open Reply Remind me {{ s.archiveLabel }} Pass
{{ r.label }}
{{ s.sendLabel }}
{{ smartPassNote }} Bring back
Messages worth answering {{ smartMsgCount }}
{{ smartMsgEmptyNote }}
{{ s.who }} REMINDER SET {{ s.when }}
{{ s.line }}
Open Reply Remind me {{ s.archiveLabel }} Pass
{{ r.label }}
{{ s.sendLabel }}
{{ smartPassNote }} Bring back
A nudge × {{ nudgeText }}
{{ p.label }} {{ p.value }}
+ Spacer Divider
{{ inqKicker }}
Inquiries
{{ inqRefreshLabel }} {{ c2.label }} {{ inqArchLabel }}
{{ inqIntro }}
{{ inqErr }}
{{ inqSelName }} {{ inqSelSrc }} {{ inqSelWhen }} {{ inqSelRemindLabel }} Close
{{ inqSelContact }}
{{ inqSelWant }}
Done Delete this card
Edit these details
{{ inqSelMsg }}
{{ inqKnowHead }}
{{ k.text }}
{{ inqSumKicker }} {{ inqSumBtnLabel }}
{{ inqSumBody }}
{{ inqNoteKicker }}
WHY, SO YOU KNOW LATER BRING IT BACK
{{ isr.label }} {{ isr.when }}
At a time SET
On a date SET
Clear the reminder
MOVE IT TO
{{ sb.label }}
{{ inqSelTextLabel }} Book them Ask Claude about this {{ inqConvoBtnLabel }} Open the email {{ inqSelArchLabel }}
{{ inqSelChatLabel }}
{{ t.who }}
{{ t.text }}
{{ col.label }} {{ col.count }}
+
DONE
REMOVE THIS COLUMN
{{ q.name }} {{ q.src }}
{{ q.want }}
{{ q.when }} {{ q.back }} NO NUMBER
{{ col.empty }}
⇆ +
{{ inqReorderNote }}
CLEAR {{ inqArchCount }}
{{ inqArchNoHits }}
Nothing archived yet. The mark in the corner of a card sends it here.
{{ ar.name }} {{ ar.meta }} PUT IT BACK
{{ inqAsideLabel }}
{{ a.label }}
{{ inqLooseLabel }}
Not inquiries — these are booked sessions with something unfinished on them. {{ looseMoney }} of it is money.
{{ l.tag }}
{{ l.client }} {{ l.when }}
{{ l.what }}
{{ deliveryStatus }}
Delivery
The same gallery admin that runs on your site, not a copy. Anything you change here is changed there.
RELOAD OWN TAB
Loading the gallery admin…
{{ deliveryIntroTitle }}
{{ deliveryIntroBody }}
{{ deliverySignLabel }} Load it in here
CLOSE
{{ agStatus }}
Booking Agent
Answers questions on the site, and works to turn a visitor into a lead.
{{ agKillLabel }} {{ agPublicLabel }} {{ agModel }} {{ agKillNote }}
DAILY CAP {{ c.label }} {{ agCapNote }}
{{ agSpend }} {{ agSpendCalls }}
{{ agTurnstileNote }}
{{ s.label }}{{ s.badge }}
LAST {{ lw.label }}
{{ liveErr }}
{{ liveEmptyText }}
{{ lv.who }} {{ lv.tag }}
{{ lv.meta }} {{ lv.reach }}
{{ liveThreadTitle }} {{ liveHeldLabel }} Back to the list
{{ lt.whoLabel }}
{{ lt.text }}
{{ liveNewLabel }}
{{ liveErr }}
{{ liveNote }}
{{ liveArmNote }} The widget polls now — turn it on
Take it over
{{ liveSendLabel }} Hand it back Handing back writes one closing line in the agent's own voice. It will not restate a price or a date you gave.
{{ agTrainIntro }}
IT COULD NOT START
{{ agErrText }}
Try again
{{ agDoneTitle }}
{{ agDoneWhere }}
{{ agDoneFoot }}
FOCUS ON {{ agFocusHint }}
{{ agFocus }}
Change Clear
Ask me about this {{ agFocusNote }} Cancel
A CLIENT MIGHT ASK {{ agQSrc }}
{{ agQuestion }}
HOW YOU'D SAY IT
{{ agPolishLabel }} Ask me another {{ agDropLabel }} Undo last save That's enough for now {{ agSessionCount }}
HOW IT WOULD SAY IT BACK
Edit it straight in the box, or tell it below what's wrong and have it try again.
TALK IT THROUGH {{ agRound }}
{{ m.who }} {{ m.text }}
Thinking…
{{ agRefineLabel }} Ask a question and it answers without changing the wording.
Save and next Keep my wording instead
Taught in this session
{{ t.q }}
{{ t.a }}
{{ agNotesIntro }}
{{ n.title }} {{ n.state }}
{{ n.hint }}
{{ c.label }}
{{ c.label }}
{{ c.label }}
{{ logErr }}
Reading the log…
{{ logEmptyText }}
{{ r.when }} {{ r.tags }} {{ r.rated }}
{{ r.first }}
{{ r.meta }}
Older
← {{ logThreadHead }}
{{ logRatedLine }}
Opening…
{{ logTurnsErr }}
{{ t.who }} · {{ t.at }}
{{ t.text }}
Good Bad
{{ t.err }}
{{ lesIntro }}
{{ c.label }}
{{ lesErr }}
Reading the lessons…
{{ lesEmptyText }}
{{ l.verdict }} {{ l.when }} {{ l.old }} Read the chat {{ l.clearLabel }}
THEY ASKED  {{ l.asked }}
{{ l.reply }}
YOUR NOTE  {{ l.note }}
Every time someone opened the chat, whether or not they typed anything.
{{ opErr }}
{{ o.big }}
{{ o.small }}
Reading…
{{ opEmptyText }}
{{ o.when }} {{ o.step }} {{ o.meta }} Read it
Older
PAID, NO DATE YET
Cold storage
{{ v.label }}
{{ csCount }} REFRESH
{{ csIntro }}
{{ csNoteText }} Undo
{{ csErrNote }}
{{ c.name }} {{ c.meta }} {{ c.age }} {{ c.contact }} {{ c.notes }}
{{ c.schedLabel }} Archive it
{{ csEmpty }}
{{ remStatus }}
Reminders
{{ v.label }}
{{ remArmLabel }} CHECK NOW {{ remCheckedAt }}
{{ remSub }}
{{ remErrNote }}
{{ remStrandTitle }}
{{ remStrandNote }}
{{ sd.who }} {{ sd.when }} {{ sd.what }} {{ sd.fixLabel }}
{{ remMissedTitle }}
{{ remMissedNote }}
{{ remStoodNote }}
{{ m.who }} {{ m.what }} {{ m.late }} Send it Let it go {{ m.to }} {{ m.text }}
The schedule {{ remRuleSummary }}
Applies to every session on the calendar. Click a row to edit what it says.
{{ r.when }} {{ r.detail }}
EMAIL TEXT
×
ADD ONE {{ a.label }}
What it says {{ remTplWhich }}
EMAIL TEXT
{{ remTplNote }}
THE TEMPLATE
SUBJECT
DROP IN {{ f.label }}
{{ remOverNote }}
{{ remPvCap }}
TO
{{ remPvTo }}
{{ remPvSubject }}
{{ remPvBody }}
{{ remPvTo }}
{{ remPvBody }}
{{ remPvChars }}
{{ remPvNote }}
{{ remBindTitle }}
{{ remBindNote }}
{{ bd.who }} {{ bd.when }} {{ bd.phone }} Clear {{ bd.lookLabel }} {{ bd.boundText }}
Search
{{ remPickHead }}
{{ remPickErr }}
{{ pk.name }} {{ pk.app }} {{ pk.number }} {{ pk.archived }} {{ pk.last }}
{{ pk.snippet }}
{{ pk.why }} Open Use this one
What goes out next {{ remQueueSummary }}
{{ q.when }} {{ q.who }} {{ q.what }} {{ q.chan }} {{ q.hold }} {{ q.to }} {{ q.text }}
{{ remQueueEmpty }}
{{ remBlockedNote }}
What has gone out
{{ l.when }} {{ l.who }} {{ l.what }} {{ l.state }} {{ l.why }}
{{ remLogEmpty }}
{{ remStoreNote }}
{{ anStatus }}
Traffic
{{ anWinLabel }}
{{ o.label }}
{{ anCmpLabel }} {{ anRefreshLabel }}
From to
{{ anWinNote }} {{ anCmpNote }}
{{ anSub }}
{{ anSetupTitle }}
{{ anSetupBody }}
Try it
{{ c.label }}
{{ c.value }}
{{ c.delta }}
Day by day
{{ anDailyNote }}
{{ anDayFirst }} {{ anDayLast }}
{{ anLiveTitle }} {{ anLiveBadge }} {{ anLiveAt }}
{{ lv.path }} {{ lv.meta }} {{ lv.tag }}
{{ anLiveBody }}
{{ anBandTitle }} {{ anBandBody }}
How they found you
{{ s.label }} {{ s.tag }} {{ s.count }}
Most looked at
{{ p.label }} {{ p.count }}
The chat Every open →
The site doesn’t report chat opens yet. Once it does, this shows how often people open the chat, how many type, and how long it stays open.
Nobody opened the chat in this range.
{{ c.big }}
{{ c.small }}
{{ c.when }} {{ c.what }} {{ c.open }} {{ c.page }}
Dead links {{ anDeadBadge }}
{{ anDeadNote }}
{{ dl.path }} {{ dl.count }}
What they came to see
{{ anTypesNote }}
{{ t.label }}
{{ t.count }}
{{ t.note }}
On what
{{ v.label }} {{ v.pct }}
{{ dch.label }}
{{ anDeviceGap }}
When they look
{{ anPeak }}
{{ row.label }}
BEFORE THEY WRITE IN
{{ anPricingLine }}
The way in
{{ anJourneyNote }}
{{ anJourneyWin }}
{{ j.name }} {{ j.when }} {{ j.source }} {{ j.span }}
{{ st.label }}
Gallery links opened
{{ g.name }} {{ g.opens }} {{ g.when }}
{{ anFooter }}
{{ invNote }}
Invoice
Raise an invoice
Square invoices as LifeOS wrote them. These amounts are real cents, not the free text on a booking — so this is the number to trust.
{{ invNeverSent }}
{{ invServiceNote }}
START FROM A PACKAGE
{{ p.label }} · {{ p.price }}
CLIENT
EMAIL · SQUARE REQUIRES IT
WHAT THEY ARE BUYING
WHAT IS INCLUDED
PRICE
DISCOUNT
TAX %
{{ invTaxNote }}
HOW THEY PAY
{{ o.label }}
DEPOSIT %
A percentage on purpose — a fixed dollar balance is the one shape Square currently bills wrong.
NOTE ON THE INVOICE
{{ invErr2 }}
Review the numbers Cancel
{{ invForm.name }}
{{ invForm.itemName }}
{{ m.label }} {{ m.amount }}
HOW IT WILL BE BILLED
{{ r.name }} {{ r.tail }} {{ r.amount }}
Square will not email this to your client. It creates the invoice and hands back a link — you send it.
{{ invServiceNote }}
{{ invErr2 }}
{{ invSendLabel }} {{ invDraftLabel }} Back
{{ invResultHeadline }}
{{ invResultNote }}
{{ invResultLink }}
Back to the list
{{ invPaid }}
COLLECTED
{{ invOpen }}
OPEN · {{ invOpenCount }} INVOICES
Nothing came back. If LifeOS has written invoices, that is a read problem rather than an empty ledger.
{{ v.client }} {{ v.status }} {{ v.total }}
{{ v.when }} {{ v.contact }} OPEN IN SQUARE
{{ li.name }} {{ li.amount }}
{{ s.label }} {{ s.amount }}
PAYMENT PLAN
{{ p.name }} {{ p.when }} {{ p.tail }} {{ p.amount }}
{{ v.planWarn }}
WHAT LIFEOS QUOTES FROM
{{ p.name }} {{ p.price }}
{{ p.includes }}
Mock viewport — some sites refuse to render in a frame here. The real shell is a full Chromium and won’t have that limit.
COACH DRIVING {{ driveLabel }} STOP
{{ webFrameNodes }}
{{ t.name }} {{ t.eyeMark }} ×
{{ t.pinLabel }}
Rename tab
Duplicate tab
Copy address
Close tab
+
← → ↻
{{ sg.title }} {{ sg.url }}
{{ webSecure }}
{{ webEyeLabel }}
{{ tkSourceNote }}
Tasks
{{ tt.label }} ♥ SOS
{{ tkUndoLabel }} UNDO
YOUR COACH · READ YOUR DAY
{{ tkCoachLine }}
{{ tb.label }}
{{ tkRingBig }} cleared
TODAY'S PLAN
{{ tkRingSub }}
{{ tkWeekLine }}
{{ tkWaitLine }}
▶ Continue session · {{ tkSavedMeta }} ↪ Edit
▶ Start a new focus session — pick what to work on
Drop it
{{ tkTodayHead }}
{{ tr2.check }} {{ tr2.title }} {{ tr2.meta }}
{{ smartPassNote }} Bring back
↪ Grouped by {{ tkGroupLabel }} Switch
{{ tkTagNote }} Tag them with the coach
ONE THING ONLY
{{ tkOneTitle }}
{{ tkOneMeta }}
▶ Focus just this ✓ Did it Show me another
Everything else is hidden on purpose. It is all still there.
SWITCH GEARS
How do you want to see it?
{{ go.icon }}
{{ go.name }}
{{ go.sub }}
Close
← All piles {{ tkPileName }} {{ tkPileCount }} ▶ Focus this pile
Easiest first. You do not have to finish it all today — just start, and ride the momentum.
{{ pr.check }} {{ pr.title }} {{ pr.meta }}
{{ pk.name }} {{ pk.count }}
{{ pk.sub }}
What is coming, on a fixed track. No pressure, just awareness.
Pin it {{ tkHzErr }}
Nothing on the horizon yet. Give a task a date and it shows up here on its track.
{{ hg.head }}
{{ hr2.date }} {{ hr2.check }} {{ hr2.title }} {{ hr2.meta }}
✕ ● FOCUS {{ tkFocusFrom }} {{ tkFocusDoneCt }}
← Back to session
THIS FELT LIKE TOO MUCH, SO
{{ tkStepsTitle }}
{{ tkStepsNote }}
{{ sp.check }} {{ sp.t }} START HERE
✨ Not how you do it? Give me your way
Do the first one. We will celebrate that alone.
LOOKING AT {{ tkFocusPos }}
{{ tkFocusTitle }}
{{ tkFocusMeta }}
← swipe to browse — nothing commits →
✓ Done — next step This one feels like too much
{{ tkBreatherLabel }} Continue later Finish
No problem. What helps right now?
Nothing here checks it off or ends your session — we just make it easier.
↗
Shrink it
The coach breaks it into tiny moves, easiest first. Just do the first.
↷
Swap it
Slide an easier one in front — this waits right behind it.
↓
Park it
Back of the lineup. Not done, not gone — just later.
Never mind, I will stick with this one
BUILD YOUR FOCUS
Pick what to work on
{{ tkFbNote }}
✕
{{ fb.name }} {{ fb.count }} {{ fb.chev }}
{{ fr2.check }} {{ fr2.title }} {{ fr2.slot }}
{{ tkFbBeginLabel }}
✕
I have got you. The list is handled under the hood. Pick one way in:
{{ so.icon }}
{{ so.name }}
{{ so.sub }}
Might already be in the kitchen
Everything obvious is already filed. These looked close to something you have — your call.
{{ dq.name }}
looks like: {{ dq.matched }}
Add anyway Skip — same thing
Skip all Add all
{{ fSourceNote }}
{{ fUndoLabel }} UNDO
Health
{{ fl.label }} {{ fLaneBackLabel }}
DIET MODE {{ fm.label }} 🔒 LOW SODIUM · LOW SAT-FAT {{ foodModeNote }}
{{ fCoachKicker }}
{{ cc.cap }}
{{ cc.big }}
{{ cc.sub }}
{{ fCoachRead }}
{{ cb.label }}
{{ rg.big }} {{ rg.small }}
{{ rg.cap }}
{{ rg.sub }}
{{ fWaterBig }} {{ fWaterSmall }}
WATER
{{ fWaterSub }}
+8 oz +12 +20
‹ › Back to today Reading that day…
{{ fPlateHead }}
Nothing on the plate yet — say it below and the coach files it.
{{ pl.time }} {{ pl.name }} {{ pl.macro }}
Log it with the coach
Say it how you'd say it — no forms. {{ fLogHint }} The coach opens, tallies it, and talks it through; if he got something wrong, tell him and he corrects it.
FIXING AN ENTRY BY HAND Cancel
{{ mt.label }}
{{ fEditNote }}
{{ fEditSaveLabel }} {{ fEditDelLabel }}
{{ t.big }} {{ t.unit }}
{{ t.cap }}
{{ t.sub }}
+
Capture a haul — paste it, drop it, or photo it
Click and ⌘V a receipt, drag text or an image straight onto this card, or choose a photo — the coach reads it, grades it, and files every item.
{{ fHaulImgName }} ✕ remove
File it with the coach Choose a photo… Cancel {{ fHaulErr }}
Already have: "half a bag of rice, frozen peas, two cans of black beans…" — just tell it, no form Tell the coach
{{ fPantryHead }}
Tap items to select — use up, fix, or toss. Grid List {{ fFitLabel }}
{{ fFitNote }} Rate them with the coach
No use-by dates yet — the coach will walk your perishables with you and file the real dates off the packages. Date my perishables
USE IT UP FIRST · THE COACH PLANS AROUND THESE
{{ ux.name }} {{ ux.when }}
{{ fUxName }} Save date Remove date Cancel {{ fUxErr }}
{{ fSelLabel }} {{ fSelNames }} ✓ Used them up Remove all Lyla’s Mine Move to… Clear
{{ mv.label }}
{{ pc.chev }} {{ pc.label }} {{ pc.count }} ✎ + add
Rename Cancel
{{ ch.label }}
{{ pc.pickName }} ✕
{{ pc.pickNotes }}
✓ Used it up Edit {{ pc.rateLabel }} {{ pc.ownerLabel }} Remove Move to… {{ pc.dateLabel }}
{{ mv.label }}
Save date Clear date Cancel {{ pc.dateErr }}
{{ pc.editErr }} Save Cancel
Add it Cancel
Create — then add its first item Cancel
+ New section
HOUSE RULES · TAP ✕ TO DROP ONE
{{ hr.label }}✕
{{ rw.label }} Add rule
{{ fHaulHead }}
{{ fHaulNote }}
{{ ct.label }}
The rule: ideas use only what's in your kitchen right now — never Lyla's shelf — and they fit what's LEFT of today's numbers.
{{ mc2.label }}
Clear {{ fIdeasGoLabel }}
{{ iw.label }} × {{ fIdeasBudget }}
Nothing generated yet — pick the meal, say what you're in the mood for if you like, and hit the button. The coach reads the kitchen, the spoil-first list, and today's tally before suggesting anything.
{{ id2.name }} {{ id2.mins }}
{{ mc.t }}
{{ id2.uses }}
{{ id2.desc }}
{{ id2.favLabel }} Cook it — talk it through
{{ fRecipesHead }}
{{ r.fav }} {{ r.name }} {{ r.mins }} {{ r.who }} OPEN THE CARD →
{{ mc.t }}
{{ r.sub }}
Nothing matches "{{ fCookQ }}" — the search reads names, descriptions, and every ingredient.
{{ fRcName }}
{{ fRcMeta }}
✕
{{ fRcDesc }}
{{ mc.t }}
{{ fRcIngHead }}
No ingredient list saved on this one — ask the coach to fill it in and save it back.
{{ ig.t }}
{{ fRcStepHead }}
No steps saved — “Cook it with the coach” below and he walks you through, then save it back.
{{ st.n }} {{ st.t }}
✓ I made this · {{ fRcCooked }} {{ fRcFavLabel }} Talk it through with the coach
THE GOAL · EVERYTHING PLANS AGAINST THIS Change goal — talk it out
{{ fGoalNow }} → {{ fGoalTarget }}
{{ fp.label }}
Lands {{ fGoalDate }}
{{ fGoalPaceLine }}
{{ fGoalCal }} cal/day {{ fGoalCarbs }} carbs {{ fGoalProtein }} 🔒 2,300mg sodium 🔒 18g sat-fat {{ fGoalWater }}
{{ fGoalMetaNote }}
BLOOD PRESSURE Log a reading
TREND {{ br.label }}
150
135
120
{{ d.v }}{{ d.label }}
{{ fBpNote }}
{{ fWtHead }} Log weight
{{ wg.label }}
{{ d.v }}{{ d.label }}
{{ fWtNote }}
{{ fBudgetHead }}
{{ b.label }} {{ b.val }}
Plain terms, always. Calories and carbs follow the Goal card — flip the diet mode or the pace and these targets move with it. Sodium and sat-fat stay locked for the blood pressure and the cholesterol.
{{ clientsNote }}
Clients
No clients came back. The table may be scoped differently than expected — worth a look.
Clear
{{ cs.label }}
{{ cliNoHitsNote }}
{{ c.name }} {{ t.t }} {{ c.spend }}
{{ c.sessions }} sessions last {{ c.last }} {{ c.next }} {{ c.contact }}
{{ c.summary }}
{{ cliMoreLabel }}
{{ selClientName }}
{{ sct.t }}
{{ cliEditLabel }} ×
LIFETIME
{{ selClientSpend }}
SESSIONS
{{ selClientCount }}
FIRST
{{ selClientFirst }}
LAST
{{ selClientLast }}
{{ cf.label }}
{{ cf.shown }}
{{ cfl.label }}
{{ cliErr }}
{{ cliSaveLabel }} {{ cliDelLabel }}
WRITE-UP
{{ selClientSummary }}
{{ selClientFamily }}
{{ cliSessionsNote }}
{{ cs2.when }} {{ cs2.what }}
{{ cliUndoNote }} Undo
Claude ~{{ barCost }} / msg − + Hide ×
{{ memNote }} {{ memFoldLabel }} Start fresh {{ memFoldNote }}
Ask him anything — what a text message said, who owes you money, whether a Saturday is worth splitting. He can see what month you are on and what the date finder is set to.
{{ t.who }}
{{ t.text }}{{ t.rich }}
{{ p.who }}
{{ p.text }}
THE COACH WANTS TO {{ dcKind }}
{{ dcTarget }}
{{ dcWhere }}
{{ dcWhy }}
Approve — do it No
Single use · expires in 2 minutes · STOP voids it
{{ pendingKicker }}
{{ pendingClient }}
{{ l.k }} {{ l.v }}
{{ pendingErr }}
{{ approveLabel }} No
THINKING
{{ pickerSummary }} VIA {{ o.label }} MODEL {{ m.label }} EFFORT {{ e.label }} done
{{ grabPaneTitle }}
Why each one was picked on the left. The message on the right is yours to edit before you copy it.
{{ grabWhyLabel }}
{{ gr.time }} {{ gr.when }} {{ gr.badge }}
{{ gs.side }} {{ gs.who }} {{ gs.at }} {{ gs.gap }}
{{ gr.light }}
{{ gr.note }}
WHAT THEY WILL READ
{{ grabCopied }}
Copy it Close
{{ moveKindLabel }}
{{ moveWho }}
WAS {{ moveFromLabel }}
NOW {{ moveToLabel }}
{{ moveLight }}
{{ moveErr }}
{{ moveConfirmLabel }} Leave it where it was
{{ slotTitle }}
{{ slotWhen }}
{{ sk.label }}
{{ slotWarn }} {{ slotNlHint }}
{{ slotCrossNote }}
{{ slotMissingNote }} ALREADY FILLED IN
{{ slotErr }}
{{ slotSaveLabel }} Cancel
PERSONAL CALENDAR
{{ blockTitle }}
{{ blockSub }}
All day, or several days
{{ blockErr }}
{{ blockSaveLabel }} Cancel Delete
{{ ringKindLabel }} {{ ringSetAt }} ⏵
{{ ringWho }}
{{ ringSub }}
{{ ringSetNote }}
{{ ringBody }}
{{ rf.k }} {{ rf.v }}
{{ ringReplyHint }} {{ ringSendLabel }}
{{ ringErr }}
{{ ringCopyLabel }}
YOUR NOTE ON THIS LEAD {{ ringNoteSaveLabel }}
{{ ringMoveLabel }}
{{ rmv.label }}
BRING IT BACK
{{ rsn.label }} {{ rsn.when }}
At a time SET
On a date SET
Open it Snooze Mark read {{ ringArchiveLabel }} {{ ringPinLabel }} {{ ringUrgentLabel }} Not now Dismiss
{{ gapListTitle }} {{ gapListCount }} CLOSE
{{ gapListNote }}
{{ gp.who }} {{ gp.when }}
{{ gp.what }}
{{ fuEmailKicker }} skip
✓ Sent {{ fuTo }}
Writing it…
TO
SUBJECT
PROOFREAD VERSION
{{ fuProof }}
Use this Keep mine
{{ fuErr }}
{{ fuEditedNote }}
{{ fuSendLabel }} {{ proofLabel }} Later
{{ fuSmsKicker }} skip
PROOFREAD VERSION
{{ fuProof }}
Use this Keep mine
{{ fuErr }}
{{ smsTargetNote }}
{{ smsInsertLabel }}
Copy it {{ proofLabel }}
JUMP TO
{{ bp.label }}
DO
{{ ba.label }}
{{ msgUnread }} {{ barPageLabel }}