SplitZen is the smartest and simplest way to track shared expenses, manage bills effortlessly, and settle up with ease. Never worry about who owes what, whether you're living with roommates, traveling with friends, or managing family expenses.
- Dashboard: Get a comprehensive view of your total balances, what you owe, and what is owed to you.
- Groups: Create groups for trips, apartments, or events to keep related expenses organized.
- Expense Tracking: Easily add expenses, select who paid, and split costs evenly, by percentages, or by exact amounts.
- Settlements: Record payments and settle debts easily.
- Real-time Sync: Powered by Convex, all your expenses and balances update in real-time across all your devices.
- Secure Authentication: Seamless login and user management with Clerk.
- Framework: Next.js 15 (App Router)
- Language: TypeScript / JavaScript
- Styling: Tailwind CSS v4
- Authentication: Clerk
- Database & Backend: Convex (Serverless Real-time Backend)
- Background Jobs: Inngest
- Emails: Resend
Ensure you have Node.js installed.
-
Clone the repository:
git clone https://github.com/PriyanshV10/SplitZen.git cd splitr -
Install dependencies:
npm install
-
Set up Environment Variables: Create a
.env.localfile.NEXT_PUBLIC_CLERK_PUBLISHABLE_KEY=... CLERK_SECRET_KEY=... NEXT_PUBLIC_CLERK_SIGN_IN_URL=/sign-in NEXT_PUBLIC_CLERK_SIGN_UP_URL=/sign-up NEXT_PUBLIC_CONVEX_URL=... INNGEST_EVENT_KEY=... INNGEST_SIGNING_KEY=... RESEND_API_KEY=...
-
Run the development servers: Start the frontend:
npm run dev
Start Convex (backend):
npx convex dev
Start Inngest (background jobs):
npx inngest-cli@latest dev
For an in-depth dive into how SplitZen is built and deployed, please check out the complete documentation in the docs/ folder:
- 🏗 Architecture & Tech Stack: Deep dive into the project structure and frameworks used.
- ⚙️ Getting Started & Setup: Extended setup guide and deployment instructions.
- 📊 Database Schema: Complete details of the Convex database design.
- ✨ Features Overview: Full breakdown of every capability in the app.
Made with ❤️ by Priyansh
