Skip to content
Trades & construction

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.

What actually goes wrong

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.

What we have built

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.

How we build 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.