Internal build: Our own product, built and run by our team.
SendSlip: Estimates and invoices for solo tradespeople
Our own app for tradespeople: build an estimate on the job, share a link the client can sign and pay, and turn it into an invoice, even offline.
- Category
- Estimates and invoices for solo tradespeople
- Stack
- Flutter, Laravel 13, React 19, Stripe Connect, QuickBooks Online
- automated server tests running in CI
- ~300
- platforms: iOS, Android and web
- 3

Project Goals
A plumber or electrician quoting from a van needs to write an estimate in a few minutes, add photos, and get a yes before driving away. Afterwards come change orders, invoices, deposits and chasing late payment, usually across three different apps and a notebook.
The Result
SendSlip runs as a Flutter app on iOS and Android, as a web app, and on a Laravel server. Jobs carry line items with tax, discounts, deposits, before and after photos, and change orders that record what moved and why. Clients open a signed share link to view, sign, accept and pay through Stripe, and the shop is the merchant of record. Reminders go out on a schedule, repeat jobs generate themselves, and paid invoices can export to QuickBooks Online. The phone keeps working without signal and syncs through an outbox. The server has about 300 automated tests and runs in CI. It's built and tested but hasn't launched yet. Payments are in test mode.




