Xpense is a Next.js + PWA app that helps groups of people track shared expenses, similar to Splitwise.
Built with Firebase for authentication, real-time database, and push notifications.
- 🔑 Authentication – Secure login via Firebase Auth
- 👥 Groups – Create and join groups with friends or teammates
- 💸 Expenses – Add expenses with details (who paid, how to split)
- ⚖️ Balances – Track how much each member owes or is owed
- ✅ Settlements – Record payments to settle balances
- 🔔 Push Notifications – Stay updated on group activity in real-time
- 📱 Progressive Web App – Installable, offline support, and background sync
- Next.js – React framework with SSR & API routes
- Firebase – Auth, Firestore, Messaging, Functions
- Tailwind CSS – Utility-first styling
- PWA – Installable app with offline capabilities
git clone https://github.com/akshaysaambram-isowhiz/xpense.git
cd xpensenpm install
# or
yarn install- Create a Firebase project at Firebase Console.
- Enable Auth, Firestore, and Cloud Messaging.
- Add your Firebase config to
.env.local:
NEXT_PUBLIC_FIREBASE_API_KEY=xxxx
NEXT_PUBLIC_FIREBASE_AUTH_DOMAIN=xxxx
NEXT_PUBLIC_FIREBASE_PROJECT_ID=xxxx
NEXT_PUBLIC_FIREBASE_STORAGE_BUCKET=xxxx
NEXT_PUBLIC_FIREBASE_MESSAGING_SENDER_ID=xxxx
NEXT_PUBLIC_FIREBASE_APP_ID=xxxx
NEXT_PUBLIC_FIREBASE_MEASUREMENT_ID=xxxxnpm run devOpen http://localhost:3000 🚀
Contributions are welcome!
Please open an issue or submit a pull request.
MIT License © 2025 [Your Name]