Daystead setup
Get your days dialed in: your calendar, tasks and health, in your own private database.
New here?
Setup takes about 20–30 minutes, once. You'll make three free accounts (Supabase, Google Cloud, and a Google sign-in client), copy a few values into this page, and it installs everything for you. No coding and no Terminal.
You'll need your licence key from your purchase email, and a computer (setup is fiddly on a phone). Your data is stored in your own Supabase project, never on this site. Each licence key sets up one board, which you can use on all your own devices.
Already set up on another device?
On the device that's already set up, open Settings → Your devices. Scan the code with this device's camera, or copy the link here:
Your licence key
It's in your purchase email from Gumroad or Lemon Squeezy (and in your Gumroad library, or your Lemon Squeezy "My Orders" page).
One key, one board. The first install links your key to the Supabase project you choose. After that, the same key updates or repairs that board (and sets up its Garmin sync), but it can't set up a second board. Use your board on as many of your own devices as you like.
Your database (Supabase)
free, no card- Open supabase.com and make a free account (signing in with GitHub or email is fine).
- Press New project. Name it daystead, press Generate a password (you won't need it again), pick the region nearest you, and press Create new project.
- Wait a minute or two until it says the project is ready.
Google sign-in and Calendar
free, no cardThis lets you sign in with Google and lets your board read your calendar. It's the longest step: about 10 minutes. Keep this page open in one tab and Google Cloud in another.
Use this same account all the way through: to create the Google Cloud project, as the test user, and to sign in to your board.
- Open the Google Cloud console and make a new project called Daystead. When it's made, check Daystead is the project selected at the top of the page. Every step below happens inside it.
- Turn on these, pressing Enable on each (open each link, check the project at the top says Daystead, then press Enable): Google Calendar API, Gmail API (for deliveries and uni emails) and Google Tasks API (for the Tasks sync).
- Open Google Auth Platform and press Get started. App name: Daystead. Support and contact email: yours. Audience: External. Agree and Create. Work or school account (not @gmail.com)? You can pick Internal instead: no weekly reconnect and no test users needed.
- Don't skip this one. Open Audience. Leave it in Testing. Scroll to Test users, press Add users, paste this address and press Save:
Check it now appears in the Test users list. Without it, Google blocks your sign-in with "Access blocked … Error 403: access_denied".
(type your Google address at the top first) - Open Data access → Add or remove scopes. Scroll to Manually add scopes, paste the box below, press Add to table, then Update. Then scroll to the bottom of the page and press Save (easy to miss).
https://www.googleapis.com/auth/calendar.readonly https://www.googleapis.com/auth/gmail.readonly https://www.googleapis.com/auth/tasks - Open Clients → Create client. Type: Web application. Name: Daystead. Scroll past Authorised JavaScript origins (leave it empty) to Authorised redirect URIs, press Add URI and paste:
Press Create. Copy the Client ID and Client secret into the boxes below straight away: Google only shows the secret once. (Lost it? Open the client, press Add secret and use the new one.)
https://…supabase.co/auth/v1/callback
"Testing" means Google never needs to review your app, because only you use it. The catch: about once a week, Google asks you to sign in again. The board shows a Reconnect Google button for it.
Make it yours
you can change all of this later in SettingsInstalling
Your board is ready
- Delete the setup token: open Access Tokens and delete Daystead setup. You'll make a new one if you ever update.
- Open your board and press Sign in with Google. Google warns that the app isn't verified, because it's your own private app. Press Continue and tick every box it offers.
- On your phone: open the device link from Settings → Your devices, then use the browser's Install app or Add to Home Screen.
Trouble signing in?
- "Access blocked … has not completed the Google verification process" (Error 403: access_denied)
- Your Google account isn't a test user yet. In Google Cloud open Audience (with the Daystead project selected), press Add users under Test users, add the exact address you're signing in with, press Save, then sign in again.
- "Google hasn't verified this app"
- That's expected for your own private app. Press Continue (or Advanced, then Go to …) and tick every box.
- "Error 400: redirect_uri_mismatch"
- Open Clients → Daystead and check Authorised redirect URIs holds exactly
your Supabase address + /auth/v1/callback, with nothing extra. Save, wait a minute, then try again. - "That Google account isn't the owner of this board"
- You signed in with a different account from the one you typed during setup. Sign in with that one.
- "Google needs all the boxes ticked"
- Press Reconnect Google on your board and tick every box this time.
On the Mac you'll sync from, open Terminal (in Applications → Utilities), paste this whole line and press Return:
It asks for your Garmin email and password once (sent only to Garmin, not saved), then syncs every 3 hours while the Mac is on. This uses an unofficial Garmin library, so Garmin could change or block it at any time. Delete the setup token afterwards (Supabase → Access Tokens).