One purchase, different shares.

An equal split does not always fit a shopping trip. ShareTally lets each person enter and confirm their own amount, or claim whole items and fractions of an item. Invite friends with a group link and keep the bills and balances together.

ShareTally desktop group page with bills, current balance, and repayment suggestions
The local app with sample data for Alice, Bob, and Carol.

From receipt to shared bill.

  1. 01

    Add the purchase

    Enter amounts manually, or upload a receipt to extract its items.

  2. 02

    Review and claim

    Review the extracted receipt before publishing. Each person claims items or confirms their share.

  3. 03

    Settle up

    Check balances and repayment suggestions once the bill is complete. Record a repayment after transferring money outside the app.

Azure Document Intelligence extracts receipt data. An OpenAI-compatible API helps turn receipt abbreviations into clearer item names. The review step lets you check the result before it becomes a bill for the group.

Repayments need both sides.

Recording a repayment does not immediately change the balance. The recipient confirms that the money arrived first. Completed bills are final, and confirmed repayments update what the group owes.

ShareTally tracks expenses and repayments. It does not move money. The current app supports CAD and groups of up to 16 people.
ShareTally mobile view showing group bills and balances using sample data
The same group on mobile, using sample data.

Behind the app.

The frontend uses React, TypeScript, Vite, and TanStack Query. Express handles the API, with PostgreSQL and Drizzle ORM for storage. Clerk provides Google sign-in. Docker Compose, Nginx, and Drone CI handle deployment.

Explore the implementationopens in a new tab