Final Year Project
A Progressive Web Application for group expense management, bill splitting, and payment settlement — built for the Irish and European market.
Scroll to explore
The Problem
Existing expense-splitting tools are built primarily for the American market, focusing on Venmo while ignoring SEPA bank transfers and Revolut — the dominant payment methods in Ireland and across the EU.
Split-Sync was designed specifically for European users: full SEPA bank transfer support with IBAN validation across 30+ country formats, Revolut deep links, PayPal integration, and a privacy-preserving contact discovery system that never uploads phone numbers to a server.
Built as a Progressive Web App, it installs on any device without App Store approval, works offline, and delivers a native-quality experience on both mobile and desktop.
"If this wasn't a school project, it would have been my go-to app. It is very nice."
— Evaluation participant, April 2026See It In Action
Core Features
Equal, percentage, exact amounts, and shares-based splitting with real-time validation.
Firestore listeners push balance updates to all group members instantly — no refresh needed.
Greedy two-pointer algorithm minimises transactions to n−1, reducing a 6-transaction group to 3.
PayPal, Revolut, and SEPA bank transfer with full IBAN validation for 30+ European countries.
WebAuthn fingerprint and Face ID authentication. IBAN encrypted with AES-GCM before storage.
Google Cloud Vision API extracts merchant name, total, and date from receipt photos automatically.
SHA-256 phone hashing allows finding friends on the platform without uploading contacts to a server.
Recharts-powered spending trends, category breakdowns, and settlement history per group.
In-app Claude-powered chat assistant via Firebase Cloud Function with secured API key.
Technology
Quality Assurance
A robust testing infrastructure built with Jest and React Testing Library, covering utility functions, Zustand stores, React hooks, and full component trees with Firebase and Router mocked at every level.
Integrations
User Evaluation
"If this wasn't a school project, it would have been my go-to app. It is very nice."
— Evaluation participant"Payments with Google Pay and Apple Pay will be nice to have. I wish it will be available in the app store."
— Evaluation participant"I wanted the place where I could see all my friends I have connected with or those using Split-Sync."
— Evaluation participant