Where every project starts
The feasibility study — where every Autotelic project starts
What a feasibility study is, what it should include, and how Autotelic runs one today for an ADU, a remodel, a new build, a commercial tenant finish, or a venue.
live
A feasibility study answers one question before anyone commits real money: can this project actually happen, on this site, for something close to this budget? Done well, it checks the zoning and code constraints that could block a project outright, sizes what is realistically buildable, and gives a cost range grounded in the site's specific conditions rather than a generic average. Skipping it doesn't remove the risk; it just moves the same questions later in the process, where a wrong assumption costs a redesign, a change order, or a permit rejection instead of an afternoon of research.
Historically that meant a site visit, measurements, a zoning lookup, and a written report days or weeks later. The information itself — lot size, setbacks, zoning district, code requirements — has always existed in public records; the slow part was always someone finding it, cross-referencing it by hand, and writing it up.
For an ADU, Autotelic runs a public tool that does that lookup live: enter an address, and it resolves the building envelope from municipal zoning data, runs a gated feasibility study against it, and opens a floor-plan playground to explore what actually fits. When the tool can't verify something — a parcel it doesn't recognize, a jurisdiction it hasn't been taught, a district it can't confirm — it says so plainly instead of guessing, and that answer is cached so a second look at the same address doesn't wait on a fresh lookup.
For a home remodel, the instant estimate wizard doubles as the feasibility door — it verifies the property and grounds the range in the same catalog and code data described on the estimate side. Every other project type — a new build, a commercial tenant finish, or a venue and hospitality project — starts the same way every feasibility study always has: a scoped consult, then a site meeting, then a concept and a feasibility retainer set up in the client portal. That is a real, live path today; a fully self-serve feasibility tool for every project type is on the roadmap, not a claim made here.
Whichever door applies — an ADU, a home remodel, a new build, a commercial tenant finish or a venue — feasibility is the first stop, because every one of those project types needs the same question answered first: does this actually work, here, before anyone designs or prices anything.
What it does
- The ADU lot tool resolves a building envelope from municipal zoning data for a given address.
- It runs a gated feasibility study against that envelope and opens a floor-plan playground to explore what fits.
- Every lookup returns one of four honest outcomes — resolved, or one of three specific refusals — never a guess.
- A verified result is cached for 24 hours; a miss is cached for 5 minutes, so a retry doesn't wait as long.
- A home remodel's feasibility door is the instant estimate wizard itself, verified against the property.
- Every other project type routes to a scoped consult, then a site meeting, then a concept and feasibility retainer in the portal.
What it sees
{
"request": {},
"status": 200,
"response": {
"success": true,
"data": {
"status": "resolved",
"districtCode": "E-SU-DX",
"district": {
"label": "Urban Edge Single-Unit Dx",
"bulkPlane": {
"startHeightFt": 10,
"angleDeg": 45,
"sides": [
"side_interior"
],
"label": "side-interior",
"cite": "DZC §13.1.4.2"
},
"maxHeightFt": 30,
"setbacks": {
"frontFt": 20,
"frontBasis": "block_default",
"frontNote": "Front setback here is block-contextual (DZC §13.1.5.9): shown is the 20 ft code default that applies when qualifying reference lots are absent. Blocks with established homes may require matching their existing fronts.",
"sideFt": 5,
"rearFt": 12,
"sideCornerFt": 5,
"frontStatus": "default"
},
"adu": {
"allowed": true,
"maxSqft": 1000,
"verified": false,
"note": "GFA of the ADU use: 864 sf on zone lots ≤7,000 sf, 1,000 sf above — DZC §11.8.2.1.B.2. Building footprint: 864 sf/unit on zone lots ≤7,000 sf, 1,000 sf/unit above — DZC Table §4.3.4.5.A. Permitted by right under Denver's 2024 ADU reform for this district; confirm specifics with a hand-checked review.",
"rearSetbackFt": 5,
"rearLabel": "no-alley DADU rear default",
"rearBasis": "no_alley_default",
"setbackNote": "DADU form rear is 5 ft, the no-alley default (DZC §4.3.4) — not the Urban House 12 ft primary rear. 0 ft is the alley-access rear rule only when an alley is known to abut and garage doors do not face it.",
"rearSource": "dzc_no_alley_default",
"rearCitation": "DZC §4.3.4",
"alleyAbutsRear": null,
"maxHeightFt": 24,
"maxStories": 2,
"form": "detached_adu",
"formLabel": "Detached ADU",
"footprintRule": {
"lotAreaThresholdSqft": 7000,
"maxSqftAtOrBelow": 864,
"maxSqftAbove": 1000
},
"gfa": {
"applicable": true,
"maxSqft": 1000,
"lotAreaThresholdSqft": 7000,
"maxSqftAtOrBelow": 864,
"maxSqftAbove": 1000,
"label": "GFA of the ADU use",
"cite": "DZC §11.8.2.1.B.2",
"line": "GFA of the ADU use: 864 sf on zone lots ≤7,000 sf, 1,000 sf above — DZC §11.8.2.1.B.2."
},
"footprint": {
"maxSqft": 1000,
"lotAreaThresholdSqft": 7000,
"maxSqftAtOrBelow": 864,
"maxSqftAbove": 1000,
"maxStories": 2,
"maxHeightFt": 24,
"label": "Building footprint",
"cite": "DZC Table §4.3.4.5.A",
"line": "Building footprint: 864 sf/unit on zone lots ≤7,000 sf, 1,000 sf/unit above — DZC Table §4.3.4.5.A."
},
"heightMaxFt": 24
},
"lotCoverageMaxPct": 45,
"capReference": "grade_at_point",
"provenance": {
"source": "denver_zoning_code via Autotelic corpus",
"confidence": "medium",
"pulled": "2026-09-08",
"districtConfidence": "high",
"fields": {
"district": "verified",
"frontSetback": "default",
"lotArea": "verified"
}
}
},
"lot": {
"areaSqft": 7500,
"source": "assessor",
"note": "Lot area from the Denver official parcel record (assessor). Width × depth is a rectangle derived so it equals recorded area — not a surveyed lot.",
"widthFt": 86,
"depthFt": 87.2,
"dimsEstimated": true,
"areaStatus": "verified"
},
"buildings": [
{
"kind": "primary",
"type": "Residential",
"heightFt": 13,
"stories": null,
"source": "denver_building_outlines",
"note": "Denver official building outline (ODC_PROP_BUILDINGOUTLINES_A). Height is GIS BLDG_HEIGH, not a permit.",
"ring": [
[
36.8,
66.4
],
[
16.4,
66.1
],
[
16.3,
73.9
],
[
16.2,
75.1
],
[
2.7,
74.9
],
[
3.2,
43.4
],
[
18.9,
43.7
],
[
21.6,
43.8
],
[
23.9,
43.8
],
[
23.8,
49.5
],
[
37.3,
49.7
],
[
37.5,
37.9
],
[
41.3,
38
],
[
47.5,
38.1
],
[
51.4,
38.1
],
[
51,
63.7
],
[
51,
66.7
],
[
36.8,
66.4
]
],
"bbox": {
"x0": 2.7,
"z0": 37.9,
"widthFt": 48.8,
"depthFt": 37.2
}
},
{
"kind": "accessory",
"type": "Garage/Shed",
"heightFt": 17,
"stories": null,
"source": "denver_building_outlines",
"note": "Denver official building outline (ODC_PROP_BUILDINGOUTLINES_A). Height is GIS BLDG_HEIGH, not a permit.",
"ring": [
[
3,
123.6
],
[
2.7,
86.2
],
[
33.4,
85.9
],
[
33.7,
112.9
],
[
33.8,
123.3
],
[
29.9,
123.3
],
[
5.4,
123.6
],
[
3,
123.6
]
],
"bbox": {
"x0": 2.7,
"z0": 85.9,
"widthFt": 31.1,
"depthFt": 37.7
}
},
{
"kind": "accessory",
"type": "Garage/Shed",
"heightFt": 12,
"stories": null,
"source": "denver_building_outlines",
"note": "Denver official building outline (ODC_PROP_BUILDINGOUTLINES_A). Height is GIS BLDG_HEIGH, not a permit.",
"ring": [
[
70.9,
97.6
],
[
70.3,
97.6
],
[
70.4,
99.3
],
[
70.5,
103.7
],
[
70.6,
108.2
],
[
58.5,
108.5
],
[
58.5,
107.7
],
[
58.5,
105.4
],
[
58.4,
103.6
],
[
58.3,
99.1
],
[
58.3,
97.2
],
[
58,
83.8
],
[
58.5,
83.8
],
[
59.8,
83.8
],
[
59.8,
83.2
],
[
62.6,
83.1
],
[
85.7,
82.6
],
[
85.9,
92.3
],
[
86,
97.3
],
[
70.9,
97.6
]
],
"bbox": {
"x0": 58,
"z0": 82.6,
"widthFt": 28,
"depthFt": 25.8
}
}
],
"disclaimer": "Illustrative only — not a code determination or permit approval.",
"overlays": [],
"overlayStory": "none",
"overlayNote": "No verified zoning overlay at this address."
},
"message": "District resolved."
}
}{
"request": {},
"response": {
"success": true,
"data": {
"status": "refused_outside_denver",
"disclaimer": "Illustrative only — not a code determination or permit approval.",
"message": "That address is outside the Castle Rock–Boulder service area.",
"cta": {
"tel": "tel:+17202877958",
"path": "/estimate"
}
},
"message": "That address is outside the Castle Rock–Boulder service area."
}
}{
"district": "E-SU-DX",
"capSqft": 1000,
"capCite": "GFA of the ADU use: 864 sf on zone lots ≤7,000 sf, 1,000 sf above — DZC §11.8.2.1.B.2",
"heightFt": 16,
"loftNote": "Loft, not a second floor, at 16 ft: about 48 sq ft has 5 ft of headroom. It is not planned here; dormers in the study grow it.",
"totalsLine": "Total 528 sf of ≤ 1,000 sf",
"roomsShown": [
"Living 240 sf",
"Kitchen 108 sf",
"Bedroom 120 sf",
"Bath 60 sf"
],
"planSummary": {
"preset": "one_bed",
"floors": 1,
"totalSqft": 528
},
"sessionStore": {
"plan": {
"preset": "one_bed",
"floors": [
{
"level": "ground",
"rooms": [
{
"id": "ground-living-17",
"kind": "living",
"label": "Living",
"x": 0,
"y": 0,
"w": 10,
"d": 24
},
{
"id": "ground-kitchen-16",
"kind": "kitchen",
"label": "Kitchen",
"x": 10,
"y": 0,
"w": 12,
"d": 9
},
{
"id": "ground-bed-15",
"kind": "bed",
"label": "Bedroom",
"x": 10,
"y": 9,
"w": 12,
"d": 10
},
{
"id": "ground-bath-14",
"kind": "bath",
"label": "Bath",
"x": 10,
"y": 19,
"w": 12,
"d": 5
}
]
}
]
},
"outline": {
"widthFt": 22,
"depthFt": 24
},
"activeFloor": 0
}
}What it replaced
Old phase: Site Survey
We document what actually exists before we promise anything.
Today that walk-through starts as a lot resolve or a scoped consult — the ADU tool pulls the same site facts automatically for a Denver parcel, and every other project type still starts with a real site visit.
This is where /process/site-survey used to point.
Old phase: Scope of Work
Needs, budget, and opportunities aligned before a dollar is committed.
Today the scope conversation happens with Chloe or on the phone, and for remodels the instant-estimate wizard turns it into a live, catalog-grounded range instead of a written memo.
This is where /process/scope-of-work used to point.
Proof
- ADU lot resolve endpoint (server-side, cached)
- 90 City code facts gathered across 30 Denver-metro cities
- 97 Trade-knowledge pages published
- ADUliveThe lot tool: address to building envelope to a gated study to a floor-plan playground.
- Home remodelliveThe instant estimate: property-verified and catalog-grounded.
- New buildliveThe instant estimate (modular key) or a scoped consult.
- CommercialliveA scoped consult, then a site meeting, then a concept and feasibility retainer in the portal.
- VenueliveA scoped consult; rooms are bookable today.
The system layer
The system behind a feasibility study: how an address becomes a building envelope, a study, and a floor plan — or an honest refusal.
Topology
- Address resolver
- Muni knowledge (Node C)
- Building envelope engine
- Feasibility gate
- Floor-plan playground
- Resolve cache (24h verified, 5min miss)
- Instant estimate door
- Scoped consult intake
- Address resolver → Muni knowledge (Node C)
- Muni knowledge (Node C) → Building envelope engine
- Building envelope engine → Feasibility gate
- Feasibility gate → Floor-plan playground
- Address resolver → Resolve cache (24h verified, 5min miss)
The one-day clock
- 02:30 — Trade knowledge writes
- 03:00 — Citation checks
- every 15 minutes — Muni knowledge drain
One replay
{
"request": {},
"status": 200,
"response": {
"success": true,
"data": {
"status": "resolved",
"districtCode": "E-SU-DX",
"district": {
"label": "Urban Edge Single-Unit Dx",
"bulkPlane": {
"startHeightFt": 10,
"angleDeg": 45,
"sides": [
"side_interior"
],
"label": "side-interior",
"cite": "DZC §13.1.4.2"
},
"maxHeightFt": 30,
"setbacks": {
"frontFt": 20,
"frontBasis": "block_default",
"frontNote": "Front setback here is block-contextual (DZC §13.1.5.9): shown is the 20 ft code default that applies when qualifying reference lots are absent. Blocks with established homes may require matching their existing fronts.",
"sideFt": 5,
"rearFt": 12,
"sideCornerFt": 5,
"frontStatus": "default"
},
"adu": {
"allowed": true,
"maxSqft": 1000,
"verified": false,
"note": "GFA of the ADU use: 864 sf on zone lots ≤7,000 sf, 1,000 sf above — DZC §11.8.2.1.B.2. Building footprint: 864 sf/unit on zone lots ≤7,000 sf, 1,000 sf/unit above — DZC Table §4.3.4.5.A. Permitted by right under Denver's 2024 ADU reform for this district; confirm specifics with a hand-checked review.",
"rearSetbackFt": 5,
"rearLabel": "no-alley DADU rear default",
"rearBasis": "no_alley_default",
"setbackNote": "DADU form rear is 5 ft, the no-alley default (DZC §4.3.4) — not the Urban House 12 ft primary rear. 0 ft is the alley-access rear rule only when an alley is known to abut and garage doors do not face it.",
"rearSource": "dzc_no_alley_default",
"rearCitation": "DZC §4.3.4",
"alleyAbutsRear": null,
"maxHeightFt": 24,
"maxStories": 2,
"form": "detached_adu",
"formLabel": "Detached ADU",
"footprintRule": {
"lotAreaThresholdSqft": 7000,
"maxSqftAtOrBelow": 864,
"maxSqftAbove": 1000
},
"gfa": {
"applicable": true,
"maxSqft": 1000,
"lotAreaThresholdSqft": 7000,
"maxSqftAtOrBelow": 864,
"maxSqftAbove": 1000,
"label": "GFA of the ADU use",
"cite": "DZC §11.8.2.1.B.2",
"line": "GFA of the ADU use: 864 sf on zone lots ≤7,000 sf, 1,000 sf above — DZC §11.8.2.1.B.2."
},
"footprint": {
"maxSqft": 1000,
"lotAreaThresholdSqft": 7000,
"maxSqftAtOrBelow": 864,
"maxSqftAbove": 1000,
"maxStories": 2,
"maxHeightFt": 24,
"label": "Building footprint",
"cite": "DZC Table §4.3.4.5.A",
"line": "Building footprint: 864 sf/unit on zone lots ≤7,000 sf, 1,000 sf/unit above — DZC Table §4.3.4.5.A."
},
"heightMaxFt": 24
},
"lotCoverageMaxPct": 45,
"capReference": "grade_at_point",
"provenance": {
"source": "denver_zoning_code via Autotelic corpus",
"confidence": "medium",
"pulled": "2026-09-08",
"districtConfidence": "high",
"fields": {
"district": "verified",
"frontSetback": "default",
"lotArea": "verified"
}
}
},
"lot": {
"areaSqft": 7500,
"source": "assessor",
"note": "Lot area from the Denver official parcel record (assessor). Width × depth is a rectangle derived so it equals recorded area — not a surveyed lot.",
"widthFt": 86,
"depthFt": 87.2,
"dimsEstimated": true,
"areaStatus": "verified"
},
"buildings": [
{
"kind": "primary",
"type": "Residential",
"heightFt": 13,
"stories": null,
"source": "denver_building_outlines",
"note": "Denver official building outline (ODC_PROP_BUILDINGOUTLINES_A). Height is GIS BLDG_HEIGH, not a permit.",
"ring": [
[
36.8,
66.4
],
[
16.4,
66.1
],
[
16.3,
73.9
],
[
16.2,
75.1
],
[
2.7,
74.9
],
[
3.2,
43.4
],
[
18.9,
43.7
],
[
21.6,
43.8
],
[
23.9,
43.8
],
[
23.8,
49.5
],
[
37.3,
49.7
],
[
37.5,
37.9
],
[
41.3,
38
],
[
47.5,
38.1
],
[
51.4,
38.1
],
[
51,
63.7
],
[
51,
66.7
],
[
36.8,
66.4
]
],
"bbox": {
"x0": 2.7,
"z0": 37.9,
"widthFt": 48.8,
"depthFt": 37.2
}
},
{
"kind": "accessory",
"type": "Garage/Shed",
"heightFt": 17,
"stories": null,
"source": "denver_building_outlines",
"note": "Denver official building outline (ODC_PROP_BUILDINGOUTLINES_A). Height is GIS BLDG_HEIGH, not a permit.",
"ring": [
[
3,
123.6
],
[
2.7,
86.2
],
[
33.4,
85.9
],
[
33.7,
112.9
],
[
33.8,
123.3
],
[
29.9,
123.3
],
[
5.4,
123.6
],
[
3,
123.6
]
],
"bbox": {
"x0": 2.7,
"z0": 85.9,
"widthFt": 31.1,
"depthFt": 37.7
}
},
{
"kind": "accessory",
"type": "Garage/Shed",
"heightFt": 12,
"stories": null,
"source": "denver_building_outlines",
"note": "Denver official building outline (ODC_PROP_BUILDINGOUTLINES_A). Height is GIS BLDG_HEIGH, not a permit.",
"ring": [
[
70.9,
97.6
],
[
70.3,
97.6
],
[
70.4,
99.3
],
[
70.5,
103.7
],
[
70.6,
108.2
],
[
58.5,
108.5
],
[
58.5,
107.7
],
[
58.5,
105.4
],
[
58.4,
103.6
],
[
58.3,
99.1
],
[
58.3,
97.2
],
[
58,
83.8
],
[
58.5,
83.8
],
[
59.8,
83.8
],
[
59.8,
83.2
],
[
62.6,
83.1
],
[
85.7,
82.6
],
[
85.9,
92.3
],
[
86,
97.3
],
[
70.9,
97.6
]
],
"bbox": {
"x0": 58,
"z0": 82.6,
"widthFt": 28,
"depthFt": 25.8
}
}
],
"disclaimer": "Illustrative only — not a code determination or permit approval.",
"overlays": [],
"overlayStory": "none",
"overlayNote": "No verified zoning overlay at this address."
},
"message": "District resolved."
}
}Questions
What does a feasibility study actually check?
Zoning and code constraints, what's realistically buildable on the site, and a cost range grounded in those specifics — not a generic estimate.
What happens if the ADU tool can't verify my address?
It says so plainly — a parcel it does not recognize or a jurisdiction it has not been taught returns an honest refusal, not a guess.
Can I get an instant feasibility study for a commercial project?
Not yet as a self-serve tool — that path is a scoped consult today, which leads to the same feasibility retainer step in the portal.
Does skipping a feasibility study save time?
It usually costs more later — the same zoning and code questions still have to be answered, just after a design or a permit application instead of before one.