Bob Yates really, really wants to be reelected. His promise? ‘More of the same’

Councilman Bob Yates

Friday, Sept. 27, 2019 (Updated Oct. 13, 2019)

A decade ago, Bob Yates didn’t know enough people to get certified to run for city council in Boulder. A corporate attorney for Broomfield-based Level 3, he traveled frequently and worked all the time. 

“If you asked me in 2011 to name 20 people who lived in Boulder, I couldn’t,” Yates said during our interview for his re-election campaign. (For the record, you need 25 signatures to be certified as a candidate.) “Being here consisted of sleeping here half a dozen nights a month.” 

Four years later, Yates not only won a seat on Boulder’s city council, he was the top vote-getter of 17 candidates. 

Much obviously changed during those intervening years. Yates had quit his job and flung himself full-force into service, doing stints on various nonprofit boards before beginning his government career on the Parks and Recreation Advisory Board.

Yates calls his launch out of his career and into community involvement his “tombstone moment.” It was on his 50th birthday that Yates marched into his boss’s office and gave notice.

“You realize you’re closer to death than you are to birth,” he said. “What are they going to put on my tombstone? What did I accomplish? What did I do for the world? I was a lawyer, worked for a big company. That’s not something people put on a tombstone.”

Yates has been mostly proud of his life since then. His resume is full of community service: He spearheaded fundraising for the relocation and expansion of the Museum of Boulder, advocated for the passage of a culture and art-funding tax, organized downtown businesses to show support for Pride Month. But there’s still more he wants to do. 

“When I retired, I ended up saying yes to whomever came to me and I ended up doing a lot of cultural things,” he said. “There’s nothing wrong with that, except … I didn’t retire to provide cultural amenities to people like me. I really want to get into social services after this. I want to be more intentional about it when I retire for the second time after council.”

For now though, Yates really, really wants another term. His first run was more reluctant, but now, voters would be hard put to find a more enthusiastic candidate. 

Despite the long hours and low pay, “I really, really love the job,” Yates said. “We have a great staff. Plus, I’m also an extrovert. This is a job (where) I get the opportunity to engage with people on a daily basis.”

As the most popular council member by votes, Yates could easily rest on his laurels, with full confidence that he has the community’s backing to act in their stead. He takes a different view.

“I got 12,000 votes out of 32,000 cast,” he said. “That means 60% of people didn’t want me to be on council. What that drives is humility: 60% of people I haven’t convinced that I’m right (for) them.”

There isn’t much Yates wants to change about his next four years on council, assuming he is re-elected. His priorities are the same; he’s proud of his record. The only other (slight) difference is that some of his positions have changed somewhat — he says as a result of community engagement, though it also looks like a move to broaden his voter appeal and position himself to be appointed mayor by his peers. (The strategy appears to be working: Yates has raised nearly twice as much in contributions as any other candidate, according to campaign filings.)

Yates has changed in one other way, he said: He’s gotten better at the job.

“I’ve been learning over the past four years. I know I’m going to be more effective and more efficient in my next four years than I was in my first four years. I think people know what they get with me. I’m a reasonable, rational person, I’m going to make decisions based on fact; I’m inquisitive, I try to be fiscally responsible, I’m a pretty good listener. 

“The community has made an investment in me,” Yates said. “If I don’t get re-elected “it would feel a little wasteful.”

Who he says he represents: Arts and culture community; historic preservation community; small business owners, particularly downtown; working families 

Endorsed by: Better Boulder, Open Boulder, South Boulder Creek Action Group, Boulder Daily Camera

Campaign filings: (14 days before election)

Most proud of from his first term: Increasing arts and culture support; adding hundreds of units of affordable housing (646 were built or preserved from 2015 to 2018, according to the city’s housing department); new rules on co-ops and accessory dwelling units; progress on the Vision Zero safe streets program; authorizing Boulder Housing Partners to buy Tantra Lakes apartments to preserve affordability

What he’d like to do with his second: “More of the same.” Housing is his No. 1 priority. He’d like to continue working on Vision Zero and arts and culture support. And he’d “like to see where the muni ends up. … The voters have spoken and staff are running with it. Ultimately a judge will decide what the number is. I look forward to participating in that.”

Biggest regret from his first term: Yates isn’t the one to bring this up; I am. But he does admit that mobilizing the police to do a sweep of homeless residents living in their vehicles at Diagonal Plaza was not something he handled well.

“My intentions were good,” Yates said, saying it was to connect unhoused residents there with services. “How I handled it did not serve that intention.”

Characterizing his motivation as 100% charitable does not capture the whole picture. As Yates admitted at the time and during this interview, he emailed Police Chief Greg Testa after being contacted by concerned Diagonal Plaza business owners whose attempts to elicit police action failed.

Although Yates discussed possible solutions for car-dwelling residents — for whom shelter services would represent a loss of valuable property — he never elevated ideas to the level of action during the last term. He has no specific plan to do so in the next one, either.

Yates has also expressed regret over another action: Voting to impose a moratorium on conversion of first-floor retail into housing in the summer of 2018. The motion was made in response to rumored redevelopment and accidentally ensnared an affordable housing project. (An exception was later crafted.)

“Sometimes, when you move too fast, you make mistakes,” Yates explained in his monthly newsletter. “The episode demonstrated to me the perils of acting too quickly, with incomplete information. I regret that.”

Why you might want to vote for him: Yates’s attempts at transparency are unmatched. He has kept a record of nearly every vote he’s ever taken back to August 2016, and they are included in his monthly newsletters and categorized by date and topic on his website. Since early 2017, he has also offered explanations of why he voted as he did 

He’s also receptive to criticism and opposing points of view, engaging with me deeply and congenially when challenged. He is thoughtful and willing to compromise in council discussions, never rising to insults, attacks or theatrics like some of his peers. Yates prides himself on being an open-minded consensus builder, on reaching for compromise and voting with his conscience.

“I’ve been aligned with everyone on council, both in the majority and in the minority, and that’s really cool,” he said. “I can listen to my conscience, I can listen to my peers, I can listen to residents, and then I can vote how I want. Nobody is pulling my strings.”

He tries to meet with roughly a dozen constituents a week (and used to keep track of how many, again via his newsletter), and answers hundreds of emails each month. (In an optimistic move before being sworn in to council, he prepared a spreadsheet to document each email received, who sent it, the date and subject and what his response was. That attempt was abandoned within the first week of his term as Yates became overwhelmed by the sheer number of messages.)

Yates doesn’t just interact with residents: he listens. Several of his positions have shifted based on conversations he’s had, he said.

Why you might not want to vote for him: Nearly all of Yates’ shifting positions have shifted decidedly in one direction: that of neighborhood groups.

On ADUs, Yates said he was for “pretty extensive liberalization” before “hearing from people in various neighborhoods” brought him around to endorsing saturation limits.

On density in general, Yates has become less “fierce” in advocating for it and more prone to listening to concerns over “neighborhood character,” he said.

On the (now abandoned) size cap on homes, too, he “tried to listen to people really carefully.” (He also characterized it as a “jealousy” issue rather than one of efficient land use, as supporters of a cap do.)

These shifts aren’t negative in and of themselves — indeed, those to whom Yates has listened would put them in the “Why you might want to vote for him” category. But they raise questions about who gets Yates’s ear and sympathy, particularly when combined with his relatively unchanged (and, some say, weak) positions on homelessness, racial and social justice issues.

Boulder Progressives declined to endorse Yates largely because of his views and voting record on homelessness. That cost him the endorsement of the Coalition as well, although the individual groups under that umbrella endorsed him separately. 

Yates himself initially declined to endorse Junie Joseph, the only black candidate on the Coalition slate, though he endorsed the other four candidates. (Yates did eventually endorse Joseph. That endorsement came after our initial interview and a followup conversation about his endorsements.)

He crossed Boulder’s political lines to endorse PLAN candidate and personal friend Mark Wallach (who, in his interview, noted Yates’s subtle shifts to the slow-growth side: “I disagree with Bob on 80% of things, but he’s moving. The fact that he may evolving on certain things is interesting.”) 

In response, Yates said, “I endorsed people I know pretty well. My litmus test for endorsement is not, ‘Do I agree with them?’ My litmus test is rationality and kindness and collaboration: Who would I enjoy serving with?”

Yates on the issues

Housing: Along with councilman Sam Weaver, Yates proposed a down payment assistance program to help the middle class buy homes. The pair also introduced a compromise on looser ADU regulations to allow for larger units or reduced parking in exchange for rent restrictions. 

There’s not much he would change about the city’s current approach: aggressively pursuing the preservation and building of subsidized housing. Yates has consistently voted for affordable housing projects, “sometimes in the face of stiff opposition.”

“I passionately believe in affordable housing,” he said. “All the way from making sure we provide permanently supportive housing to homeless people, through low-income housing through moderate-rate housing all the way through middle-income. Housing is our No. 1 problem and No. 1 priority and No. 1 challenge.”

Yates views government subsidies as part of the solution, but not the only option. He does believe in market solutions, though he is loath to embrace density given the intense opposition in the community to more housing. (His position is perhaps best demonstrated by a poem he wrote and read at the Chamber forum, “Does dense make sense?” Yes, was the conclusion, but not at the expense of community buy-in.)

We can’t house everyone who wants to live here, Yates said, but that doesn’t mean we shouldn’t try.

“Every person or every person who wants to live in Boulder who works in Boulder that we can provide housing for is a win. It’s not like we have to get to 30,000” — the approximate number of middle-income in-commuters who say they would choose a smaller home in Boulder if it was affordable and available — “before we declare victory. Each one of those families we can provide housing for is a win. It’s life-changing.”

Voting record:

Nov. 15, 2016: Voted to increase the amount developers of commercial space (office, retail) pay into the affordable housing fund to $12 per square foot, from $9.63

Dec. 13, 2016: Suggested an additional public hearing of new co-op rules

Jan. 3, 2017: Voted to revise co-op laws

Voted to review Planning Board’s denial of 50 units of workforce housing at 3303 Broadway (People’s Clinic)

Feb. 21, 2017: Voted to allow BHP to buy Tantra Lakes apartments for conversion to affordable units

April 20, 2017: Voted to annex 90/96 Arapahoe in order to add affordable housing to the city

June 6, 2017: Voted to accept Planning Board decision to allow Attention Homes’ Pine Street project to provide housing

Sept. 19, 2017: Voted to authorize a letter of intent to develop the former Pollard Site

Also voted to expand the city’s inclusionary housing requirements to include middle-income housing

Oct. 17, 2017: Voted to delay annexation of Hogan-Pancost property

Oct. 24, 2017: Voted to increase city affordable housing goal from 10% to 12%

Nov. 21, 2017: Voted to expand protections for mobile home residents against retaliation for complaints

Jan. 9, 2018: Voted to OK the purchase of Hogan-Pancost, expressing a hope that housing could go on at least a portion of the land in the future, following adequate study

Feb. 20, 2018: No formal vote was taken, but Yates opposed increasing commercial linkage fees to fund affordable housing, raised just 15 months earlier

Feb. 27, 2018 (study session): No formal vote was taken, but Yates supported loosening ADU rules

April 17, 2018: Formally voted against raising Boulder’s commercial linkage fee to fund affordable housing to $30 per square foot

July 17, 2018: Voted to impose a moratorium on conversion of first-floor retail centers into housing in Business Commercial zoning districts

Also voted to approve the senior housing and care development at 311 Mapleton

Aug. 7, 2017: Voted to rezone a portion of 311 Mapleton to allow for redevelopment there

Aug. 23, 2018: Voted to prohibit discrimination against  renters with Section 8 vouchers

Aug. 29, 2018: Voted to loosen regulations on ADUs

Sept. 25, 2018 (study session): No formal vote was taken, but Yates was not supportive of exploring regulations to discourage construction of large homes

Oct. 16, 2018: No formal vote was taken, but Yates opposed emergency moratorium on large homes

Dec. 4, 2018: No formal vote was taken, but Yates was not supportive of a cap on home size

April 2, 2019: Voted to raise city’s affordable housing goal to 15%

No formal vote was taken, but Yates was not supportive of putting an affordable housing tax on November’s ballot 

May 28, 2019: No formal vote was taken, but Yates was not supportive of further exploration of a home size limit, possible subdivision of large lots or allowing ADUs on large lots

June 4, 2019: No formal vote was taken, but Yates supported taking a low-density option off the table for the future of Alpine-Balsam, citing the need for more housing

Homelessness: Yates is a big supporter of the coordinated entry system and housing-first approach the city adopted in 2017. He voted not to expand emergency winter sheltering, siding with staff and other council members who felt it would detract from the mission of housing people. (Though, unlike his peers, he was willing to compromise by changing the threshold under which severe weather sheltering operates to open it more frequently.)

It’s tricky to strike a balance between providing services and enforcing Boulder’s laws, such as the camping ban, Yates said. “We don’t always get it right; we probably mostly don’t get it right. We try the best we can.”

One indicator that Boulder is close to getting it right, in Yates’s mind, is that “everybody seems to be unhappy.”

“The homeless advocates say you’re not doing enough. The housed people say you’re coddling them, making yourself a target or a magnet (for other unhoused residents). I suppose as long as both groups are slightly unhappy, maybe we’re finding that balance.”

Voting record: Sept. 13, 2016 (study session) Did not support increased funding for homeless services in the 2017 budget

June 6, 2017: Voted to accept Planning Board decision to allow Attention Homes’s Pine Street project to provide housing

July 18, 2017: Voted to accept the city’s Human Services strategy, which focused on earlier interventions to prevent homelessness

Sept. 19, 2017: Voted to require an update to the operation plan for Boulder Shelter for the Homeless to reflect the city’s new approach to homelessness

Jan. 23, 2018 (study session): Supported changes to the Shelter’s management plan

Oct. 2, 2018: Voted to OK a single site for winter sheltering

Jan. 15, 2019: Voted not to extend winter sheltering services for the homeless

March 19, 2019: Endorsed staff’s plan to combine emergency sheltering services with the Boulder Shelter for the Homeless once the lease on the current emergency shelter runs out

CU South / flood mitigation: Yates is critical of his fellow council members’ criticism of CU, which owns the property and is offering Boulder 80 acres for flood mitigation. The university has been very clear and consistent in what it needs: 129 acres for development. Its position hasn’t changed, and Yates believes it won’t.

“The definition of insanity to me is going to the property owner and saying, ‘You must accept this’ and they say no and saying, ‘You must accept this’ and they say no,” he said. “People can say they’re bluffing or they’ll fold or they’ll change their mind. Maybe they’ll bow to public pressure, maybe they’re bluffing. They’ve certainly convinced me that they believe it.”

He also revealed that council has asked City Attorney Tom Carr whether it has the authority to condemn the land (it doesn’t). Nor does it have the ability to compel the Colorado Department of Transportation,  another state entity, to compromise. What the city can and should do, Yates said, “is find a convergence” of effective flood mitigation and approval from CDOT and CU.

“We have to find a third way. Just saying yes no, yes no, yes no endlessly doesn’t move the ball. We’re taking too long.”

Voting record: Jan. 24, 2017: Supported land use changes to support flood mitigation

July 11, 2017: Voted to re-designate CU South in the Boulder Valley Comprehensive Plan for flood mitigation, housing and classrooms, open space and habitat preservation

Aug. 21, 2018: Voted in the minority for Variant 2 flood mitigation design

Sept. 20, 2018: Directed staff to move forward with alternatives to Variant 1 flood design that might be more acceptable to CU

Oct. 9, 2018 (study session): Supported annexation terms with CU

Feb. 5, 2019: Not a formal vote. Criticized staff for not beginning preliminary design work 

July 16, 2019: Instructed staff to find ways to compromise with CU

Budget: A self-proclaimed “fiscal conservative,” Yates fancies himself the voice of reason and balance when it comes to the budget. He has been hypercritical of the city’s plans to spend $60 million renovating an office building at the Alpine-Balsam site, and posted (admittedly feeble) opposition to advancing an open space tax to voters in the face of the city’s other unfunded needs. He has also opposed the formation of a library district on somewhat financial grounds, arguing that it would be a giveaway of city assets and amount to a double taxation on residents.

Yates has also fought to increase allocations to traditionally underfunded departments. He last year fought to get more money to arts and cultural facilities, and at this year’s Chamber candidate forum, said the city should double its spending on human services

Voting record: Sept. 13, 2016 (study session) Did not support increased funding for homeless services in the 2017 budget

Jan. 31, 2017 (study session) Decided not to pursue a head tax on employees and businesses

Oct. 17, 2017: Voted to approve 2018 budget

Nov. 14, 2017: Voted to abolish manufacturers tax on local brewers, distillers and vintners

Nov. 28, 2017: Opposed exploring library taxing district

Sept. 11, 2018 (study session): Supported 2019 budget with increased spending to keep the Carnegie library open and support other library services

Oct. 2, 2018: Voted to pass 2019 budget, including extra spending for arts and cultural facilities

May 14, 2019: Voted to not place a natural gas tax or vehicle climate fee on the ballot

Police oversight: “I’m waiting for the recommendations (from the task force). I voted to ask the task force to look at what other cities did and to make recommendations to council on what police oversight might look like. Should there be one? I don’t want to presume they’re going to recommend that, but I assume they will. I think those are all questions for them to answer.”

Attended March for Police Oversight: No

Attended city council listening session on racism: Yes

Voting record:  April 2, 2019: Yates voted to accept City Manager Jane Brautigam’s recommendations for the group’s charter. 

May 7, 2019: Yates voted to approve the members of the task force, following Mary Young’s recommendation to not include Sammie Lawrence, a black man who was arrested after filming a police interaction with unhoused residents, over the recommendations of the NAACP

Lethal control of prairie dogs: Yates is OK with exploring this option, citing the majority of respondents to an Open Space survey who supported at least looking at the practice (though that was revealed after his vote) and the recommendation of the Open Space Board of Trustees.

“We appointed our open space board because they’re a diverse group of people who care passionately about open space and are subject matter experts,” he said. “That means a lot to me. If staff and board come to us with a unanimous recommendation, it’s a rebuttable presumption that they’re right.”

Voting record: Yates voted in the majority to explore this option in early May

Muni: Yates has been the council’s most (and often, only) outspoken critic of the city’s efforts to create a municipal electric utility. But, he said, his views have “probably softened” as a result of interaction with constituents.

“I understand better the people who have advocated for it over the years. I still don’t think it’s the right way to achieve our carbon goals in a way that can be replicated by other cities. I believe in the goals; I just don’t think this is the best way to achieve them.”

Voting record: Not a vote, but Yates was opposed to the nearly $1 million in the city’s 2017 budget for the muni (Sept. 2016). He voted to pass the budget after that funding was removed. (Oct. 18 and Nov. 1, 2016)

Feb. 7, 2017: Voted against a deal that would allow CU to pay lower rates under a city municipal utility

April 17, 2017: Voted to pause litigation and putting Xcel’s offer on the ballot

May 9, 2017: Directed staff to prepare muni ballot measure to extend tax

Aug. 15, 2017: Voted against putting tax extension on the ballot

Voted against putting a ballot question to voters removing ability to discuss negotiation strategy in executive session

Voted to do a final go/no-go vote after litigation is finished

Dec. 5, 2017: Voted against implementing the tax extension approved by voters

Feb. 20, 2018: Voted against budget adjustments to pay for muni

Sept. 20, 2018: Supported reimbursement agreement with Xcel to pay for muni negotiations

Dec. 4, 2018: Voted against reauthorizing the city to file for condemnation 

June 4, 2019: Voted against reauthorizing the city to file for condemnation (a second vote was needed due to minor changes in the asset list)

June 18, 2019: Voted to dissolve the municipal utility (on paper) to aid negotiations with Xcel

Hill hotel: Yates is firmly supportive of this project for two reasons: One, it “dovetails nicely” with CU’s planned conference center across the street, providing lodging for conference attendees and (possible) parking for hotel guests at CU’s planned garage. Two, the city has for years been promising to aid revitalization of the Hill, but has not delivered. 

“We’ve been telling residents and businesses up there we’d help revitalize that for over a decade,” he said. “This is the only solution on the table. It’s the only option we have right now; it’s the only option that’s come forward in a decade or more. People can wish for something else, but until somebody shows up with land and a bag of money, that’s what we have.”

Voting record: Jan. 22, 2019 (study session): Supported selling the Pleasant Street parking lot to hotel developers

There was no formal vote, but Yates in April supported staff beginning negotiation for the sale of the parking lot

Occupancy limits: Yates would leave them alone. The fact that council isn’t hearing from “a whole lot of people” that they need to be raised or lowered indicates that “we seem to be at a pretty good balance.”

“Until such time as people say the number is too high or too low, i’m gonna park that in the category of we more or less got that right.”

Voting record: There has been no discussion of nor formal vote on occupancy limits during this council term

Council’s use of moratoria: “A moratorium should be used by a government only as a last resort,” Yates wrote in response to emailed questions. “The placement of a moratorium on something that is otherwise legal means that there was a change in circumstance that the government did not anticipate and over which it believes it has no control, absent the moratorium. Sometimes the emergency is real, and the moratorium is appropriate. Other times, the moratorium reflects bad planning by the government which imposes it.”

Voting record: Of the five moratoria this council has considered, Yates voted for two. (Another moratorium, on large homes, was considered but abandoned.)

He voted against extending the height moratorium in March 2017.

He voted for an extension of the height moratorium in June 2018

He voted to impose a moratorium on converting the first-floor of retail centers into housing in Business Commercial zoning districts, an item placed on consent agenda July 17, 2018.

He voted against the opportunity zone moratorium in December 2018.

He voted May 21 to impose a nine-month moratorium on shared e-scooters

Opportunity zone moratorium: The emergency ban on demolition and development in east Boulder was “unnecessary” and a reaction to “fear,” Yates wrote — fear that didn’t materialize in the six months between the designation of the opportunity zone and the passing of the moratorium, nor any time since it has been lifted for some zoning districts.

The feared land rush has simply not occurred,” he wrote. “The moratorium … now has lots of exceptions and … more holes than Swiss cheese. The rest of the moratorium will be lifted in the coming months, with the realization that it was not necessary in the first place. The city still retained all regulatory authority and power to decide what could be built in the Opportunity Zone. The city staff’s Opportunity Zone designation did not change this.”

Height limit moratorium: Yates has never been a fan of the moratorium, put in place before he joined council in response to community concerns about the number of buildings given exemptions to go up to the city’s 55-foot charter-imposed height limit. Council implemented the temporary ban on tall buildings “to protect itself from its own bad decisions,” he wrote, and it “has gone on too long.” 

He is hopeful it will be lifted next year when the community benefits project to ensure that new growth and development contribute positively to Boulderites’ quality of life wraps, and before the moratorium turns five. 

“While we don’t want buildings taller than three stories in parts of town where they will block views, there are certainly other parts of town where four and five stories (not to exceed Boulder’s 55-foot height limit) will work and will be more efficient uses of land.”

Yates defends his one “yes” vote to extend the moratorium as a necessary capitulation. Council was considering two options: Extend the moratorium until 2020 or make it permanent.

“I chose the lesser of the two evils,” he wrote.

Neighborhood opposition to development: Yates does not believe that neighbors should get a veto over individual developments. He takes issue with the calls for statistically valid surveys on every project.

“If we were purely representative, we’d just poll the community every time we had to make a decision and say 51%, majority wins. We would just be pollsters. We wouldn’t be leaders,” he said. If that was how democracy worked, “we would never have civil rights; women wouldn’t be allowed to vote; gays wouldn’t be allowed to be married. Every once in awhile, it’s the responsibility of an elected official to take the community to a place that they might not quite be ready to go.”

But neighborhood character should be considered, he believes, as well as the expectations of homeowners who bought into an area when it looked a certain way.

“People bought into a neighborhood for a reason,” he said. “People made a substantial investment for a certain thing. I’m not saying we should cast this in amber and what Boulder looked like in 1971. That drives me crazy when people say Boulder shouldn’t change. Boulder should change, Boulder will change, Boulder is changing.”

“To the extent that we change things, we need to do it very, very gradually.”

Yates has a simple test for what neighborhood concerns he listens to: “Would I want that next door to me? It would be arrogant for me to allow something to happen in somebody’s neighborhood that I wouldn’t want in my neighborhood.”

Voting record: See Housing voting record

Author’s note: This article has been updated to reflect Yates’ endorsement of Junie Joseph and Boulder Daily Camera’s endorsement of Yates. It may be updated further with additional or clarifying information.

— Shay Castle,, @shayshinecastle

Want more stories like this, delivered straight to your inbox? Click here to sign up for a weekly newsletter from Boulder Beat. Look for more election coverage at, going live in October.


5 Comments Leave a comment

  1. Bob is an “over-talker.” I tried to have numerous conversations with him, as he was supposed to be “small business friendly.” Never gave me the time of day…

    Boulders population is decreasing!?!? What’s that all about? Where’s the vibrancy gone?
    “No it’s not, gone up 104k since 2010” he told me…. (the exact answer you get from Google when you ask the population of Boulder.)

    Thank you for not endorsing Mr. Yates., Progressives.
    We Can do better.

    • Hi, Wendy. I posted this one another one of your comments, but can you please use your full first and last name? It’s my own rule for the site to encourage transparency. Thank you!

Leave a Reply

%d bloggers like this: