Skip to content
A-000 · Cover

Every 2×10
accounted for.

Describe your build once. 2by draws the framing plans, checks the spans, and writes the cut list and shopping list, and keeps every one of them in sync when the design changes.

0'-3-1/2"8'-8-1/4"0'-6-3/4"8'-5"5'-1"3'-5-1/2"0'-3-1/2"9'-6-1/2"8'-6-3/4"4'-2"4'-2"7'-4-3/4"0'-3-1/2"27'-2" OVERALL34'-7" OVERALL12" × 12" PERIMETER BAND42" PAD24" PAD28" PADP1P2P3P4P5P6P7P8P9P14P10P11P12BACK 2-2x10HDR 2-LVL-11.875RIM-W 1-2x10HDR-E 2-LVL-11.875STAIR-HDR 2-2x10WALL-TRACK 2-2x10INNER-TRACK 2-LVL-11.875RIM-E1 1-2x10RIM-E2 1-2x10RIM-S1 1-2x10RIM-S2 1-2x10STAIR DN 14R/13T
Project
Freestanding Timber Loft
Sheet
A-000
Rev
r28 · NTS
A-001 · The design always changes

The design always changes.

2by started with one real loft design. While it was being drawn, a beam changed type, posts were added, a beam was deleted, the stair opening moved. Every change rippled through the parts list, and several changed it in more than one place.

The list was kept by hand, so it was re-counted by hand. Every time.

Parts list · loftkept by hand · 7 revisions
  1. was 3-ply 2×12 beam, now 2-ply LVL
  2. 22 pcs 2×8
  3. + 2 postsshorter spans, less money
  4. was interior beam, now deleted19 joists re-oriented
  5. was notched joint, now hung jointbeam re-routed
  6. was stair opening, now moved 6"header, landing, joist count
  7. was post, now 4×4new base hardware, new concrete detail
  8. was double 2×10 beam, now single rim joistcarries no load
  9. Summary: Every piece of lumber on the job is 2×10.

At one point the summary said every piece of lumber on the job was 2×10, while a line 40 lines above it listed 22 pieces of 2×8.

The design notes behind 2by, § 1

A parts list is a derived document.

Stop writing it by hand.

Keeping a derived document by hand guarantees drift. 2by keeps one model of the structure and derives the list from it, so the list and the design cannot disagree.

A-100 · How it works

One model. Every document.

You describe the building once, as a plain-text model. The drawings, the checks and the lists are all derived from it. Change one value and every one of them follows.

models/shop-loft.yamlexcerpt
joist_fields:  - id: CATWALK    label: Catwalk    section: 2x10    span_axis: x    bounds_x: [2-3/4", 9'-9-1/4"]    bounds_y: [12, 34'-4-1/4"]    framing: drop    hung_at: [WALL-TRACK]    cantilever_ft: { INNER-TRACK: 2 }    spacing_in: 16    hanger: LUS210    bears_on: [WALL-TRACK, INNER-TRACK]    blocking: true    phase: p2

Line 596, the model’s own comment: # was 2x8; INNER-TRACK drops a full 2x10 so the deck stays level

  • Plan

    2×10 @ 16" o.c.

    catwalk joists, labelled from the model

    was 2×8 @ 16" o.c.

  • Elevations

    9¼" deep

    joist depth, drawn to size

    was 7¼" deep

  • Isometric

    150 solids

    painter-sorted, redrawn

  • 3D view

    85 pieces

    members in the model

    was 87 pieces

  • Sheets

    14 sheet types

    S-6, S-7, S-8 re-issued

  • Findings

    0 errors

    bending 67% · L/1020

    was 2 errors · bending 93% · L/496

    • Joist field CATWALK bears on members whose tops differ by 0'-2".
    • LUS210 does not fit CATWALK joists hung at WALL-TRACK
  • Cut list

    85 sticks

    catwalk: 25 × 2×10

    was 87 sticks · catwalk: 8 × 2×10 + 19 × 2×8

  • Shopping list

    38 lines

    lumber order: 21 rows

    was 41 lines · lumber order: 25 rows

  • Hardware

    17 × LUS210

    catwalk: hangers fit the joist

    was catwalk: hangers do not fit the joist

  • Build log

    38 tasks

    re-derived, in build order

    was 40 tasks

Line 596: section 2×8 → 2×10. Both versions derived by the tool: bending 93% → 67%, deflection L/496 → L/1020, errors 2 → 0. It computes and flags; a person approves.

S-201 · 3D model

One model. Every view.

The 3D view is not a separate model. It is drawn from the same solids as the framing plan and the cut list for the Freestanding Timber Loft (r28), so it cannot show a building the drawings don’t.

3D viewOrbit the frame

Orbit, snap to views, export to glTF.

The 3D view draws the same 150 solids the plan, the iso and the cut list come from. There is no second model to keep in step.

Solids
150
Footprint
27'-2" × 34'-7"

Section planesCut through it

Slice anywhere to see how it goes together.

A cutting plane sweeps through the loft. The members it passes through light up, so you can see what bears on what: joists on beams, beams on posts.

Posts
13
Beams
11
Joists
38
A
Section A cuts slab · BACK · HDR · NORTH-E · CATWALK · NORTH-W

ExplodeTake it apart in build order

See every member in the order it’s built.

The layers lift apart from the top down and settle back from the bottom up: footings, posts, floor and deck. The order is the one the drawings use.

FOOTINGS
4
POSTS
13
FLOOR
19
DECK
4
  1. 00 FOOTINGS
  2. 01 POSTS
  3. 02 FLOOR
  4. 03 DECK

MeasureMeasure between real corners

Measure anything, snapped to real geometry.

Pick two points and each one snaps to a member corner. Here it is the clear span between posts P6 and P7: 13'-0-1/2".

From
P6 · 6x6
To
P7 · 6x6
Clear
13'-0-1/2"
13'-0-1/2"
13'-0-1/2" clear, post P6 to post P7

DrawingsThe same model, drawn flat

Plans, elevations and isometric views, drawn from the same model.

Look straight down and the model becomes the framing plan: the same members, the same ids, the same revision. Change the model and every view redraws.

Model
Freestanding Timber Loft
Revision
r28
S-301 · It checks the structure

It checks the structure.

Every beam and joist field is checked for bending and deflection under the loads in the model: 50 psf live, 10 psf dead. Every post base is checked against its catalogue rating. A check that is close to its limit is flagged, not rounded away.

Span checks
9
Errors
0
Warnings
1
Notes
40
Worst bendingBeam · BACK

Back beam

2-ply 2x10

Span
8'-11-3/4" (worst of 3)
Load
277 plf
Bending
98% of allowable
Deflection
0.15" · L/737
WatchBending 98%
Governing deflectionBeam · HDR

LVL header (drop beam)

2-ply LVL-11.875

Span
13'-6" (worst of 2)
Load
433 plf + INNER-TRACK
Bending
48% of allowable
Deflection
0.32" · L/513
PassDeflection L/513
JoistsJoist field · LANDING

Stair landing

2x10 @ 16" o.c.

Span
9'-7-3/4"
Load
83 plf
Bending
68% of allowable
Deflection
0.12" · L/987
PassDeflection L/987
BeamBeam · WALL-TRACK

Catwalk wall track

2-ply 2x10

Span
8'-6-3/4" (worst of 3)
Load
277 plf
Bending
89% of allowable
Deflection
0.12" · L/850
PassBending 89%
Fixed in the modelPost base · P6

P6 carried more than its base was rated for. The next revision fixed it.

  1. r25ABA66Z · 12,673 lb on a base rated 11,415 lb
    Fail111% of rating
  2. r26ABU66Z · 12,673 lb on a base rated 18,205 lb
    Pass70% of rating

Both rows are the saved model files for r25 and r26, run through today’s checks. The load did not change; the part did.

Still open at r28Warning · stair

Stair: open risers leave 7-1/2" between treads, enough to pass a 4" sphere.

Flagged for review. The model marks it deliberate on a shop stair. 13 riser boards close the gap if the loft becomes living space.

Warn1 open warning

Cited to the printed page

Lumber design values and connector ratings are cited to the published tables they came from. A value is marked verified only after someone has read it on the printed page. At r28: 6 of 6 connector types this model relies on are marked verified, and 11 of 11 lumber entries.

  1. Boise CascadeVERSA-LAM Specifier Guidepp. 27–301 extract on file
  2. LPLegacy Premium Subflooring1 extract on file
  3. AWCNDS SupplementTable 4D Southern Pine1 extract on file
  4. Simpson Strong-TieWood Construction Connectors C-C-2026pp. 114–118, 158–164, 290–291, 299–3014 extracts on file
C-401 · Ready for the lumber yard

Cut lists nested to the lengths your yard stocks

The Freestanding Timber Loft cuts into 85 sticks across 10 cut-list rows. Every piece is packed onto a stock board, and the tool keeps whichever stock length buys the fewest total feet. The shopping list and the hardware schedule are counted from the same model, so they agree with the drawings.

NestingCut pieces packed onto stock boards, all drawn to one scale. Offcuts in amber. The nest adds no kerf allowance beyond the offcut.

2×10North Platform30 sticks10'-0" / 12'-0"waste 3%

  1. Stick 1 of 30, 12'-0" of 2×10: cuts 11'-9"; offcut 0'-3".
  2. Stick 18 of 30, 12'-0" of 2×10: cuts 9'-6-1/2" + 1'-2-1/2" + 1'-2-1/2"; offcut 0'-0-1/2".
  3. Stick 19 of 30, 12'-0" of 2×10: cuts 9'-6" + 1'-2-1/2" + 1'-2-1/2"; offcut 0'-1".
  4. Stick 23 of 30, 12'-0" of 2×10: cuts 9'-2-1/2" + 1'-2-1/2" + 1'-2-1/2"; offcut 0'-4-1/2".
  5. Stick 25 of 30, 12'-0" of 2×10: cuts 8'-11-3/4" + 1'-2-1/2" + 1'-2-1/2"; offcut 0'-7-1/4".
  6. Stick 28 of 30, 10'-0" of 2×10: cuts 8'-11-3/4"; offcut 1'-0-1/4".

+ 24 more sticks in this row

6×6North Platform6 sticks8'-0" / 10'-0"waste 8%

  1. Stick 1 of 6, 10'-0" of 6×6: cuts 8'-8-1/4"; offcut 1'-3-3/4".
  2. Stick 2 of 6, 10'-0" of 6×6: cuts 8'-8-1/4"; offcut 1'-3-3/4".
  3. Stick 3 of 6, 10'-0" of 6×6: cuts 8'-8-1/4"; offcut 1'-3-3/4".
  4. Stick 4 of 6, 8'-0" of 6×6: cuts 7'-11"; offcut 0'-1".
  5. Stick 5 of 6, 8'-0" of 6×6: cuts 7'-11"; offcut 0'-1".
  6. Stick 6 of 6, 8'-0" of 6×6: cuts 7'-11"; offcut 0'-1".

LVL-11.875North Platform2 sticks28'-0"waste 3%

  1. Stick 1 of 2, 28'-0" of LVL-11.875: cuts 13'-6" + 13'-6"; offcut 1'-0".
  2. Stick 2 of 2, 28'-0" of LVL-11.875: cuts 9'-9-1/4" + 9'-9-1/4" + 3'-10-3/4" + 3'-10-3/4"; offcut 0'-8".

2×4Stair1 stick8'-0"waste 59%

  1. Stick 1 of 1, 8'-0" of 2×4: cuts 3'-3"; offcut 4'-9".
Shopping listr28

Freestanding Timber LoftWhole job · 38 lines

Lumber & sheet goods13 lines

QuantityItem
8 pcs2×6 post, PT · 10'-0"
5 pcs6×6 post, PT · 8'-0"
6 pcs6×6 post, PT · 10'-0"
54 pcs2×10 · 12'-0"
3 pcs2×12 · 16'-0"
23 sheetsT&G subfloor · 3/4" × 4' × 8' sheet

+ 7 more lines

Hardware & fasteners21 lines

QuantityItem
28 ea1/2" × 6-1/2" through-bolt set
38 eaH2.5A
39 eaLUS210
156 eaSDWS FRAMING 0.160 x 3

+ 17 more lines

Concrete & rebar4 lines

QuantityItem
30 bagsConcrete, 80 lb bags (4,000 psi) · 16.3 cu ft + 10%
10 bagsConcrete, 80 lb bags (4,000 psi) · 5.4 cu ft + 10%

+ 2 more lines

38 linesUnit prices: yours to enter

Showing 12 of the 38 lines the tool prints for this model.

Hardware schedule

Each connector is picked from the hardware catalog for the member it carries and the load at that end. A part the catalog cannot rate is flagged, not guessed.

  • ABA66Zpost base10 eachrated 11,415 lb
  • ABA46Zpost base2 eachrated 10,500 lb
  • ABU66Zpost base1 eachrated 18,205 lb
  • HHUS410girder hanger1 eachrated 5,635 lb
  • LUS210joist hanger39 eachrated 1,335 lb
  • H2.5Aframing tie38 each
G-001 · The drawing set

33 sheets, printed from one model

The SHEETS button builds the whole set on letter paper: plans, elevations, details, schedules and the review notes. Every page is drawn from the same model as the screen, so a beam that changes on the plan changes on the cut list and the order list too.

Sheets
33
Sheet types
14
Post + footing
9

Shown: the Freestanding Timber Loft, r28. The set prints in English or Spanish. Pick a sheet from the index to bring it to the top.

Sheet S-1, Framing Plan, as the tool prints it
Sheet S-1Framing Planpage 2 of 33

Sheets in this set

G-002 · From plan to build

Every change is recorded. The task list follows.

The loft went through 5 saved revisions, r24 to r28. Each card is the saved model file, run through today’s checks and compared with the one before it. The build log is derived from the model in the order the building goes together, so when a revision adds a stair, the stair gets its own tasks.

Captions are quoted from the project’s engineering log.

  1. r24

    P13 deleted.

    Pieces
    74
    Tasks
    42
    Errors
    7
    Warnings
    0

    Earliest saved revision

    13 posts · 11 beams · 39 joists

  2. r25+1 day

    East and south posts pulled in to the rails.

    Pieces
    72 (−2)
    Tasks
    42
    Errors
    7
    Warnings
    3 (+3)

    Changed from r24

    • P4 moved (x)27'-2" → 27'-0-1/4"
    • P8 moved (x)27'-2" → 27'-0-1/4"
    • P11 moved (y)35'-0" → 34'-4-1/4"
    • P12 moved (y)35'-0" → 34'-4-1/4"
    • + 7 more changes
    • New 3 warnings · base-access (P1, P4, P11)
  3. r26+5 days

    Corner posts moved for base nailing.

    Pieces
    72
    Tasks
    36 (−6)
    Errors
    0 (−7)
    Warnings
    1 (−2)

    Changed from r25

    • P6 baseABA66Z → ABU66Z
    • P1 moved (x)0'-2-3/4" → 0'-6-1/4"
    • P4 moved (x)27'-0-1/4" → 26'-8-3/4"
    • BACK spans8'-11-3/4" · 8'-11-3/4" · 8'-10" → 8'-8-1/4" · 8'-11-3/4" · 8'-6-1/2"
    • Cleared 1 error · hw-capacity (P6)
    • Cleared 6 errors · ply-screw
    • Cleared 2 warnings · base-access (P1, P4)
  4. r27same day

    P11 off the south rail.

    Pieces
    72
    Tasks
    36
    Errors
    0
    Warnings
    0 (−1)

    Changed from r26

    • P11 moved (y)34'-4-1/4" → 34'-0-3/4"
    • WALL-TRACK spans8'-6-3/4" · 8'-4" · 7'-8-1/4" → 8'-6-3/4" · 8'-4" · 7'-4-3/4"
    • Cleared 1 warning · base-access (P11)
  5. r28same day

    The stair.

    Pieces
    85 (+13)
    Tasks
    38 (+2)
    Errors
    0
    Warnings
    1 (+1)

    Changed from r27

    • STAIR added14 risers on 3 2x12 stringers
    • New 1 warning · stair (STAIR)
G-003 · DIY or pro

One model for the owner-builder and the small crew.

Whether you are building your own shed or pricing a deck for a client, the plan, the checks and the lists all come from one description of the frame.

Owner-builders

Sheds · decks · lofts

Take a list you trust to the lumber yard.

Describe the frame once. 2by draws the plan, checks the spans, and writes the cut list and the shopping list from that same description, so a change to one joist changes every list.

  • Cut list by stock length, with the waste on each size
  • Shopping list grouped the way the yard quotes it
  • Span checks that flag a member before you buy it
Cut listGarden Shed 8x6 · r5
SizeStockSticksWaste
2×6Floor Frame10'-0" / 12'-0"74%
4×4Floor Frame8'-0"10%
2×4Walls and Roof8'-0" / 10'-0"4216%
2×6Walls and Roof8'-0" / 12'-0"910%
Total8 lines on the lumber order59

It computes and flags. Where your permit needs an engineer, an engineer still signs it.

Small contractors

Small wood-framed jobs

Quick takeoffs and shop drawings for small wood-framed jobs.

Price from the order list, print the set, and hand the crew sheets in the language they read. When the client moves a post, the next revision goes out with every sheet redrawn.

  • Print sets: 14 sheet types for the shop loft, S-0 to S-9
  • Revision and date in every title block: the shop loft is at r28
  • Spanish-language sheets for the crew, from the tool’s own label table
Sheet language
SHEET S-1
Framing Plan
REV r28
2026-09-11
LL 50 + DL 10 PSF
DERIVED FROM STRUCTURE.YAML · 1 SQUARE = 1'-0" · 24 PX/FT · DO NOT SCALE FROM PRINT · ALL DIMENSIONS CENTRE-TO-CENTRE
Sheet S-1 of the Freestanding Timber Loft, as the tool prints it. Only the sheet’s own words change: member IDs and dimensions stay as drawn, and review-note text stays in English.Sheet titles in the Spanish setS-1Plano de EstructuraS-2IsométricoS-F1Trazado de ZapatasS-F2Tabla de Zapatas y Notas de ColadoS-3Notas de Revisión
G-004 · Model gallery
G-005 · Early access

Try it on your next build.

Still being built. Try the demo today; get early access when accounts open.

No account needed. The demo runs in your browser.

Project
2by
Status
Still being built
Demo
Open now
Accounts
Opening soon
Demo models
Shop Loft · Tiered Deck · Garden Shed