An original Swift Pieces remix inspired by tricount. Screenshots © Tricount SA, for reference only; not affiliated. Terms
Split Bills: a Swift Pieces remix in SwiftUI, inspired by tricount
A shared expenses app in six screens, in the Swift Pieces look, in light and dark. Expenses, balances and photos are peers behind a floating dock, each with a designed header whose + opens the add sheet: the weekend's total rolling in over expenses you swipe, what you're owed with settling up asked once in a sheet and who paid as house-colour blocks, and the weekend's photos as a collage over a grid you hold and drag across to pick a run of them. A sync row leads to expenses kept on the phone while offline, under a notice that says so once: the app's inline error state. Adding an expense is a sheet with the amount first, receipts in a tray that loads each one, the payer on a chip rail and parts you scrub; its currency is a push inside the sheet with a live conversion. Signal red marks the primary action; actions are pills, cards 24, tiles 16. Built from Screen Header, Odometer, Swipe Action Row, Confirm Sheet, Color Block List, Photo Mosaic, Drag Select Grid, Attachment Tray, Amount Field, Form Field, Filter Rail, Scrub Stepper, Commit Button, Search Field and Live Stat.
- Swipe an expense to archive or flag it
- Switch to Balances in the dock and settle up
- In Photos, hold a photo and drag across the grid
- Open the sync row to see what waits offline
- Tap +, add a receipt, then scrub the parts
- Open Currency and pick one
- Tabs: Each tab keeps its own place, so switching back returns you where you were.
- Push: The next screen slides in from the trailing edge; back slides it away.
- Sheet: The sheet rises over the screen, rests at its detents and follows your drag to dismiss.
- Type: The field focuses, shows its keyboard type and reacts as you type.
- Tap: A tap acts on release, so dragging off cancels it.
- Hold: Progress fills while you hold; letting go early rewinds it.
- Drag: It tracks 1:1 under your finger and settles with a spring when released.
- Select: The selection moves between options instead of blinking.
- Swipe: It follows your finger, then commits or springs home based on distance and speed.
- Scrub: Values change continuously under your finger, with a tick at each step.
- Press: The control dips while your finger is down and springs back on release.
- Loading: The control shows progress in place, then resolves to success or an error.
- Spring: Motion overshoots slightly and settles, the way physical things do.
- Haptic: A short tap of vibration confirms the moment something happens.