Software for contractors, built by people who have shipped it
Job costing and invoicing, drywall takeoff, compliance close-out, and field capture that works with no signal. Four systems in this trade, and we wrote all four.
Six problems the generic package does not solve
None of these are exotic. They are the ordinary shape of contracting work, and they are where off-the-shelf software stops being able to help.
The invoice is a retyping exercise
Hours arrive on paper or by text. Supplier bills arrive by email and get matched to jobs from memory. Somebody then retypes all of it, and the margin on the job is a guess until the month closes. An invoice should be a query over work already recorded, not a document a person assembles from three piles.
Progress billing, holdback and a cap
Cost plus, fixed price, and time and materials with a cap are three different money models, and most packages understand one of them properly. Builders lien holdback is not something you bolt on afterwards either - it changes what is billable, and when.
Tax that depends on what the work touched
In BC, work on real property is taxed differently from a straight sale of goods, and getting it wrong is not a rounding error. Software that treats tax as one rate per invoice will be wrong on a meaningful share of them.
Certifications and permits that expire
A ticket that lapsed last week, a permit that expires mid-job, a close-out nobody can sign because a document is missing. These are gates rather than reminders: the system should refuse the action and say exactly which rule stopped it.
Takeoff measured off a drawing
Quantities come off a plan before anything is priced. When takeoff lives in one tool and estimating in another, the numbers drift the moment a drawing is revised, and nobody notices until the job is under way.
A phone with no signal
Basements, mechanical rooms, sites before the service is live. Anything that needs a connection in order to record work will eventually lose work. It has to capture on the device and reconcile when a signal returns, without a person deciding what to keep.
Four systems in this trade you can open right now
These are our own builds rather than client engagements, which means we can show you the whole thing - including the parts a client would never let us publish.
- Read the case studyConduitElectrical contracting
The invoice that writes itself out of work already recorded
Job costing and invoicing for an electrical contractor. Quotes become jobs, the crew logs hours against them, supplier bills get allocated to them, and the invoice assembles itself from whatever has not been billed yet. Built for British Columbia, down to the tax rule most software gets wrong.
- Read the case studySnaplineConstruction software
Read the plans once, and let the same number pay the crew
A drywall subcontractor reads the plans once. The same quantities price the bid, bill the general contractor, and pay the crew on Friday - with no re-entry at any step, because every downstream row points back at the takeoff that produced it.
- Read the case studyClearanceConstruction compliance
A compliance engine that can be asked what will be true next month
Asbestos abatement in British Columbia is governed by dates: licence expiry, worker certificates, notice windows measured in hours. Clearance is a working prototype of the workflow layer that tracks them - built to test the idea, not to sell it.
- Read the case studyDigiCoyoteField operations
An inspection app that does not care whether you have signal
A working field inspection app you can try yourself. Turn your wifi off, keep recording - photos, GPS, checklists - then reconnect and watch the queue empty. Built by us, running live, and open to anyone who wants to test the claim rather than take our word for it.
What you get, and what you keep
A contractor who cannot leave a software vendor has a second problem on top of the first one.
- Your data model, not a rented one - the schema matches how you actually bill
- Code in your repositories and infrastructure in your accounts from day one
- Rules that gate an action live in configuration, not scattered through the schema
- Offline-first wherever the work happens away from a desk
- A fixed-price discovery before any build commitment, so you see the number first
Not in the trades? The same approach applies wherever the work has rules a generic package will not encode - see the rest of our work.
Ready to build something that lasts?
Tell us what you are trying to ship. We will tell you how we would approach it - scope, stack, and timeline - before you commit to anything.
