Case Study

BuiltUp.io

We are the product, design, engineering and marketing team behind BuiltUp, construction estimating software for UK contractors. It covers the web app, the iOS and Android apps, the client and subcontractor portals, a browser extension, the marketing site and the Instagram account. We ship to all of them every month.

Product Strategy Brand & UI Design Web App iOS & Android Marketing Website Social & Graphic Design Ongoing Engineering
Scroll
The Brief

Price the job properly, on the document the client actually sent.

BuiltUp is for UK contractors with between three and a hundred people. The person using it prices somebody else's document by Friday: an owner-estimator at a groundworks firm, a contract manager working through a client's schedule of works with an empty rate column, a QS at a firm too small for a takeoff department. Their real competitor isn't another app. It's Excel, a rate card in a second spreadsheet and a free evening.

So the product had to do one hard thing well. Take drawings, site photos or the client's own spreadsheet, and turn them into a priced document built from the contractor's own rates. It had to be readable line by line, and honest about which lines it wasn't sure of. Everything after that point, from quotes and contracts to portals, invoices and the evidence pack if a job goes wrong, runs off the same numbers.

The builtup.io homepage open on a laptop in a site office, beside a hard hat, rolled drawings and a tape measure
ClientBuiltUp.ioConstruction estimating software, built for the UK
EngagementDec 2025 → nowA retained product team, shipping every month
What we run7 productsWeb app, mobile app, two portals, extension, admin, marketing site
Platform commits776To the core platform alone, plus 155 to the marketing site
The Challenge

Estimators don't trust software that guesses. If the number is wrong, they pay for it, not the software company. The product had to earn that trust one line at a time.

What We Built

One set of numbers, seven places to use them.

BuiltUp is a single platform, not a collection of apps. The estimator prices a job at their desk. The site manager changes it on their phone. The client accepts the quote in their portal. The subcontractor sees their package in theirs. It's the same job and the same figures everywhere, so nothing gets typed in twice between the estimate and the final account.

  • For the contractorWeb app for takeoff, estimating, quotes, programme, invoicing and RAMS, plus native iOS and Android apps for the job site
  • For their clients and subcontractorsA client portal for quotes, contracts, finishes, changes and invoices, and a separate portal for subcontractor packages
  • For growthA browser extension that clips merchant prices into the catalogue, the marketing site and the social channels
Web App

Takeoff, AI estimating, quotes, contracts, programme, purchase orders, invoicing, RAMS and evidence packs

iOS & Android

The same jobs and rate book, in the van

Client Portal

Accept, sign, choose finishes, pay

Subcontractor Portal

Packages, tasks and messages

BuiltClip

Chrome, Firefox and Safari extension

builtup.io

Marketing site, guides, changelog

01 — Brand & Design System

A brand built to be read outdoors, on a phone, in one hand.

BuiltUp gets used on scaffolding and in vans as much as at desks. So the design system started from measurable rules, not mood boards: contrast ratios that hold up in daylight, tap targets sized for work gloves, and type that never drops below a readable size. The brand sits on top of that, and one mark, palette and typeface carries across every product.

  • Wordmark v2 & app iconOutlined Plus Jakarta Sans and a three-building mark that holds up as a 16px favicon and on a home screen
  • Colour with a job to doBright orange for graphics only. A deeper orange carries any text, so every button and label passes WCAG AA
  • 48px tap targets, 17px body textBuilt into the design tokens, so no page can quietly ship something smaller
  • Dark mode, designed on purposeAvailable in the apps where it helps at dusk, and deliberately left off the marketing site until it's been designed and tested properly
BuiltUp brand board: orange app icon, the BuiltUp wordmark, five colour swatches with hex values, and a Plus Jakarta Sans type specimen
02 — The Estimating Engine

Their spreadsheet goes in. Their spreadsheet comes back, priced.

Work reaches a contractor in three forms: a set of drawings, a walk-round with a phone, or the client's own schedule of works. We built all three into one pricing engine on OpenAI's models, with strict rules around it. It prices from the contractor's own materials and labour roles. It grades every measurement. And when a line can't be priced, it leaves it blank with a reason instead of inventing a number.

  • Takeoff from drawings or site photosPDF, DXF and image uploads. Every measurement is graded HIGH, MEDIUM or LOW, so estimators only check the handful it's unsure about
  • The client's workbook, handed backOnly the rate, total and comment cells are written. Their sections, item numbers, formulas and layout stay exactly as they were, and the original is kept untouched
  • Schedules of rates for term contractsPriced against the contractor's imported rate library, with their agreed uplift or discount. Any code that fails to verify is dropped
  • Supplier price lists from a PDFMerchant price lists are read row by row, each with a confidence grade. Nothing is imported until a person confirms it
Next.js TypeScript Fastify Prisma PostgreSQL OpenAI API Stripe
A 33-item washroom refurbishment schedule of works: the client's file as received beside the BuiltUp-priced copy, with section subtotals, a £47,950 job total and item 19 left unpriced because it needs further information
The Design Principle

The whole category competes on speed and completeness. We built BuiltUp to be candid instead: it refuses rather than guesses, and it shows where every price came from.

03 — Measured, Not Claimed

We scored the estimator against real tenders, then kept fixing it.

Two contractors gave us schedules they had already priced and submitted to clients: a commercial washroom refurbishment and a salon fit-out. We turned both into an end-to-end test that runs the entire system and scores it against what each firm actually charged. Every fix below came out of that test, and both jobs now run permanently, so accuracy can't quietly slip back.

  • The document is the scopeIf a client's schedule says "isolate and leave safe", it no longer gets eight days of electrician added from a national table
  • Single numbers, not rangesProductivity rates became fixed figures, so the same job priced twice gives the same answer
  • What estimators pay, not what trades chargeNational labour rates now default to the lower quartile. Against one London contractor's own rate card, the median had run about 30% high
  • Every price says where it came fromEvery line is marked by source: the contractor's own catalogue, a named merchant, or a judgement. Totals show how much of the price is judged, in pounds rather than line counts
240% → 100–112%

Washroom refurbishment, as a share of the price the contractor actually submitted, on their own rates and catalogue

6% median

Line-by-line error on the salon fit-out

65 of 69

Salon items within 25%

~8 → ~6 min

To hand back a 33-item schedule

55% of the price

Sat on 48 of 103 judged lines. Now it's visible

04 — iOS & Android

The estimate goes where the job is.

Most pricing happens at nine at night because the tool lives on a desk. The BuiltUp apps carry the same jobs, rate book and numbers, so a change made standing in a client's kitchen is the change the office sees. Version 1.2.0 closed the gap between phone and desk.

  • Edit an estimate by saying it"Two plumbers over three days instead of one." The app shows the plan with the money against each line, and changes nothing until it's approved
  • Change the days, see what followsChange a trade's duration and every time-based line (skips, welfare, scaffolding) appears with its cost, each one a tick box
  • One job, one numberWe found the phone defaulting preliminaries to 17% while the web app used 8%. Now both use the same figure
  • Takeoffs, photos and dictation on sitePhotograph the condition, dictate what needs doing, and both land on the project instead of the camera roll
React Native Expo TypeScript
Three BuiltUp phone screens: the projects pipeline, a Kentish Town rear kitchen extension worth £71,753.37 with an accepted quote, and trades with day rates
05 — Portals, Extension & Integrations

Tools that reach past the contractor's own team.

An estimate only matters once someone else accepts it. So we built the contractor's clients and subcontractors their own views of the same job, and gave estimators a quick way to add real merchant prices to their catalogue as they browse.

  • Client portalTimeline, contracts with e-signature, the estimate, invoices, finish selections, changes and messages
  • Subcontractor portalEach sub sees their own package, tasks and messages, and nothing else
  • BuiltClip browser extensionClip a product from a merchant's site straight into the catalogue with its supplier, cost, unit and category. Built for Chrome, Firefox and Safari
  • Dispute Shield evidence packsCorrespondence, changes, contracts, photos and attendance, copied and fingerprinted into a PDF or ZIP, with a report of what's missing
The BuiltClip extension open on a Wickes product page, clipping solid oak flooring into the catalogue with supplier, £79.20 cost, unit and category
builtup.io on desktop and mobile: 'Construction estimating software that doesn't stop at the estimate.'
06 — Marketing Website

A site that sells with evidence, not adjectives.

We rebuilt builtup.io from a written positioning and messaging deck. It defines who the product is for, which objections each page has to answer, and a list of banned claims. We took out the star rating and testimonials that nobody could verify. What replaced them is harder to fake: real product screenshots, stated limits, a dated changelog and one real priced job, described exactly.

  • Nine nav items down to three, six CTA labels down to oneProduct, Pricing and Resources, with a single "Start free" button
  • Pages for each tradeMain contractors, QSs, electricians, plumbers, fit-out and more, plus dedicated pages for pricing a schedule of works and comparing BuiltUp with alternatives
  • Accessibility, measuredText colours with checked contrast ratios, visible focus states, reduced-motion support and 48px tap targets across the site
  • Built to keep growingGuides, changelog, roadmap and help centre, with correct canonicals, sitemap and robots.txt from day one
Next.js 16 React 19 Tailwind CSS Framer Motion
Visit builtup.io →
Three slices of the full builtup.io homepage: hero and trade segments, the priced-schedule proof and platform diagram, the mobile apps band and pricing
A phone showing the builtup.io mobile site beside a printed 'Measured, not claimed' social post, a tape measure, pencil and work gloves
The Marketing Engine

Every product release turns into content. Every figure in it is checked before anything gets designed.

07 — Social Media & Graphic Design

Instagram that construction people actually stop scrolling for.

We design, write and schedule @builtupio. The September 2026 launch pack covered mobile version 1.2.0 and the estimator improvements: two five-slide carousels, a single post, a story and a 15-second reel. They're plain-spoken and on-brand, and every number was checked against the release notes.

  • Carousels built around the storyOne idea per slide: the feature, what it looks like, why it matters, then a clear call to action
  • Reels and storiesA 15-second reel cut to land on the end card at ten seconds, plus a story with a poll: "Would you trust an AI estimate?"
  • Captions and hashtags written for the tradeUK construction, estimating and QS vocabulary, never "revolutionise" or "game-changer"
  • Posted in step with releasesOfficial App Store and Google Play badges. Call-to-action slides wait until both app stores have approved the build
The 15-second launch reel: "An estimate is a document somebody signs."
A contractor in a hi-vis jacket holding a phone on site, showing the BuiltUp 1.2.0 carousel cover
Designed for the feed it shows up in: bold type that reads on a phone held on site.
The September 2026 @builtupio launch pack: two five-slide carousels, a single post and a story
08 — What We Keep Doing

Launch was the beginning of the work.

BuiltUp is an ongoing engagement, not a finished project. We run it as the in-house product team would: dated releases, public release notes that say what broke and why, and a clear line from customer feedback to shipped code. There were 133 commits to the platform between 1 August and mid-September 2026 alone.

  • Versioned releasesWeb releases numbered by month (2026.08.x, 2026.09.x), mobile releases through App Store and Google Play review, and a public changelog and roadmap
  • Real tenders as regression testsEvery change to the estimator is scored against real submitted prices before release
  • Monitoring & analyticsSentry for errors and PostHog for product usage, both feeding the next sprint
  • Marketing that keeps paceSite copy, guides and social content updated with each release, so the marketing never promises something the product doesn't do
Dec 2025 → today

First commit to the platform, through AI takeoffs in April, schedules of rates in July, mobile 1.2.0 in September, and onwards

Hosting

Vercel, PostgreSQL, S3 storage

Billing

Stripe plans, trials and seats

Monitoring

Sentry errors, PostHog usage

Changelog

Public, dated, including what broke

Measured on real jobs, and still improving.

100–112%
Of a real submitted tender price, down from 240%
6%
Median line error on a real salon fit-out
65 / 69
Salon line items priced within 25%
~6 min
To price a 33-item schedule, down from ~8

These figures come from two real tenders submitted by two different contractors, and both jobs are now permanent tests. They're measurements on those jobs, not a benchmark or a guaranteed accuracy rate. BuiltUp publishes them in its own changelog on the same terms.

Next Project

Mount St Projects