This wizard will walk you through everything you need to get Hearth & Habit up and running. Your data, your setup, your space. Nothing is stored on our servers. Everything lives in your Firebase project and syncs across your devices.
Here's what we'll set up together:
01 Connect your Firebase project (your private database)
02 Set up Firestore (so your data syncs across devices)
03 Add your names, location, and preferences
04 Choose your theme and customize your pages
05 Hear how I actually use this thing (optional)
iThis takes about 10 to 15 minutes. Every setting can be changed later in the Settings page, so don't overthink it. You can also skip ahead and come back.
Step 1 of 4 · Technical Setup
Create your Firebase project.
Firebase is a free service from Google that stores your data privately and syncs it across all your devices. You own it. Nothing touches our servers.
Are you doing this on a computer or your phone?
iThe Firebase console works on phones, but it is significantly easier on a computer. If you have a laptop or desktop nearby, it is worth switching for this part. If not, these instructions cover the mobile layout.
▶
Video walkthrough: Creating your Firebase project
Coming soon. Follow the written steps below in the meantime.
Sign in with your Google account. If you are already signed in, you will go straight to the Firebase dashboard.
3
Click the big "Create a project" button (you might also see it labeled "Add project"). If you have used Firebase before, it will be a card with a + icon.
4
Project name: Type anything you want. Something like hearth-habit or my-life-hub works great. Firebase will auto-generate a project ID below it. You do not need to change the project ID. Click Continue.
5
Google Analytics: You will see a screen asking if you want to enable Google Analytics. Toggle it off. You do not need it for this. Click Create project.
6
Wait 15 to 30 seconds while Firebase creates your project. When it says "Your new project is ready," click Continue.
7
You are now on the Project Overview page. In the center of the page, you will see "Get started by adding Firebase to your app" with a row of platform icons (iOS, Android, Web, Unity, Flutter). Click the Web icon. It looks like </>.
Can't find it? Click the gear icon next to "Project Overview" in the left sidebar, then Project settings. Scroll down to "Your apps" and click "Add app", then choose the Web platform icon.
8
Register app: It asks for an App nickname. Type anything (like "Hearth"). There will be a checkbox below that says "Also set up Firebase Hosting for this app." Leave it unchecked. Click "Register app".
9
Add Firebase SDK: The next screen shows a code snippet. Look for the block that starts with const firebaseConfig = { and contains values like apiKey, projectId, etc. Select and copy that entire block. You can also copy the whole page. The wizard on the next step will pull out the right parts.
10
Click "Continue to console" at the bottom. You are done with this step.
Sign in with your Google account. You may see a terms of service screen first. Accept it to continue.
3
Tap "Create a project" (or "Add project"). If you have trouble seeing the full button, try rotating your phone to landscape.
4
Project name: Type anything you want. Something like hearth-habit works great. Firebase will auto-generate a project ID underneath. Leave that as is. Tap Continue.
5
Google Analytics: You will see a toggle asking about Google Analytics. Turn it off. You do not need it. Tap Create project.
6
Wait for it to finish (15 to 30 seconds). When it says your project is ready, tap Continue.
7
You are now on the Project Overview page. Scroll down until you see "Get started by adding Firebase to your app" with a row of small icons. Tap the Web icon (looks like </>).
Can't find it? Tap the gear icon near the top of the page (next to "Project Overview"), then "Project settings". Scroll down to "Your apps" and tap "Add app", then choose Web.
8
Register app: It asks for an App nickname. Type anything (like "Hearth"). Below the nickname, make sure the "Also set up Firebase Hosting" checkbox is not checked. Tap "Register app".
9
Add Firebase SDK: The next screen shows a code snippet. The part you need starts with const firebaseConfig = { and has your API key, project ID, etc. Long-press to select the text and copy it. It is fine to select all and copy the whole page. The wizard on the next step will pull out what it needs.
10
Tap "Continue to console" at the bottom. You are done with this step.
iFirebase's free tier (Spark plan) is more than enough. You will not need to enter a credit card or pay anything.
Step 2 of 4 · Technical Setup
Paste your Firebase config.
This connects your Hearth & Habit to your private Firebase project. You can paste the full code snippet, or enter each field manually.
▶
Video walkthrough: Connecting your Firebase config
Coming soon. Follow the written steps below in the meantime.
Copy everything from the Firebase console and paste it above. The wizard reads it automatically.
iYour config is saved to this browser's local storage and to your Firebase project only. It never leaves your devices.
Step 3 of 4 · Technical Setup
Set up your Firestore database.
Firestore is the actual database inside Firebase that stores your habits, journal entries, meal plans, and everything else. After this you are done with the technical setup for good.
▶
Video walkthrough: Setting up Firestore
Coming soon. Follow the written steps below in the meantime.
1
Go back to the Firebase console and make sure you are inside your project (you should see your project name near the top left).
2
In the left sidebar, look for the word "Build". Click it to expand the section. A list of sub-items will appear beneath it.
If you do not see "Build," look for "All products" at the bottom of the sidebar and click that. You will see a full list of Firebase products, and "Firestore Database" will be in there. If the sidebar is completely collapsed (just icons), click the hamburger menu (three lines) at the top left to expand it.
3
Click "Firestore Database" from the expanded Build menu.
4
You will see a page with a "Create database" button. Click it.
5
Database ID: The first thing it asks is for a Database ID. It will show "(default)" already filled in. Do not change this. Leave it as "(default)."
6
Edition: You may see a choice between "Standard" and "Enterprise." Select "Standard." Standard is free. Enterprise is not.
7
Location: Pick the location closest to where you live. If you are in the US, us-east1, us-central1, or nam5 (United States) are all fine. If you are outside the US, pick the region closest to you. This cannot be changed later, but for a personal app it will not matter much. Click Next.
8
Security rules: You will see two options: "Start in production mode" and "Start in test mode." Pick either one. It does not matter because we are going to replace the rules in the next step. Click "Create".
9
Wait while Firebase creates the database. This usually takes 10 to 30 seconds. When it finishes, you will land on the Firestore Data tab showing an empty database.
10
Click the "Rules" tab at the top of the Firestore page (next to "Data," "Indexes," and "Extensions").
1
Go back to the Firebase console in your browser and make sure you are inside your project.
2
Tap the hamburger menu (three horizontal lines) in the top left corner of the page. This opens the navigation menu.
3
Scroll down in the menu and tap "Build" to expand it. Then tap "Firestore Database".
If you do not see "Build," look for "All products" or "See all build features" instead. The mobile menu groups things differently sometimes.
4
You will see a page with a "Create database" button. Tap it.
5
Database ID: The first thing it asks is for a Database ID. It will show "(default)" already filled in. Do not change this. Leave it as is.
6
Edition: If you see a choice between "Standard" and "Enterprise," select "Standard." Standard is free. Enterprise is not.
7
Location: Pick the location closest to where you live. If you are in the US, us-east1, us-central1, or nam5 (United States) all work. Tap Next.
8
Security rules: You will see two options: "Start in production mode" and "Start in test mode." Pick either one. We are going to replace the rules anyway. Tap "Create".
9
Wait for it to finish creating (10 to 30 seconds). You will land on the Firestore Data tab showing an empty database.
One more thing: Enable Authentication
This protects your database so only your app can read and write data. Without this, anyone who found your Firebase config could access your information. It takes about 30 seconds.
1
In the left sidebar, click "Build" again to expand it (if it's collapsed), then click "Authentication".
2
Click the "Get started" button.
3
You will see a list of sign-in providers (Google, Email/Password, Phone, etc.). Scroll down to the "Anonymous" option at the bottom of the list. Click on it.
4
On the next screen, flip the "Enable" toggle to on. Click "Save".
5
That's it. Your app will now automatically sign in behind the scenes. No login screen, no accounts to create. It just verifies the request is coming from your app before allowing access.
1
Tap the hamburger menu (three lines) in the top left. Under "Build", tap "Authentication".
2
Tap the "Get started" button.
3
You will see a list of sign-in providers. Scroll to the bottom and tap "Anonymous".
4
Flip the "Enable" toggle to on. Tap "Save".
5
Done. Your app handles everything else automatically. No login screen, no passwords.
Now set the security rules
Go back to Firestore Database (sidebar or menu), click the "Rules" tab, delete everything, and paste these rules. Then click "Publish".
iAfter you publish these rules, Firebase will show a yellow warning banner that says your rules are "public." You can ignore this. The warning does not account for the request.auth != null check, which blocks anyone who is not signed in through your app. Your data is protected.
Firestore Security Rules
rules_version = '2';
service cloud.firestore {
match /databases/{database}/documents {
match /{document=**} {
allow read, write: if request.auth != null;
}
}
}
iThese rules allow read/write access only for authenticated sessions. Because you enabled Anonymous Authentication, your app signs in automatically behind the scenes. Anyone who does not have your app open cannot access your data.
Step 1 of 3 · Personalize
Who's using this?
Hearth & Habit is built for one person or two. Each person gets their own hub with habits, journal, and routines. If you're using this solo, just toggle off partner mode.
This shows in the navigation bar. Leave blank to keep the default.
Partner Mode
Add a second person with their own hub, habits, and journal.
Step 2 of 3 · Personalize
Where are you?
Your location powers the weather widget and moon phase on the home screen. Search for your city or use GPS. This is stored privately in your Firebase project.
Step 3 of 3 · Personalize
Make it yours.
Pick your colors, choose a background, and decide which pages and sections you want active. Everything here can be changed later in Settings.
Accent Color
Background
Pages
Sections within pages
Expand any page above to toggle individual sections, or customize these later in Settings.
Optional
Password protect your space.
If you share a device or want an extra layer of privacy, you can set a password. This is optional and can be added later.
Enable Password
Require a password to access the app.
This encrypts locally. There is no password recovery, so pick something you'll remember.
Optional
How I actually use this.
I built Hearth & Habit for myself before I built it for anyone else. Here are the features I come back to every single day and a few ways to get the most out of them. Tap any card to expand it.
Today's Three Things
▾
Every morning, I pick three things. Not a to-do list. Three actual things I want to get done today. Some days it's "respond to that email, go for a walk, and cook dinner." Some days it's bigger. The point is that when you keep the list to three, you actually finish it. And finishing your list builds trust with yourself. That's the whole philosophy in practice.
"Kept promises build self-trust, even the small ones."
The Habit Bingo Board
▾
Your personal hub has a habit bingo board that resets weekly. I keep mine stocked with the basics: water, meds, movement, journaling, skin care, and a few things that shift week to week. The board isn't about perfection. It's about visibility. You can see at a glance how you're showing up for yourself this week, without any streaks to break or guilt to carry.
"You can customize every habit in your hub's settings."
The Journal
▾
Each hub has a journal with rotating prompts, or you can just free-write. I use it at night mostly, as part of my closing duties. Some entries are two sentences. Some are a full page. The prompts rotate so you're never stuck staring at a blank page, but there's always a free-write option when you need to just get something out of your head and onto a screen.
"The journal prompts adapt based on the ones you've already answered."
Closing Duties
▾
This one changed my mornings. Closing duties are your end-of-day checklist: kitchen counters wiped, coffee prepped, bag packed, whatever makes tomorrow's version of you walk into a clean start. Mine includes setting out clothes, prepping the coffee maker, and doing a 5-minute tidy. When you close out the day intentionally, you wake up calmer. It's protection for future-you.
"Your closing duties checklist lives in your personal hub."
Meal Planning
▾
The meal planner is built for people who actually cook, not people who meal-prep 47 containers on Sunday. You get a weekly plan with real recipes, nutrition info, swap options, and prep sessions that tell you what to do ahead of time so weeknight cooking is faster. It tracks macros if you want, but it's not obsessive about it. It also generates your grocery list automatically.
"Swap any meal with one tap. The nutrition and grocery list update automatically."
Relationship Prompts
▾
If you're in partner mode, the "Us" page has weekly relationship prompts and monthly challenges. These aren't cheesy couple quizzes. They're real questions designed to keep you and your person actually talking to each other instead of just coexisting. We also keep our restaurant wish list, travel bucket list, and gift wishlists in there. It's the shared brain for your relationship.
"The 'Us' page is where your shared life lives. Restaurants, travel, wishlists, all of it."
You did it
You're ready.
Here's a summary of what you set up. You can change any of this later in the Settings page.
When you click launch, this wizard will save everything and take you to your home screen. Welcome home.