Skip to content
Er-prince-kumarPublic

About

Split the bill. Not the friendship. ⚡ 3D fintech web app with 1-tap UPI payments, smart WhatsApp nudges & real-time squad expense splitting.

Topics

Resources

Stars

0 stars

Watchers

1 watching

Forks

Repository files navigation

⚡ SplitPay — Split the bill. Not the friendship.

The 3D Fintech Web Application Built for Campus Roommates, Travel Squads, and Hostel Groups.


React Vite Three.js TailwindCSS UPI Powered Razorpay Secured License


🌟 Live Demo • 🚀 Try the Live Sandbox • 📲 WhatsApp Auto-Nudge • 👨‍💻 Author


📌 Table of Contents


🌟 Overview

SplitPay is a high-performance, interactive 3D fintech web application engineered to eliminate the awkwardness of chasing friends for money. Whether it is splitting a ₹6,000 Manali road trip, ordering late-night hostel pizza, dividing the apartment flat Wi-Fi bill, or booking fest tickets — SplitPay turns chaotic group expenses into seamless, 1-tap UPI payments.

Built with React 19, Three.js, TailwindCSS v4, and synthesized Web Audio API sound design, SplitPay delivers a gamified, ultra-responsive financial interface tailored specifically for modern campus culture and group travel.


🚫 The Problem We Solve

The Campus Reality 😫 The SplitPay Solution ⚡
"Bhai baad me deta hoon" (I'll pay later): Debts get forgotten, leaving one person broke after every group trip. One-Tap UPI Deep Links: Direct upi:// links open PhonePe/GPay with the exact amount prefilled.
Awkward Follow-ups: Nobody likes begging friends to clear pending payments in group chats. Automated WhatsApp Nudges: 4 psychological tones (Polite, Fun Meme, Standard, Urgent) sent in one click.
Math Clutter: Screenshots of Excel sheets and confusing bill calculations. Dynamic Live Ledger: Automatic per-person math, custom splits, and instant Paid/Pending tracking.
Payment Insecurity: Worrying about whether transfers went through or got lost. Razorpay Vault Standard: 256-bit encryption compliance and celebratory confetti on settlement.

🚀 Key Features

1. 🏔️ Interactive Trip Splitter & Squad Ledger

  • Dynamic Group Bill Management: Enter trip name (e.g., Manali Snow Trip 2026), total amount, host details, and squad members.
  • Auto-Equal Split Engine: Dynamically recalculates everyone's exact share as members join or leave.
  • Instant Status Toggle: Switch members between Paid and Pending with instant ledger updates.
  • Confetti Victory: Trigger full-screen celebratory confetti when all members have cleared their shares!
  • Local Persistence: Save and reload trips seamlessly using local browser storage.

2. 📲 Smart WhatsApp Auto-Nudge Engine

  • Tone Customization Engine:
    • 🟢 Standard: Direct, professional breakdown with UPI payment link.
    • 🤝 Friendly: Warm, polite reminder expressing gratitude for the fun trip.
    • 😂 Fun / Meme: Lighthearted banter ("You ate the food, now SplitPay wants the fund!").
    • ⏰ Urgent: Firm notice for pending group settlements.
  • Instant Phone Formatting: Automatically validates and prefixes phone numbers (handles 10-digit Indian numbers, stripping special characters and applying +91 international standard).
  • Direct wa.me Linking: Dispatches customized payment notices directly to WhatsApp Web or mobile app without requiring contact saving.

3. 💳 1-Tap UPI & Razorpay Security Vault

  • Direct UPI Intent: Generates instant deep links compatible with Google Pay, PhonePe, Paytm, and BHIM UPI.
  • Instant QR Code Generation: Display dynamic QR codes for in-person instant scans.
  • Razorpay Security Vault: Built following Razorpay's trusted enterprise payment gateway standards with 256-bit SSL encryption, RBI compliance, and zero hidden platform charges.

4. ⚡ Interactive 3D Live Sandbox

  • Real-time interactive playground allowing users to test bill splitting on the fly.
  • Sliders for custom tip percentages (0%, 5%, 10%, 15%), GST calculation toggles, and live per-head math visualization.

5. 🌌 Three.js Particle Mesh & Web Audio Engine

  • Three.js Interactive Canvas: Floating starry particle nebula that dynamically reacts to mouse movements and gyroscope tilt.
  • Synthesized Web Audio: Zero-latency procedural audio cues generated on-the-fly:
    • 🔔 UPI Success Chime (Harmonic two-tone uplifting chime).
    • 🖱️ Haptic Click (High-frequency snappy micro-interaction).
    • 🎴 Card Resonance (Subtle acoustic feedback on 3D hover).

6. 🍱 Asymmetric 3D Bento Features Grid

  • Smart Bill Scanner Simulator: Preview AI OCR receipt scanning from camera snapshots or UPI screenshot uploads.
  • Escalating Reminders: Preview automated gentle nudges progressing to assertive alerts.
  • Preset Trip Templates: Instant one-click expense presets for popular destinations (Goa Beach Shack, Manali Mountain Retreat, Lonavala Weekend).

7. 🎟️ Campus VIP Waitlist & Auth System

  • Campus VIP Program: Gamified early-access waitlist with live count tracking for college student ambassadors.
  • Persistent User Session: Instant login/signup modal supporting host profile customization, custom avatars, and persistent UPI IDs.

🛠️ Tech Stack

Category Technology Description
Frontend Framework React 19 Next-generation React with optimized concurrency and rendering
Build Tool Vite 8 Blazing fast sub-second HMR and optimized production bundling
Styling TailwindCSS v4 Modern CSS utility framework with custom design tokens
3D Graphics Three.js Interactive WebGL canvas rendering dynamic particle nebula
Audio Engine Web Audio API Procedural zero-latency UPI chimes and micro-interaction sounds
Icons Lucide React Clean, lightweight SVG icon system
Animation & Visuals Canvas Confetti High-performance canvas particle bursts for completed settlements
Typography Space Grotesk, Inter, JetBrains Mono Curated fonts for fintech clarity and numerical readability

📂 Architecture & Folder Structure

SplitPay/
├── public/
│   ├── favicon.svg                         # SplitPay lightning bolt branding
│   └── icons.svg                           # SVG vector icons
├── src/
│   ├── components/
│   │   └── splitpay/
│   │       ├── AuthModal.jsx               # User authentication & UPI profile modal
│   │       ├── FeaturesGrid.jsx            # Bento grid showcase (AI scan, presets)
│   │       ├── Footer.jsx                  # Footer links & copyright
│   │       ├── Hero3D.jsx                  # 3D gyroscopic bill card & headline
│   │       ├── HowItWorks3D.jsx            # 3-step breakdown with interactive cards
│   │       ├── LiveSandbox.jsx             # Real-time bill splitting sandbox
│   │       ├── Navbar.jsx                  # Glassmorphism top navigation bar
│   │       ├── ProblemSection.jsx          # The 3 campus awkward payment problems
│   │       ├── ThreeScene.jsx              # Three.js 3D background particle mesh
│   │       ├── TripSplitterSection.jsx     # Full trip squad ledger & WhatsApp dispatcher
│   │       ├── TrustRazorpay.jsx           # Razorpay security vault guarantee
│   │       └── WaitlistSection.jsx         # Campus VIP early access waitlist
│   ├── utils/
│   │   ├── audio.js                        # Synthesized Web Audio API sound manager
│   │   └── whatsapp.js                     # WhatsApp message builder & phone sanitizer
│   ├── App.jsx                             # Primary application orchestrator
│   ├── main.jsx                            # React 19 root mount
│   └── index.css                           # TailwindCSS styling & design tokens
├── index.html                              # SplitPay SEO metadata & Google Fonts
├── package.json                            # App dependencies & npm scripts
├── vite.config.js                          # Vite configuration
└── README.md                               # Project documentation

💻 Getting Started

Follow these steps to run SplitPay locally on your development machine:

Prerequisites

1. Clone the repository

git clone https://github.com/Er-prince-kumar/SplitPay.git
cd SplitPay

2. Install dependencies

npm install

3. Launch the development server

npm run dev

Navigate to http://localhost:5173/ in your browser to experience SplitPay live!

4. Build for production

npm run build

To preview the production build locally:

npm run preview

⚙️ Configuration & WhatsApp Integration

Phone Number Formatting

SplitPay automatically handles phone numbers via src/utils/whatsapp.js:

  • Standard 10-digit Indian numbers (9876543210) are automatically sanitized to international format (919876543210).
  • Supports direct WhatsApp Web and native mobile app dispatch through the official https://wa.me/ protocol.

UPI Payment URI Standard

UPI links follow the NPCI specification:

upi://pay?pa={hostUpi}&pn={hostName}&am={amount}&tn={tripName}&cu=INR

This enables zero-fee, 1-tap redirection to PhonePe, Google Pay, Paytm, and BHIM.


👨‍💻 Author & Contact

Prince Kumar


📄 License

This project is licensed under the MIT License — you are free to inspect, fork, and build upon this project for educational and open-source purposes.

Engineered with ⚡ by Prince Kumar | Split the bill. Not the friendship.

About

Split the bill. Not the friendship. ⚡ 3D fintech web app with 1-tap UPI payments, smart WhatsApp nudges & real-time squad expense splitting.

Topics

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages