Colorado Drywall Supply
A Denver drywall supplier's site: a full materials catalogue, two branch pages, and online credit and employment applications for the contractors who buy from it.

What they came with
A drywall yard answers two rooms at once. A commercial estimator is looking for shaftwall liner, fire-rated board and ceiling grid by name; a residential builder mainly wants to know the yard stocks it and can put a boom truck on the job. Buying on account then asks for the things a web form usually ducks: trade references, a tax exempt certificate, officer details and a signature that holds. The site had to carry the catalogue, two branches and that paperwork in one place.
What the build had to do
A catalogue built for recognition
Each material group pairs a photograph taken in the yard with the line items listed by trade name, from QuietRock Sound Board to vinyl-covered Durasan wallboard and shaftwall liner panels. The hard part was keeping it a reference an estimator can scan rather than a shop, since nothing here is bought online.
Two branches on one page
Contact is tabbed by branch, and each tab carries its own form, address, hours and map. The template had to accept a branch whose hours read as opening soon, so the layout could not assume every field is populated the same way.
A credit application that branches
The credit form asks for business details, banking and up to three trade references, then splits down one of two paths depending on whether the applicant is a sole ownership or partnership or a corporation, with room for three officers and an upload for a tax exempt certificate. Every branch has to stay valid on its own, because the applicant only ever sees one of them.
Names on the enquiry route
Below the branch tabs sits a directory of people with the product line each one owns: acoustical ceilings, stucco, sales and safety, general management, each with a direct address. An enquiry about ceiling grid can reach the person who orders ceiling grid instead of a shared inbox.
Press and social in one column
The Media page runs a Divi blog grid of dated press items above a live Instagram feed with a load-more control. Two sources with different update rhythms sit in one column, so the page still reads as current when only one of them has moved.
Technical detail
Form state, signatures and the honeypot
The credit application posts over AJAX to admin-ajax.php with client-side validation first, so a long branching form is checked before anything leaves the browser. Signature capture is a separate field type bound to each agreement and drawn on its own canvas, so the two agreements on the credit form are signed independently, and the submission boundary carries both reCAPTCHA and a hidden verification field.
Per-page CSS, compiled and stamped
Divi compiles a unified stylesheet per page id with a version stamp in the query string, so the home page and the catalogue each fetch their own file. nginx serves the document with a short max-age plus must-revalidate and a Vary on cookie. Layout edits invalidate the stamped file rather than the whole cache, which keeps the builder editable without a deploy step.
The billing boundary sits outside
Pay My Bill leaves the site for the Suppli customer portal, so statements, balances and card data never enter WordPress and the payment surface stays out of scope. Onboarding data does pass through the site, which is why the application form carries file upload handling, TLS and a bot check at its own edge.
The stack
Platform
Forms and data
Front end
Integrations
- Sector
- Building materials distribution
- Audience
- Commercial and residential contractors
- Shape
- Catalogue, branches, applications
- Platform
- WordPress, Divi, Formidable Pro



Something like this to build?
Tell us what runs today and where it hurts. An engineer reads it and replies.