Skip to content

guid3d/splt

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

127 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

White SPLT Logo Black SPLT Logo

SPLT

Open-source bill splitting β€” no account required.

Next.js PocketBase TypeScript License: MIT


Overview

SPLT is a mobile-first web app for splitting bills within a group. Share a link, add expenses, and let SPLT calculate who owes what β€” no sign-up, no friction.

Features

  • No login required β€” share a group link with friends and start splitting immediately
  • Mobile-first design β€” clean, minimalistic UI built for phones
  • Flexible splitting β€” split by equal shares, custom amounts, or custom parts
  • Debt summarization β€” automatically calculates net debts across all transactions
  • Payment methods β€” members can store preferred payment details (e.g. bank, IBAN) so others know how to pay them back
  • Dark / light mode β€” follows system preference

Development Setup

Prerequisites

Steps

  1. Clone the repo

    git clone https://github.com/guid3d/splt.git
    cd splt
  2. Install dependencies

    npm install
  3. Add PocketBase binary

    Download the PocketBase executable for your OS and place it at db/pocketbase.

  4. Start both servers

    ./dev.sh
    Service URL
    Next.js http://localhost:3000
    PocketBase http://127.0.0.1:8090
    Admin UI http://127.0.0.1:8090/_/

    Press Ctrl+C to stop both. Alternatively, run them separately:

    npm run dev          # Next.js
    ./db/pocketbase serve  # PocketBase
  5. Import the database schema

    • Open the PocketBase Admin UI and create an admin account.
    • Go to Settings β†’ Import collections.
    • Load db/pb_schema.json.
  6. Open the app at http://localhost:3000

Deployment

Service Recommended Host
Next.js Vercel
PocketBase PocketHost

Set the PocketBase URL in your environment:

NEXT_PUBLIC_POCKETBASE_URL=https://your-instance.pockethost.io

Roadmap

In Progress

  • Advanced bill splitting modes
  • Loading indicators on async actions
  • Passcode-protected groups
  • Currency selection
  • Per-person expense summary page
  • IBAN masking
  • Error handling when data fails to load

Future

  • i18n / localization
  • Optional authentication
  • Bill photo upload with auto-extraction
  • Email notifications
  • Dockerfile for self-hosting
  • Bank name lookup from IBAN

Done

  • Create and edit transactions
  • Split by equal shares, parts, or fixed amounts
  • Participant contrast colors on selection
  • Preferred payment method per participant
  • Single-command dev setup (dev.sh)

Contributing

PRs welcome. Open an issue first for significant changes.

License

MIT

Contributors