Skip to main content

Prerequisites

Before you start, make sure you have:
  • Android Studio installed (latest stable version recommended)
  • A Supabase account (sign up at supabase.com)
  • An Android device or emulator running API level 26 or higher

Get started

Follow these steps to run Divvy and create your first split expense.
1

Clone the repository

Clone the Divvy repository to your local machine:
git clone https://github.com/your-org/divvy.git
cd divvy
2

Configure Supabase credentials

Create a local.properties file in the project root and add your Supabase credentials:
SUPABASE_URL=https://xxxx.supabase.co
SUPABASE_ANON_KEY=eyJ...
Never commit local.properties to version control. This file contains your secret credentials.
These values are read by the build system and injected as build config fields:
app/build.gradle.kts
val localProperties = Properties().apply {
    val propsFile = rootProject.file("local.properties")
    if (propsFile.exists()) {
        propsFile.inputStream().use { load(it) }
    }
}
val supabaseUrl = localProperties.getProperty("SUPABASE_URL", "")
val supabaseAnonKey = localProperties.getProperty("SUPABASE_ANON_KEY", "")
3

Set up Supabase Auth

In your Supabase dashboard:
  1. Navigate to Authentication > Providers
  2. Enable Google as an authentication provider
  3. Add com.example.divvy://auth as a redirect URL
This redirect URL allows Supabase to redirect back to the Divvy app after authentication.
4

Open in Android Studio

Open the project root directory in Android Studio and wait for Gradle to sync:
  1. Click File > Open
  2. Select the divvy directory
  3. Wait for Gradle sync to complete
The first sync may take a few minutes as Gradle downloads dependencies.
5

Run the app

Run the app configuration:
  1. Select the app run configuration from the dropdown
  2. Choose your target device or emulator
  3. Click the Run button (or press Shift + F10)
The app will build and launch on your device. You’ll see the authentication screen.
6

Create an account

On the authentication screen:
  1. Tap Sign in with Google
  2. Choose your Google account
  3. Grant the requested permissions
After authentication, you’ll be redirected to the home screen.
7

Create your first group

Groups organize who you split expenses with:
  1. Tap the Groups tab in the bottom navigation
  2. Tap the + button in the top right
  3. Enter a group name (e.g., “Roommates”)
  4. Select an icon for your group
  5. Search for and add members by email
  6. Tap Create Group
Members you add will receive an invitation to join the group.
8

Split your first expense

Now create your first expense split:
  1. From the home screen, tap Add Expense
  2. Select the group you just created
  3. Enter the merchant name (e.g., “Whole Foods”)
  4. Enter the total amount
  5. Choose a split method:
    • Equal: Split evenly among all members
    • By item: Scan a receipt to assign items
    • By percentage: Custom percentage split
    • By amount: Specify exact amounts
  6. Tap Create to save the expense
The expense will appear in your group’s ledger, and balances will update automatically.

What’s next?

Now that you’ve created your first expense split, you can:
  • Scan receipts: Use the camera to scan receipts and automatically extract items
  • View balances: Check the ledger to see who owes whom
  • Settle up: Mark expenses as paid when you collect from group members
  • Track history: View all past expenses in your groups
For detailed development setup including database schema and API integrations, see the installation guide.

Build docs developers (and LLMs) love