The code doesn't stop development, it picks who develops
Every extra month of process is a filter, and we should look hard at what it filters for.
I hear a version of this at almost every door: I don't want more development. Sometimes it's traffic, sometimes it's water, sometimes it's the shape of a building somebody has looked at from their kitchen window for thirty years. It's a real feeling, held by people who love this town, and I'm not going to pretend it away or try to lecture anybody out of it.
Then I say I want to rewrite Title 9 and put a published clock on permit review, and I can watch people decide I've just told on myself.
I don't think the two are in tension, and the reason why is the whole argument. What I want to change isn't how much gets built. It's who gets to build, who gets shut out, and how much of our own money we burn getting out of our own way.
Complexity is a filter, and it filters for capital
Earlier this summer I built an index of every permit, license, and application the City of Boulder makes you file to get permission to do something, from registering a dog to putting up a building. There are sixty-eight of them, across every department, on four different portals. I built it because I couldn't find one, which tells you something on its own.
Here's the part that matters. A process that takes seven months to say yes doesn't stop a project. It stops one kind of applicant.
A national landlord with in-house counsel and an entitlements team treats a seven-month review as a line in a spreadsheet, a carrying cost financed at institutional rates and priced in before anybody picks up a phone. Blackstone does not get discouraged. Nobody at a firm like that has ever walked away from a Boulder project because the paperwork was confusing, because reading confusing paperwork is a salaried job there.
Now take the couple who own one building on Pearl, or the contractor who wants to put four townhomes on a lot she already owns. They don't have an entitlements team. They hire a land-use consultant, usually an attorney and an architect on top, before anyone will even tell them whether the answer is yes. That's five figures spent to find out if you're allowed, before the first dollar of anything real.
Thus complexity doesn't work as a brake. It works as an entry fee. And every time we raise it, in good faith, one reasonable-sounding requirement at a time, we hand a little more of Boulder to the only people who can afford to pay it.
Process feels neutral. It isn't. It's a sorting mechanism, and it sorts against exactly the people most of us say we want building here.
So if your objection to development is that you don't like what gets built or who ends up owning it, I'd gently suggest the current system is producing precisely the outcome you're objecting to.
We hold ourselves to our own standards, and we pay for it twice
About fifteen city buildings are failing right now, roughly a fifth of what we own, with a need near $500 million against about $100 million we've found. South Boulder Rec opened in 1974. Fire Stations 1 and 5 are past due. The police and 911 dispatch facility is genuinely inadequate.
Every one of those projects runs the same gauntlet as everybody else. Same code, same reviews, same boards, same appeal windows, same waiting. There's no exemption for the good guys and there shouldn't be one, which is exactly the point: when we make it hard to build in Boulder, we make it hard for Boulder to build.
We pay for that twice. Once in the design changes, the consultant hours, and the staff time spent reviewing ourselves. Then again in escalation, because a fire station delayed three years is not the same fire station at the same price. Construction costs don't wait politely while we process ourselves.
We have a case study. Alpine-Balsam ran twelve years and something north of three hundred million dollars, and when a resident asked last June what it had actually cost, the city could not produce a table. Nobody stole anything. What happened is duller and worse: it was expensive partly because it took forever, and it took forever partly because we are very good at adding steps and very bad at removing them. I'm asking voters to be careful with the $400 million bond this fall. Part of being careful is not spending a slice of it arguing with ourselves.
Sundance is a windfall, and windfalls go to whoever can move fast
Sundance lands downtown in January 2027 on a ten-year deal, with annual impact estimates running somewhere between $132 and $195 million. That money is going to get spent here. The only open question is who catches it.
Festival economies reward speed. A pop-up, a second location, a patio, a six-week gallery in a dead office. Every one of those is a small operator with a narrow window and thin margins, and every one dies if the answer is a year of review, or a change of use that trips a full building code upgrade on a modest tenant improvement.
A national brand with a rollout team absorbs that. The woman who's been thinking about a second shop cannot. If we don't fix this in the next twelve months, we will have spent a decade recruiting an economic engine and then handed the proceeds to out-of-town operators, entirely by our own hand.
We know the specific fix works, because we've already run it once. In June 2024 council replaced the old use review with a minor use review and dropped the call-up requirement. The median approval time for a business trying to occupy a space fell from nearly seven months to a matter of weeks. One change, measured before and after, finished.
And right now it's a pain to work on your own house
The homeowner case is the one that should embarrass us most, because there's no developer to blame and no growth to be alarmed about.
A deck. A dormer. Finishing a basement. Adding an ADU for a parent who shouldn't be living alone anymore. These are people improving a house they already own on land they already own, and the honest advice a neighbor gives them is budget for the delay, and think about hiring somebody to talk to the city for you.
Council has loosened the ADU rules and I'll give them credit for it, but loosened isn't simple. Our own code still leans on terms it never defines, so a homeowner trying to answer a straightforward question about owner-occupancy has to chase a definition through a title that doesn't formally reach her. That isn't policy, it's a drafting error we've decided to live with, and the person paying for it just wanted to know whether she's allowed to build a garage apartment. If we can't make that simple, we don't have much standing to complain about anybody else's project.
None of this helps anybody
That's the whole thing. Unnecessary complexity is not a growth control. It doesn't reduce what gets built, it decides who gets to build it, and it reliably picks the applicant with the deepest bench over the one who lives here. It makes our own fire stations cost more, sends a windfall we spent ten years chasing to somebody else's balance sheet, and turns a garage apartment into a legal research project.
Nobody designed this. It accumulated one reasonable requirement at a time, and every requirement had a sponsor who meant well. We're still allowed to look at the sum and say plainly that the sum isn't serving us.
You can want Boulder to look and feel like Boulder and still want it to be possible for someone who lives here to do something here. I want both, and most people I talk to want both. We should stop writing a code that makes us choose.