What DeckForge checks — and what it doesn’t.
Every check below is read straight out of the rule engine when this page is built. Nothing here is written by hand, so nothing here can outlive the check it describes. Each one lists the code section it cites and, beside it, the edge it does not reach.
Advisories are counted separately on purpose. They are notes about cost and crew time, and folding them into the code total would inflate how much code checking actually happens.
Structure
9 checksWhether the joists can span from the house to the beam at the size, spacing and species chosen.
Does not cover: Tabulated at 40 psf live + 10 psf dead, No. 2 grade. It does not size joists for snow, a hot tub, a roof, or any other concentrated load — those escalate the project out of prescriptive scope instead.
Whether the joist overhang past the beam is within the fraction of back-span the tables allow.
Does not cover: Checks the overhang length only. It does not check uplift at the inboard end, or a cantilever carrying a guard post, a stair, or a concentrated load.
Whether the beam can carry its tributary load between posts at the size and ply count chosen.
Does not cover: Prescriptive tables only. Beams outside the tabulated sizes, spans or species get no verdict, and no engineered beam (LVL, steel, flitch) is modelled.
Whether the posts are within the maximum unbraced height for their size.
Does not cover: Height against a table, nothing more. It does not design bracing, check the post-to-beam connection capacity, or account for wind or seismic load on tall posts.
Whether the footing's bearing area is enough for the load it carries on the local presumptive soil.
Does not cover: Uses one presumptive soil bearing value for the jurisdiction. It is not a soils investigation: expansive soil, fill, a slope, or a high water table can all make a compliant footing wrong.
Whether the concrete footing is at least the 6-inch minimum thickness.
Does not cover: Thickness against the code minimum only. A footing carrying a heavy load on a large pad may need to be thicker than 6 inches to spread that load without cracking; that is a design check, not a minimum, and is not made here.
Whether the footing bears below the frost line recorded for the jurisdiction.
Does not cover: Compares against the frost depth in our jurisdiction data, which is a state or metro figure. Confirm the required depth with the building department — it is one of the most commonly amended local numbers.
Whether the outline is a shape the prescriptive framing model can actually frame and check.
Does not cover: This is the check that refuses rather than answers. Angled and curved edges are detected and stopped here; no framing is generated for them and no other check should be read as covering them.
Whether the joists are close enough together for the decking laid across them.
Does not cover: Assumes boards laid perpendicular to the joists; a diagonal lay needs closer joists and is not modelled. The composite limit is the typical manufacturer figure, not a code table — the product's own install guide governs and must be checked.
Ledger & attachment
3 checksWhether the ledger fastener type and spacing match the schedule for this deck's span.
Does not cover: Assumes a sound 2-inch nominal band joist on a wood-framed wall. It cannot check what the ledger is actually attached to — brick veneer, stucco, a cantilevered floor, or a rim that has rotted are all beyond it, and all require field verification.
Whether flashing has been recorded at the ledger.
Does not cover: It checks that you recorded flashing, not that it is correct. Lapping with the weather-resistive barrier, end dams and material compatibility are all field items no drawing can settle.
Whether a lateral load path has been recorded for a ledger-attached deck.
Does not cover: Presence, not capacity. Whether the hold-downs actually reach sound floor framing inside the house is a field verification, and the alternate bracing methods the code allows are not modelled.
Guards
3 checksWhether each open edge more than 30 inches above grade carries a guard, judged edge by edge from the corner heights.
Does not cover: Each edge is judged by the taller of its two recorded corners. On sloping ground the governing point may be a corner you have not measured, and a low spot between corners is not seen.
Whether the guard reaches the 36-inch minimum where one is required.
Does not cover: Height only. The guard post attachment that resists the load is not checked — that connection is a common failure point and is outside what DeckForge decides.
Whether the guard infill rejects a 4-inch sphere: baluster spacing under 4 inches, and some infill at all where a guard is required.
Does not cover: Checks even baluster spacing and the absence of infill only. Cable infill gets a warning to verify on site, because deflection under load cannot be measured from a drawing; glass, the triangular opening at a stair, and the gap under the bottom rail are not evaluated.
Stairs
9 checksWhether the rise actually built — the drop divided by the riser count — is within 7¾ inches.
Does not cover: Derived from the deck height, so it is only as good as that measurement. The code's ⅜-inch tolerance between the tallest and shortest riser is a built-work check no drawing can make.
Whether treads are at least 10 inches nosing to nosing.
Does not cover: Rectangular treads on a straight flight. Winders and their varying depth are not modelled.
Whether the stairway is at least 36 inches wide.
Does not cover: Compares the recorded width. It does not subtract the projection of a handrail, which the code allows only up to 4½ inches.
Whether a stair of four or more risers has a handrail, at a height between 34 and 38 inches.
Does not cover: Presence and height. Graspability, continuity over the full flight, and the returns at each end are field items.
Whether a flight rising more than 30 inches has a guard of at least 34 inches on its open sides.
Does not cover: Height only, and only where the total rise is recorded. Guard post attachment is not checked.
Whether stair guard infill rejects the 4⅜-inch sphere allowed on stairs.
Does not cover: Raised as a warning, not a failure, because it reads the deck's baluster spacing — the stair guard may be built to a different spacing that nothing here records. The triangular opening formed by tread, riser and bottom rail is not checked.
Whether the opening under each tread rejects a 4-inch sphere, where risers are open.
Does not cover: Only runs on a stair recorded as having open risers. A stair built with open risers that nobody recorded is not caught — DeckForge cannot infer this from anything else in the design.
Whether a single flight climbs more than the 151 inches allowed between landings.
Does not cover: It can tell you a flight is too tall. It cannot lay out the intermediate landing that would fix it — that needs a designer.
Whether a landing at least 36 inches deep and as wide as the stair is recorded at the bottom of the flight.
Does not cover: An unrecorded landing is a warning rather than a failure on purpose: an existing patio or pad at the bottom often already qualifies, and DeckForge cannot see the ground there. Only a landing you have recorded as undersized is failed.
House & openings
4 checksWhether the deck leaves each recorded exterior door usable rather than framing across it.
Does not cover: Only doors you have recorded on the house wall. An opening not entered is an opening not checked, and the threshold-to-deck step down is not evaluated.
Whether a stair opening lands immediately in front of a door.
Does not cover: Plan geometry only, for recorded openings. Door swing direction is not modelled.
Whether a bay window or other projection interrupts the wall the ledger needs to attach to.
Does not cover: Flags the conflict; it does not design the fix. Framing around a projection, or converting that bay to freestanding support, is a design decision.
Whether a required guard would run across a recorded doorway.
Does not cover: A buildability warning, not a code verdict — it points at a conflict between two things that are each individually compliant. Resolving it is a layout decision.
Buildability
6 checksWhether beam splices land over a post rather than in a span.
Does not cover: A warning about layout, not a capacity check. DeckForge does not evaluate the strength of any splice, and a splice landing over a post is not thereby verified.
Whether the last deck board would be ripped to an awkwardly narrow strip.
Does not cover: Appearance and fastening practicality only. It has no bearing on compliance.
Whether enough uncut material remains behind the stair notches.
Does not cover: Cites the DCA6 guidance figure as a rule of thumb and is reported as a warning. It is not a stringer capacity calculation, and DeckForge does not size stringers.
Whether the cut plan wastes an unusual proportion of the stock purchased.
Does not cover: Cost signal only. It says nothing about whether the deck is compliant or buildable.
Whether the design calls for an unusually high number of footings for its size.
Does not cover: A cost and labour signal. Fewer footings is not automatically better, and reducing them changes beam spans that must then be re-checked.
Whether the cut list has proliferated into many one-off lengths.
Does not cover: Crew-time signal only, with no compliance meaning.
Local amendments
1 checkSurfaces the amendments recorded for this jurisdiction so they are read before submission.
Does not cover: It repeats what is in our jurisdiction data; it does not enforce it. Most places resolve to a state baseline with no municipal amendments recorded, and an amendment we do not hold is one you will not see here.
Not modelled at all
9 areasThese are genuine absences rather than partial implementations. Where a design strays into one, DeckForge is built to say so instead of returning a verdict.
How local is “local”
26 metro areas have their own recorded code edition, frost depth, soil bearing and amendments. Every other place resolves to its state baseline, which means local amendments for it are unknown to us. Every report says which of the two it used — a state baseline is never presented as local verification.