Appearance
Calendar
Connect your Google Calendar and see today's meetings on the Today view, alongside your tasks.
What it does
The Today event strip: today's meetings shown above your task list, color-coded by source calendar.
- Today event strip. A compact horizontal row above your tasks showing today's calendar events. All-day events on the first row, timed events with their times below. Color-coded by source calendar.
- One-click meeting links. Zoom / Meet / Teams / Webex links extracted from event descriptions and surfaced as a Join button.
- Free-time indicator. "6h 40m free" at the right end of the strip, summing the open windows in your working hours (default 9am–6pm; configurable).
- Read-only. MLW can see your events and your list of calendars but can never add, edit, or delete anything in your calendar. Your calendar stays exactly as you left it.
Connecting
- Open Settings → Calendar (gear icon → Calendar in the left nav)
- Click Connect Google Calendar
- Pick the Google account, approve the consent screen
- You're back in MLW with the account showing as connected
The Today event strip starts appearing on your next page load.
If your calendar stops syncing
Google occasionally revokes MLW's access token, typically after a password change, a security alert on your Google account, or if you disconnect MLW from your Google account on Google's side. When that happens, sync stops silently in the background.
You'll know because:
- A red banner appears at the top of Today: "<your email> needs to reconnect. Events haven't synced since <N> days ago."
- The same account row in Settings → Calendar shows the error inline with a Reconnect button.
Click Reconnect, re-authorize on Google's screen, and events refill within ten minutes (or hit the refresh button on your account in Settings to pull immediately). You don't need to disconnect first; reconnecting overwrites the dead token in place.
Sub-calendar visibility
Each connected account shows every sub-calendar Google knows about: Work, Personal, Family, Holidays, sports schedules, subscribed calendars, etc. Some you'll want on Today; others you won't.
In Settings → Calendar, under each connected account, every sub-calendar has an on/off toggle. By default, your primary calendar and most shared/shared-with-me calendars are on; Holidays and Birthdays are off. Flip whatever you want.
Toggles take effect immediately. The Today event strip refreshes the moment you flip a switch.
Hide duplicate events across calendars
If the same event appears on more than one of your calendars (a Family invite that's also accepted on your Personal calendar, for instance) the strip would otherwise render it twice with no indication they're the same event.
Settings → Calendar → Display preferences → "Hide duplicate events across calendars" collapses these into a single strip entry. On by default, since duplicates are visually noisy and users without overlapping calendars don't notice a difference. Flip it off if you specifically want to see every calendar's copy of an event.
The preference is per-device (stored in localStorage) and takes effect on the next render, no resync needed.
Sync cadence
Calendar events refresh automatically every 10 minutes in the background. New events you create in Google Calendar appear in MLW shortly after, or click the refresh button next to your account in Settings to sync immediately.
The "syncing for the first time…" status under a freshly-connected account flips to "last synced just now" once the first sync completes.
Hiding the strip
Some days you want the calendar in your face; others you want a clean Today view. Press m (mnemonic: "meetings") anywhere in the app to toggle the strip's visibility. Persists across sessions and tabs.
You can also click the chevron at the right end of the strip to collapse it to a one-line summary (📅 3 events · 6h free) without hiding it entirely.
Connecting iCloud, Outlook, or Proton calendars
MLW only speaks Google Calendar at the moment. The workaround:
- Open Google Calendar in a browser
- Settings → Add calendar → From URL
- Paste the iCal/CalDAV URL of your iCloud / Outlook / Proton calendar
- Save
Google will pull events from that source into a new sub-calendar. MLW picks it up automatically the next time it syncs (within 10 minutes).
Privacy
MLW only requests read access, specifically the ability to see your events and your list of calendars. We never modify, add, or delete anything. The OAuth refresh token that lets MLW pull events is stored encrypted in Supabase Vault, not in any column you can read directly.
If you ever want to revoke the connection:
- From MLW: click the trash icon next to your account in Settings → Calendar
- From Google: https://myaccount.google.com/permissions → Mind Like Water → Remove access
Either path stops sync immediately.
What MLW doesn't do (yet)
- Doesn't write to your calendar. This is by design. Your calendar is your hard landscape; it should hold actual time-bound commitments, not soft "block work time for X" guesses. We respect that boundary.
- Doesn't time-block. Drag-tasks-onto-a-timeline (Sunsama / Akiflow style) is on the roadmap as opt-in Timeline mode in a future release. For now, MLW shows the calendar as informational context above your task list. The calendar drives planning, but doesn't contain it.
- Doesn't yet support Microsoft Outlook directly. Subscribe your Outlook calendar to Google in the meantime.
- Doesn't yet do meeting-prep notes. A future feature will let you attach notes to specific calendar events and surface them 10 minutes before the meeting starts.
Keyboard shortcut
| Shortcut | Action |
|---|---|
m | Toggle the calendar event strip on Today (hide / show) |
Common questions
Can MLW write to my Google Calendar?
No, by design. MLW only requests read-only access. We can see your events and your list of calendars, but we can never add, edit, or delete anything in your calendar. Your calendar stays exactly as you left it.
How often does MLW pull new calendar events?
Calendar events refresh automatically every 10 minutes in the background. If you want to see a freshly-added event sooner, click the refresh button next to your account in Settings → Calendar.
Why isn't my new calendar event showing up yet?
New events appear in MLW within ~10 minutes of being created in Google Calendar (the auto-sync cadence). For an immediate sync, hit the refresh button in Settings → Calendar.
Can I connect iCloud or Outlook calendars?
Not directly yet. MLW currently only connects to Google Calendar. The workaround is to subscribe your iCloud or Outlook calendar to your Google Calendar (Settings → Add calendar → From URL in Google), and MLW will pick it up automatically.
How do I hide a calendar I don't want to see on Today?
Open Settings → Calendar. Each connected account shows every sub-calendar with an on/off toggle. Flip the ones you want to hide. Toggles take effect immediately on the Today event strip.
How do I disconnect my Google account from MLW?
Click the trash icon next to your account in Settings → Calendar. You can also revoke access at https://myaccount.google.com/permissions on Google's side.
My calendar stopped showing events. What happened?
Google occasionally revokes the access token MLW uses to pull events, most commonly after a password change, a security alert, or if you disconnected MLW from your Google account. When this happens, a banner appears at the top of Today saying "needs to reconnect," and the same account row in Settings → Calendar shows the error inline. Click Reconnect, re-authorize, and events refill within ten minutes.
Related
- Daily pages. The journal pane that sits beside Today.
- Reminders. Fire alerts at specific times if you don't want everything on the calendar.
- Quick Capture. Set due times inline at capture (
3pm,9 AM).