What is Brain Pie?
Brain Pie is a visual mind organization tool that uses a 3-layer pie chart to help you organize thoughts, tasks, and actions. Everything stays in your browser by default β no accounts, no servers, no tracking.
The 3-Layer Hierarchy
- Categories β Top-level areas of life (the outer ring). Examples: Work, Health, Personal.
- Slices β Specific domains within a category (the inner pie wedges). Examples: under Health β Exercise, Diet, Sleep.
- Spokes β Individual items radiating outward from slices. These can be reminders, tasks, or recurring events. List-type spokes can contain Actions β sub-items that can each be scheduled on your calendar independently.
Interacting with the Pie
- Click a slice to expand it to a full 360Β° view with all its spokes.
- Click a category (outer ring) to see only that category's slices across the full pie.
- Click a spoke to configure it, change its type, or view its actions.
- Click the back button (β) or anywhere on an expanded chart to return to the full pie.
Privacy First
All data is stored in your browser's localStorage. Nothing is sent to any server unless you explicitly enable Cloud Sync with your own Firebase project. There are no accounts, no cookies, and no analytics.
Adding Categories & Slices
Click the + Add button in the top-right corner to open the Add menu.
- Tab 1 lets you create or select a category, then add slices to it.
- Each slice has a name, weight (percentage), and color.
- Click Done when you've added your slices, or continue to Tab 2 to add spokes.
Adding Spokes
- In Tab 2 of the Add menu, select a slice and type a spoke name into the input field.
- You can also add spokes from the summary cards at the bottom of the page using the green + button.
- New spokes are created as Static type by default. Use the blue "Spoke type" button to change the type.
Editing & Reordering
- Inline editing β Click any spoke name in the summary cards to edit it directly.
- Drag and drop β Drag categories, slices, or spokes to reorder them or move them between groups.
- Percentages β Adjust slice weight percentages to change their visual size in the pie. Other slices automatically redistribute.
- Colors β Use the color picker next to each category or slice to customize colors.
Views
- Pie view β The default circular visualization.
- Treemap view β Toggle the "Treemap" checkbox to see a rectangular grid layout instead.
- Hide spokes β Toggle to show only slices and categories (the pie scales larger).
Spoke Types
Every spoke has a type that determines its behavior:
| Type | Purpose | Calendar? |
| Static | A persistent reminder β always visible, no scheduling | No |
| Single | A one-time schedulable task β the spoke itself is the event | Yes |
| Repeating | A recurring schedulable task β the spoke itself recurs | Yes |
| List | A container for multiple actions, each independently schedulable | Per action |
Spoke Editor
- Click any spoke on the chart, or its button in the summary cards, to open the Spoke Editor.
- The editor has two tabs: Type and Schedule.
- Use the Type tab to change between Static, Single, Repeating, and List.
- The Schedule tab appears for Single and Repeating types, with fields for date/time or recurrence.
- If a spoke already has a schedule, the editor opens directly on the Schedule tab.
- You can switch types freely β schedule data is preserved if you switch back.
Actions (List Spokes)
- List spokes can have multiple child actions. Click the spoke on the chart to see the action popup.
- Each action has a checkbox to mark it complete (line-through when checked).
- Each action can be independently scheduled on your calendar.
- Use Add & Schedule in the spoke editor to create and schedule an action in one step.
Schedule Indicators
Scheduled spokes show a pill on the chart with the date/time. The pill changes colour as the event draws closer:
- Blue pill β unscheduled (single or repeating spoke with no date set yet)
- Green pill β upcoming event (more than a week away)
- Green pill, black border β event is this week (2β7 days away)
- Green pill, orange border β event is tomorrow
- Orange pill β event is today
- Red pill β event has passed
- Unscheduled schedulable spokes show a blue button in the summary cards.
- Repeating spokes show a compact summary like "Mon, Wed, 5PM".
Calendar Providers
Brain Pie supports two calendar providers, selectable in Settings:
- Google Calendar β Creates events via the Google Calendar API (with sign-in) or opens Google Calendar with pre-filled details.
- Apple Calendar β Downloads an .ics file that opens in Apple Calendar (or any app that supports .ics).
Scheduling Events
- Choose a date, time, and duration in the date/time picker.
- All-day events β Check "All day" to create an event without a specific time. New events default to all-day.
- Duration β Options from 15 minutes to 4 hours.
- Location & Notes β Optional fields included in the calendar event.
- Invitees β Add comma-separated email addresses to invite attendees.
- Click Skip to close without scheduling.
Repeating Events
- Set frequency (daily, weekly, monthly, yearly) and interval.
- For weekly: select specific days of the week.
- For monthly: select the day of the month.
- Choose when to end: never, on a specific date, or after N occurrences.
- Recurring events create proper RRULE entries in Google Calendar and .ics files.
Rescheduling
- Click the green schedule pill on a spoke or action to reschedule.
- The picker pre-fills with the existing schedule.
- Note: You may need to manually delete the old calendar entry if not using Google Calendar API sync.
Calendar Sync (Google)
Sign in with Google in Settings to enable 2-way sync. This allows Brain Pie to create, update, and delete events automatically. If you delete or move an event in Google Calendar, the change syncs back to Brain Pie on page load.
Event Naming
- Single/Repeating spokes: "Spoke Name (Category/Slice)"
- List actions: "Action Name (Spoke/Slice/Category)"
The Priority List
Brain Pie has a built-in priority system to highlight your most important items. The priority list is a ranked order β item #1 is your top priority.
Adding Priorities
- Click the star (★) button next to any spoke or action in the summary cards, action popup, or scheduler overlays.
- Stars turn gold when an item is already prioritised.
- The prioritiser window opens automatically when you add a priority.
The Prioritiser Window
- Toggle with the ★ Priorities button in the top bar.
- Drag the title bar to move the window anywhere on screen.
- Shows the top 5 items by default β click "Show all" to see the full list.
- Drag to reorder items within the list to change their rank.
- Click the star on an item to bump it to position #1 (clicking #1's star removes it).
- Click an item's name to navigate to it on the chart (expands the parent slice and opens the action popup if applicable).
- Click β next to an item to remove it from the list.
Priority Stars on the Chart
- Prioritised spokes show a gold star on the chart (both pie and treemap views).
- Top-5 items get a larger star for extra visibility.
- Click the star on the chart to bump that item's priority.
Automatic Removal
Checking off a completed action (List type) automatically removes it from the priority list.
How Cloud Sync Works
Brain Pie can optionally sync your data across devices using Firebase Realtime Database. You provide your own Firebase project β Brain Pie never stores your data on its servers.
Creating a Firebase Project
- Go to console.firebase.google.com and click Add project.
- Give it a name, disable Google Analytics (not needed), and click Create project.
- In the left sidebar, go to Build β Realtime Database and click Create Database. Choose a region and start in locked mode.
- Go to Project Settings (gear icon) β General β scroll to "Your apps" β click the web icon (</>) β register an app β copy the config object shown.
Enabling Google Authentication
- In the Firebase Console, go to Build β Authentication and click Get started.
- Under Sign-in providers, click Google, enable it, set a support email, and click Save.
- Go to Authentication β Settings β Authorised Domains and add brainpie.app.
Database Rules
By default the database is locked. Replace the rules with the following to allow authenticated users to read and write:
{
"rules": {
".read": "auth != null",
".write": "auth != null"
}
}
Set these under Realtime Database β Rules and click Publish.
Connecting to Brain Pie
- Go to Settings β Cloud Sync β Enable Cloud Sync.
- Paste your Firebase project config JSON and click "Connect to Firebase".
- Sign in with Google to authenticate.
- On first sync, you'll be asked whether to push your local data to the cloud or start fresh.
Sharing with Other Devices
- After connecting, a shareable URL is generated with your Firebase config encoded in it.
- Open this URL on another device to automatically connect to the same Firebase project.
- You can also export the Firebase config as a JSON file.
Real-Time Sync
Changes sync instantly across all connected devices. The sync indicator in the UI shows connection status.
Offline Fallback
If the Firebase connection is lost, Brain Pie automatically falls back to localStorage. Your data is preserved locally and will sync when the connection is restored.
Google Cloud Setup (Calendar & Tasks β optional)
Firebase sync alone requires no extra Google Cloud steps β the basic sign-in scopes are handled automatically by Firebase.
If you also want Google Calendar and Tasks integration, additional setup is needed in your Firebase project's Google Cloud Console. Without it, calendar and task actions will silently fail.
- Go to console.cloud.google.com and select your Firebase project.
- APIs & Services β Library β search for and enable Google Calendar API.
- In the same Library, search for and enable Google Tasks API.
- APIs & Services β OAuth consent screen β add the Calendar and Tasks scopes, then add your Google account as a test user.
Note: Calendar is a sensitive scope β users will see a permission prompt when first enabling calendar sync. The OAuth consent screen can stay in Testing mode for personal or small-team use.
Calendar sync also works without Firebase β users can sign in to Google via Settings β Calendar Sync independently.
The "Unverified App" Warning
When signing in with Google for the first time, you may see a warning that the app is unverified. This is normal for a new Firebase project β it's Google flagging that your project's OAuth consent screen hasn't been formally reviewed.
It is safe to proceed. Since this is your own Firebase project, click Advanced β Go to [project name] (unsafe) to continue. You'll only see this once per browser.
If you want to remove the warning permanently, you can submit your OAuth consent screen for Google verification β though this is a lengthy process and not required for personal or small-team use.
Exporting Data
- Go to Settings β Export Data & Settings to JSON.
- A selection tree lets you choose which categories, slices, and spokes to include.
- Toggle "Include actions" to export with or without action details.
- Use Select All / Deselect All for quick selection.
- The exported JSON file can be saved as a backup or shared with others.
Importing Data
- Go to Settings β Import and select a JSON file.
- Step 1 β Select: Choose which items to import. Items marked with a link icon (π) will merge with existing data of the same name.
- Step 2 β Confirm: Review what will be added or merged before importing.
Smart Merge
Importing uses name-based matching (case-insensitive) to detect existing items:
- Categories with the same name β imported slices are added to the existing category.
- Slices with the same name β imported spokes are added to the existing slice.
- Spokes with the same name β imported actions are added to the existing spoke.
Quick Replace
Use the Replace All button to completely replace your current data with the imported file. This is useful for restoring a full backup.
Scheduled Actions on Import
If imported data contains scheduled actions, calendar events are automatically created during the import process.