First-time setup: your own database

Your tasks and images live in your own Supabase project, under your control. Complete these steps once for Mac or Android. It helps to keep the Supabase dashboard open in a computer browser alongside WhaleTodo’s setup screen.

1. Create an empty Supabase project

Sign up or sign in to the Supabase dashboard. Choose or create your organization, select New project, and set a project name, database password and region. Wait for the project to finish starting.

Use a new, empty project for WhaleTodo. Save the database password for administration; it is separate from your WhaleTodo password and is not entered in the app.

2. Copy two values into WhaleTodo

Open the project’s Connect dialog to find these values. You can also find your publishable key in Settings → API Keys.

Project URL: project address in the app
Looks like https://your-project.supabase.co. Use the full project URL, not a dashboard URL or a database connection string.
Publishable key: project publishable key in the app
Starts with sb_publishable_. The current app also accepts legacy anon keys; prefer a publishable key for a new project.

Choose first-time setup in WhaleTodo, paste the URL and key from the same project, and check the project to continue. Do not enter a Secret key, service_role key or database password.

3. Initialize the database

When the app asks you to prepare the project, copy its initialization script. In that project’s SQL Editor, create a new query, paste the complete script and select Run.

The script creates task tables, account access rules and private image storage. Use the script supplied by the app; there is no need to create tables manually. Keep Row Level Security (RLS) enabled and image storage private.

4. Configure sign-in

In Authentication → Sign In / Providers, set and save:

WhaleTodo uses usernames through Supabase’s email sign-in mechanism, without real email addresses. That is why confirmation is off; you do not need an email delivery service. Return to WhaleTodo and recheck the project.

5. Create your WhaleTodo account

Choose a username of 3–32 letters, numbers, underscores or hyphens, and a password of at least 16 characters. You can generate a password in the app. Save it, then create the account to start. This account is separate from your Supabase dashboard account.

You can now use your task list. Keep your login in a password manager: this username account has no email password recovery. Its project owner can use the account recovery procedure to reset the original account. AI can be configured later with your own model access; background agents also need a configured executor.

Why a public key does not make your data public

A publishable key connects a client to a project; it does not sign in as you. With the supplied access rules in place, the URL and key alone cannot read your tasks or images. Database rules check the signed-in owner, and storage rules protect private images.

Protection depends on authentication and correct permissions, not hiding the key. A publishable key can still reach enabled sign-in and signup endpoints. Administrator keys bypass RLS and must stay secret. See Supabase’s key guide.

Owning your project gives you control over access and backups; it does not provide end-to-end encryption. Supabase hosts your data when you use its cloud service. AI features send the context they need to your chosen model provider, and a configured executor processes the data needed for its tasks.

If you need a hand

Connect another device

Choose the option to connect existing data, enter the same project URL and public key, and sign in with your existing WhaleTodo username and password. You do not need another project, initialization or account.

Initialization, invalid-key or email-confirmation errors

Initialization: make sure the complete script ran successfully in the same project, then recheck. Invalid key: check that the URL and public key belong to the same project. Email confirmation: turn off Confirm email in the Email settings. If an unconfirmed account already exists, follow the app’s guidance to confirm it under Authentication → Users.

Do I need to leave signup enabled?

After creating the accounts you need, you can turn off Allow new users to sign up. Existing accounts can still sign in and sync, including on new devices. Turn it on again if you need to create another account.