<?xml version="1.0" encoding="UTF-8"?><feed
	xmlns="http://www.w3.org/2005/Atom"
	xmlns:thr="http://purl.org/syndication/thread/1.0"
	xml:lang="en-US"
	>
	<title type="text">Solaraustin</title>
	<subtitle type="text"></subtitle>

	<updated>2026-09-04T22:25:21Z</updated>

	<link rel="alternate" type="text/html" href="https://solaraustin.org/" />
	<id>https://solaraustin.org/feed/atom/</id>
	<link rel="self" type="application/atom+xml" href="https://solaraustin.org/feed/atom/" />

	
<icon>https://s0.wp.com/i/webclip.png</icon>
	<entry>
		<author>
			<name>solaraustin</name>
					</author>

		<title type="html"><![CDATA[Austin City Council Candidate Forum 2026 Environment, Transparency, Democracy]]></title>
		<link rel="alternate" type="text/html" href="https://solaraustin.org/2026/08/28/austin-city-council-candidate-forum-2026-environment-transparency-democracy/" />

		<id>https://solaraustin.org/?p=4511</id>
		<updated>2026-09-01T20:48:42Z</updated>
		<published>2026-08-28T19:01:31Z</published>
		<category scheme="https://solaraustin.org/" term="Austin City Council" /><category scheme="https://solaraustin.org/" term="Austin Climate Events" /><category scheme="https://solaraustin.org/" term="City Government" /><category scheme="https://solaraustin.org/" term="Local Policy" /><category scheme="https://solaraustin.org/" term="Uncategorized" />
		<summary type="html"><![CDATA[<p>As Austin continues to navigate rapid growth and long-standing industrial burdens, environmental policy should remain at the forefront of local [&#8230;]</p>
<p>The post <a href="https://solaraustin.org/2026/08/28/austin-city-council-candidate-forum-2026-environment-transparency-democracy/">Austin City Council Candidate Forum 2026 Environment, Transparency, Democracy</a> appeared first on <a href="https://solaraustin.org">Solaraustin</a>.</p>
]]></summary>

					<content type="html" xml:base="https://solaraustin.org/2026/08/28/austin-city-council-candidate-forum-2026-environment-transparency-democracy/"><![CDATA[
<p class="wp-block-paragraph">As Austin continues to navigate rapid growth and long-standing industrial burdens, environmental policy should remain at the forefront of local governance. In a forum moderated by KUT’s Mose Buchele, candidates competing for the <strong>Districts 9, 8, 5, 3, and 1 Austin City Council</strong> seats shared their visions for climate equity, public transparency, and energy infrastructure.</p>



<p class="wp-block-paragraph">District 9</p>



<figure class="wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio"><div class="wp-block-embed__wrapper">
<div class="ast-oembed-container " style="height: 100%;"><iframe title="Austin City Council Candidate forum 2026 distrct 9 full audio" width="1200" height="675" src="https://www.youtube.com/embed/5LF8Pzmi0lI?feature=oembed" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe></div>
</div></figure>



<p class="wp-block-paragraph">District 8</p>



<figure class="wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio"><div class="wp-block-embed__wrapper">
<div class="ast-oembed-container " style="height: 100%;"><iframe title="Austin City Council Candidate forum district 8 August 2026 Environment, Democracy, Transparency" width="1200" height="675" src="https://www.youtube.com/embed/2jChzKkCW-w?feature=oembed" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe></div>
</div></figure>



<p class="wp-block-paragraph">District 5</p>



<figure class="wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio"><div class="wp-block-embed__wrapper">
<div class="ast-oembed-container " style="height: 100%;"><iframe title="Austin City Council Candidate forum district 5 August 2026 Environment, Democracy, Transparency" width="1200" height="675" src="https://www.youtube.com/embed/sbB_Ms7S83E?feature=oembed" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe></div>
</div></figure>



<p class="wp-block-paragraph">District 3</p>



<figure class="wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio"><div class="wp-block-embed__wrapper">
<div class="ast-oembed-container " style="height: 100%;"><iframe title="Austin City Council Candidate forum district 3 August 2026 Environment, Democracy, Transparency" width="1200" height="675" src="https://www.youtube.com/embed/5Il33MpLr0A?feature=oembed" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe></div>
</div></figure>



<p class="wp-block-paragraph">District 1</p>



<figure class="wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio"><div class="wp-block-embed__wrapper">
<div class="ast-oembed-container " style="height: 100%;"><iframe title="Austin City Council Candidate forum district 1 August 2026 Environment, Democracy, Transparency" width="1200" height="675" src="https://www.youtube.com/embed/SJ2SCV-d_RE?feature=oembed" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe></div>
</div></figure>



<p class="wp-block-paragraph">District Candidates</p>



<p class="wp-block-paragraph">District 9 Zohaib &#8220;Zo&#8221; Qadri<br>District 9 Richard Heyman<br>District 9 Dave Thadani<br>District 9 Katie Kam</p>



<p class="wp-block-paragraph">District 8 Selena Xie<br>District 8 Jeffery Bowen</p>



<p class="wp-block-paragraph">District 5 Farrah Abraham<br>District 5 Ryan Alter<br>District 5 Liz Brink<br>District 5 David Weinberg</p>



<p class="wp-block-paragraph">District 3 Gavino Fernandez<br>District 3 Neha Shah<br>District 3 Brock Skinner<br>District 3 Eduardo Romero<br>District 3 José Velásquez</p>



<p class="wp-block-paragraph">District 1 Alexandria Anderson<br>District 1 Steven Brown<br>District 1 Amber Goodwin<br>District 1 Michael Nahas<br>District 1 Misael Ramos<br>District 1 Portia Riggins</p>



<p class="wp-block-paragraph">The following organizations came together to make this event possible.</p>



<p class="wp-block-paragraph"><strong>Organizers</strong></p>



<ul class="wp-block-list">
<li><a href="https://www.citizen.org/texas">Public Citizen&#8217;s Texas office</a></li>



<li><a href="https://www.sierraclub.org/texas/austin">Sierra Club Austin Group</a></li>



<li><a href="https://www.facebook.com/ATXenvirodems/">Austin Environmental Democrats</a></li>



<li><a href="https://cleanwater.org/">Clean Water Action</a></li>



<li><a href="https://actionnetwork.org/events/austin-environmental-city-council-candidate-forum/www.solaraustin.org">Solar Austin</a></li>



<li><a href="https://www.poderaustin.org/">PODER</a></li>



<li><a href="https://thirdact.org/texas/">Third Act Texas</a></li>



<li><a href="https://hubs.sunrisemovement.org/austin">Sunrise Movement Austin</a></li>



<li><a href="https://parentsclimatecommunity.org/">The Parents&#8217; Climate Community</a></li>



<li><a href="https://texaspsr.org/">Texas Physicians for Social Responsibility</a></li>



<li><a href="https://voicesofaustin.online/">Citizens&#8217; Climate Lobby</a></li>



<li><a href="https://koop.org/">KOOP Radio</a></li>
</ul>



<p class="wp-block-paragraph">Enjoy these photos of the Austin City Council Forum and audience.</p>



<figure class="wp-block-image size-large"><img fetchpriority="high" decoding="async" width="1024" height="576" src="https://solaraustin.org/wp-content/uploads/2026/08/Austin-Candidate-Forum-2026-Environment-transparency-1024x576.jpg" alt="" class="wp-image-4530" srcset="https://solaraustin.org/wp-content/uploads/2026/08/Austin-Candidate-Forum-2026-Environment-transparency-1024x576.jpg 1024w, https://solaraustin.org/wp-content/uploads/2026/08/Austin-Candidate-Forum-2026-Environment-transparency-300x169.jpg 300w, https://solaraustin.org/wp-content/uploads/2026/08/Austin-Candidate-Forum-2026-Environment-transparency-768x432.jpg 768w, https://solaraustin.org/wp-content/uploads/2026/08/Austin-Candidate-Forum-2026-Environment-transparency-1536x864.jpg 1536w, https://solaraustin.org/wp-content/uploads/2026/08/Austin-Candidate-Forum-2026-Environment-transparency-1200x675.jpg 1200w, https://solaraustin.org/wp-content/uploads/2026/08/Austin-Candidate-Forum-2026-Environment-transparency.jpg 2048w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>



<figure class="wp-block-image size-large"><img decoding="async" width="576" height="1024" src="https://solaraustin.org/wp-content/uploads/2026/08/Austin-Candidate-Forum-2026-Environment-transparency-room-576x1024.jpg" alt="" class="wp-image-4531" srcset="https://solaraustin.org/wp-content/uploads/2026/08/Austin-Candidate-Forum-2026-Environment-transparency-room-576x1024.jpg 576w, https://solaraustin.org/wp-content/uploads/2026/08/Austin-Candidate-Forum-2026-Environment-transparency-room-169x300.jpg 169w, https://solaraustin.org/wp-content/uploads/2026/08/Austin-Candidate-Forum-2026-Environment-transparency-room-768x1365.jpg 768w, https://solaraustin.org/wp-content/uploads/2026/08/Austin-Candidate-Forum-2026-Environment-transparency-room-864x1536.jpg 864w, https://solaraustin.org/wp-content/uploads/2026/08/Austin-Candidate-Forum-2026-Environment-transparency-room.jpg 1152w" sizes="(max-width: 576px) 100vw, 576px" /></figure>



<figure class="wp-block-image size-large"><img decoding="async" width="1024" height="768" src="https://solaraustin.org/wp-content/uploads/2026/08/Austin-City-Council-Forum-Environment-2026IMG_8748-1024x768.jpg" alt="" class="wp-image-4534" srcset="https://solaraustin.org/wp-content/uploads/2026/08/Austin-City-Council-Forum-Environment-2026IMG_8748-1024x768.jpg 1024w, https://solaraustin.org/wp-content/uploads/2026/08/Austin-City-Council-Forum-Environment-2026IMG_8748-300x225.jpg 300w, https://solaraustin.org/wp-content/uploads/2026/08/Austin-City-Council-Forum-Environment-2026IMG_8748-768x576.jpg 768w, https://solaraustin.org/wp-content/uploads/2026/08/Austin-City-Council-Forum-Environment-2026IMG_8748-1536x1152.jpg 1536w, https://solaraustin.org/wp-content/uploads/2026/08/Austin-City-Council-Forum-Environment-2026IMG_8748-2048x1536.jpg 2048w, https://solaraustin.org/wp-content/uploads/2026/08/Austin-City-Council-Forum-Environment-2026IMG_8748-1200x900.jpg?crop=1 1200w, https://solaraustin.org/wp-content/uploads/2026/08/Austin-City-Council-Forum-Environment-2026IMG_8748-800x600.jpg?crop=1 800w, https://solaraustin.org/wp-content/uploads/2026/08/Austin-City-Council-Forum-Environment-2026IMG_8748-600x450.jpg?crop=1 600w, https://solaraustin.org/wp-content/uploads/2026/08/Austin-City-Council-Forum-Environment-2026IMG_8748-400x300.jpg?crop=1 400w, https://solaraustin.org/wp-content/uploads/2026/08/Austin-City-Council-Forum-Environment-2026IMG_8748-200x150.jpg?crop=1 200w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="768" src="https://solaraustin.org/wp-content/uploads/2026/08/Austin-City-Council-Forum-Environment-2026IMG_8752-1024x768.jpg" alt="" class="wp-image-4536" srcset="https://solaraustin.org/wp-content/uploads/2026/08/Austin-City-Council-Forum-Environment-2026IMG_8752-1024x768.jpg 1024w, https://solaraustin.org/wp-content/uploads/2026/08/Austin-City-Council-Forum-Environment-2026IMG_8752-300x225.jpg 300w, https://solaraustin.org/wp-content/uploads/2026/08/Austin-City-Council-Forum-Environment-2026IMG_8752-768x576.jpg 768w, https://solaraustin.org/wp-content/uploads/2026/08/Austin-City-Council-Forum-Environment-2026IMG_8752-1536x1152.jpg 1536w, https://solaraustin.org/wp-content/uploads/2026/08/Austin-City-Council-Forum-Environment-2026IMG_8752-2048x1536.jpg 2048w, https://solaraustin.org/wp-content/uploads/2026/08/Austin-City-Council-Forum-Environment-2026IMG_8752-1200x900.jpg?crop=1 1200w, https://solaraustin.org/wp-content/uploads/2026/08/Austin-City-Council-Forum-Environment-2026IMG_8752-800x600.jpg?crop=1 800w, https://solaraustin.org/wp-content/uploads/2026/08/Austin-City-Council-Forum-Environment-2026IMG_8752-600x450.jpg?crop=1 600w, https://solaraustin.org/wp-content/uploads/2026/08/Austin-City-Council-Forum-Environment-2026IMG_8752-400x300.jpg?crop=1 400w, https://solaraustin.org/wp-content/uploads/2026/08/Austin-City-Council-Forum-Environment-2026IMG_8752-200x150.jpg?crop=1 200w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>
<p>The post <a href="https://solaraustin.org/2026/08/28/austin-city-council-candidate-forum-2026-environment-transparency-democracy/">Austin City Council Candidate Forum 2026 Environment, Transparency, Democracy</a> appeared first on <a href="https://solaraustin.org">Solaraustin</a>.</p>
]]></content>
		
					<link rel="replies" type="text/html" href="https://solaraustin.org/2026/08/28/austin-city-council-candidate-forum-2026-environment-transparency-democracy/#comments" thr:count="0" />
			<link rel="replies" type="application/atom+xml" href="https://solaraustin.org/2026/08/28/austin-city-council-candidate-forum-2026-environment-transparency-democracy/feed/atom/" thr:count="0" />
			<thr:total>0</thr:total>
			</entry>
		<entry>
		<author>
			<name>solaraustin</name>
					</author>

		<title type="html"><![CDATA[Where Do District 5 Candidates Stand on Climate, Data Centers, and Municipal Transparency in 2026?]]></title>
		<link rel="alternate" type="text/html" href="https://solaraustin.org/2026/08/25/where-do-district-5-candidates-stand-on-climate-data-centers-and-municipal-transparency/" />

		<id>https://solaraustin.org/?p=4327</id>
		<updated>2026-08-26T22:37:54Z</updated>
		<published>2026-08-25T16:51:46Z</published>
		<category scheme="https://solaraustin.org/" term="Austin City Council" /><category scheme="https://solaraustin.org/" term="Austin Climate Events" /><category scheme="https://solaraustin.org/" term="City Government" />
		<summary type="html"><![CDATA[<p>https://youtu.be/sbB_Ms7S83E?si=FD83Tkvbz2B4foXB Recorded August 22, 2026 Video transcript (NOTE: transcriptions can make mistakes) Farrah Abraham: Thanks, Mo. I’m Farah Abraham running [&#8230;]</p>
<p>The post <a href="https://solaraustin.org/2026/08/25/where-do-district-5-candidates-stand-on-climate-data-centers-and-municipal-transparency/">Where Do District 5 Candidates Stand on Climate, Data Centers, and Municipal Transparency in 2026?</a> appeared first on <a href="https://solaraustin.org">Solaraustin</a>.</p>
]]></summary>

					<content type="html" xml:base="https://solaraustin.org/2026/08/25/where-do-district-5-candidates-stand-on-climate-data-centers-and-municipal-transparency/"><![CDATA[		<div data-elementor-type="wp-post" data-elementor-id="4327" class="elementor elementor-4327">
				<div class="elementor-element elementor-element-4dfd7d3 e-flex e-con-boxed e-con e-parent" data-id="4dfd7d3" data-element_type="container" data-e-type="container">
					<div class="e-con-inner">
				<div class="elementor-element elementor-element-08d4b71 elementor-widget elementor-widget-video" data-id="08d4b71" data-element_type="widget" data-e-type="widget" data-settings="{&quot;youtube_url&quot;:&quot;https:\/\/youtu.be\/sbB_Ms7S83E?si=FD83Tkvbz2B4foXB&quot;,&quot;video_type&quot;:&quot;youtube&quot;,&quot;controls&quot;:&quot;yes&quot;}" data-widget_type="video.default">
				<div class="elementor-widget-container">
							<div class="elementor-wrapper elementor-open-inline">
			<div class="elementor-video"></div>		</div>
						</div>
				</div>
					</div>
				</div>
		<div class="elementor-element elementor-element-61e3395 e-flex e-con-boxed e-con e-parent" data-id="61e3395" data-element_type="container" data-e-type="container">
					<div class="e-con-inner">
				<div class="elementor-element elementor-element-2c11987 elementor-widget elementor-widget-text-editor" data-id="2c11987" data-element_type="widget" data-e-type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<p>Recorded August 22, 2026</p>
<p>Video transcript (NOTE: transcriptions can make mistakes)</p>
<p><b>Farrah Abraham:</b></p>
<p><span style="font-weight: 400;">Thanks, Mo. I’m Farah Abraham running for District 5. So, please look forward. I appreciate your vote and I am an advocacy for action. So, I look forward to hearing everyone’s concerns, figuring out the best touch point pipeline and getting that done. Thank you.</span></p>
<p><b>Ryan Alter:</b></p>
<p><span style="font-weight: 400;">Hello. Thank you all for being here. I am Council Member Ryan Alter. I really look forward to this conversation. You know, environment and our energy systems are very important to me and so I look forward to having that discussion today. Thank you.</span></p>
<p><b>Liz Brink:</b></p>
<p><span style="font-weight: 400;">Hi, y’all. My name’s Liz Brink. I’m running for District 5. I’m a native South Austinite and I would like to rebuild the trust in City Council by having transparency and accountability. And I’d like to do that by seeing how our money is spent and are we getting what we’re paying for and asking for an audit before we spend any more money.</span></p>
<p><b>David Weinberg:</b></p>
<p><span style="font-weight: 400;">Good afternoon. I’m David Weinberg. I am a longtime environmental advocate both in Texas and elsewhere and I’m a 17-year resident of District 5.</span></p>
<p><b>Moderator:</b></p>
<p><span style="font-weight: 400;">Okay. Thank you all. First couple questions on climate change and air pollution. And we will start with the left with Farah Abraham. Austin is behind on meeting its existing greenhouse gas reduction commitment to achieve net zero greenhouse gas emissions for the entire Austin community by 2040. How would you get the City of Austin to prioritize and adequately fund climate initiatives to match the scale and scope of the Austin Climate Equity Plan? Please be as specific as you can in your one-minute response. Thank you.</span></p>
<p><b>Farrah Abraham:</b></p>
<p><span style="font-weight: 400;">Yes, thank you. So, however big the gap is, I just want to understand the goals, get the pipeline so that we can bridge that gap as soon as possible. I know there was CO2 with the natural gas plants. You can actually hold the CO2 in there so you can meet those goals sooner and more possible. The governor of Texas has great initiatives already locked in. So, I just want to keep along that path and if there’s other great incentives or new plans from our communities, I look forward to enhancing that and getting that going as soon as possible. Thank you.</span></p>
<p><b>Moderator:</b></p>
<p><span style="font-weight: 400;">Council Member Alter.</span></p>
<p><b>Ryan Alter:</b></p>
<p><span style="font-weight: 400;">Yeah, this is a huge concern of mine. It’s why in 2024 when I looked at the Climate Equity Plan and saw how far behind we were, I said, you know, we really need to invest in a climate bond and I was the leading advocate for that because we have these great plans that we come up with and then we put them on the shelf and these goals that we need to meet as a community, we don’t put the investment in to do it. And so out of that, we saw a $50 million investment in securing public lands, open space. That’s something that is going to yield protections for a long time. We need to continue to reduce our emissions from our buildings. That is largely through our energy systems and having Austin Energy be even more green than it is today. But there are a lot of goals that we have and we are investing in those goals so that we can meet those challenges that we have. Thank you.</span></p>
<p><b>Liz Brink:</b></p>
<p><span style="font-weight: 400;">Oh, is that mic on? Hello.</span></p>
<p><b>Moderator:</b></p>
<p><span style="font-weight: 400;">Move it a little closer. We’ll make sure that we can hear you. Okay.</span></p>
<p><b>Liz Brink:</b></p>
<p><span style="font-weight: 400;">Oh, gotta let go. Sorry. So, I’m a 25-year member of the IBW. My background is in labor and electrical. So I would rely on other experts to help me out with this issue. But I do believe that it is a lofty goal worth pursuing to have the net zero by 2040. I understand that we can offset some of this carbon by planting more trees and upgrading buildings to use less power. There’s different avenues that we can pursue and, like I said, I would reach out and invite anybody that had any ideas that we could work together to get this goal met. I would appreciate it.</span></p>
<p><b>Moderator:</b></p>
<p><span style="font-weight: 400;">Thank you so much, Dave Weinberg.</span></p>
<p><b>David Weinberg:</b></p>
<p><span style="font-weight: 400;">So, I’m going to give a little bit of a political answer to this question. And that answer is addition by subtraction. And what we need to subtract is our current City Council members who are casting crazy anti-environmental votes, as they have been doing all year. What am I talking about? I’m talking about secret votes to build natural gas peaker plants here in Austin. I’m talking about economic development policies to draw data centers to Austin, Texas. I’m talking about this Thursday at Austin City Council, the council coming up with a regulatory framework to bring data centers to Austin, a position which appears to be in some ways to the right of our governor, Greg Abbott. This council’s really gone off the rails in terms of our climate goals and environmentalism, and I would like to turn that around. Thank you.</span></p>
<p><b>Moderator:</b></p>
<p><span style="font-weight: 400;">All right. Thank you. Next question is just simply going to ask for a show of hands by all the candidates on the panel. Heavy-duty diesel vehicles like trash trucks are highly polluting. Switching to electric models reduces local air pollution and greenhouse gas emissions and saves money over time, but it requires a significant upfront investment in the trucks, transfer stations, and charging stations. Would you commit to prioritizing funding the transition to electric trash trucks for Austin Resource Recovery? Would you commit to prioritizing that funding for that transition to electric trash trucks? Raise your hands if you would support doing that.</span></p>
<p><span style="font-weight: 400;">Okay. And for the record, Farah Abraham, Ryan Alter, David Weinberg raised hands in support. Liz Brink not raising her hand.</span></p>
<p><span style="font-weight: 400;">Thank you all. Onto environmental justice and children’s environmental rights. The question, Austin has a long history of environmental racism with polluting facilities concentrated in East Austin and communities of color. People point to the recent Dogs Head agreement as a newer example of this. And also the potential placement they’re deciding where to possibly put newly approved Austin Energy gas peaker plants. It may also raise some of these concerns. How would you ensure that Black, Brown, and lower-income communities are not disproportionately burdened? Please be as specific as possible and limit your response to one minute. Farah Abraham.</span></p>
<p><b>Farrah Abraham:</b></p>
<p><span style="font-weight: 400;">Thank you. I believe everyone, no matter your age, your background, where you live, you deserve clean water. So environmentally across the board, there’s initiatives that were passed for children to be equitable, to be included. We can also do school TV shows and small shows that can help enable the education and their voices. So I look forward to going to our schools in District 5. I look forward to going to the communities in District 5 and hearing directly the feedback and stepping up more wherever we need. But right now, it’s been really good on the new act and the incentives and continuing on there. So, I look forward to just taking more part and getting it better and better for everyone. Thank you.</span></p>
<p><b>Moderator:</b></p>
<p><span style="font-weight: 400;">Ryan Alter.</span></p>
<p><b>Ryan Alter:</b></p>
<p><span style="font-weight: 400;">Yeah, our city has a really sad history when it comes to environmental justice, environmental issues. We put our dirty power plants in East Austin. We put our factories in East Austin. And so it is incumbent upon us not only to just do things equitably, but to make sure that we are making additional investments in East Austin being clean, being green. And when I first came to Council, one of the things we looked at was our tree canopy. West Austin has a thriving tree canopy and East Austin doesn’t. And so I tripled the amount of money to our neighborhoods program so that we can invest more money in getting trees in the ground in East Austin. That is meaningful in terms of heat island effect, in terms of clean air, and initiatives like that are how we should continue to invest in righting the historical wrong. Thank you.</span></p>
<p><b>Liz Brink:</b></p>
<p><span style="font-weight: 400;">So, I would commit to remove any environmental hazards from any part of the city that needs addressed. Make sure everybody has clean water, making sure that they’re not living next to hazardous environments that’s hurting their quality of life, their breathing. And I also want to address the displacement of residents due to the higher property taxes because I think that gets overlooked a lot too, especially in the development of East Austin. We have a lot of residents that are losing their houses because they can’t afford property taxes and I think we need to address that also.</span></p>
<p><b>Moderator:</b></p>
<p><span style="font-weight: 400;">Okay, David.</span></p>
<p><b>David Weinberg:</b></p>
<p><span style="font-weight: 400;">So, siting is an incredibly important public health issue when we talk about the environment. It is something that I’ve worked on at the Texas legislature. It is something that historically in this country has fallen disproportionately on communities that are poorer and browner. I think interestingly right now in Texas you’re seeing something of a rebellion in rural Texas with data centers, with them encroaching on communities and really being a burden on people. So everyone is affected by these issues. I can tell you the way that I would personally protect Black and Brown and lower-class Austin, working-class Austin, from the siting of natural gas peaker plants is by not building them.</span></p>
<p><b>Moderator:</b></p>
<p><span style="font-weight: 400;">All right, thank you very much. Next question. In the past, Austin has funded an Austin Youth Climate Equity Council to engage young people in implementing the Austin Climate Equity Plan and supporting school sustainability projects. Would you enhance programs like these or others to meaningfully include young people’s perspectives in the city’s environmental and sustainability policymaking process? Please be as specific as possible and limit your response to one minute. Farah Abraham.</span></p>
<p><b>Farrah Abraham:</b></p>
<p><span style="font-weight: 400;">Yes, for youth environmental inclusivity, as I mentioned prior. Continuing on with that, I support that. We can again do TV shows, initiatives to grow the local community, gathering places, organizations, but heighten that, grow that, empower them. I mean, with my daughter being born on TV, I just believe in growing and including young voices wherever it matters. I know my candidate right here with his young children, I’m sure he gets all of his new ideas and how he can incorporate his kids, too. So, I think that’s really great of the parents who are up here right now advocating for you. So, I love that. Thank you.</span></p>
<p><b>Moderator:</b></p>
<p><span style="font-weight: 400;">Ryan Alter.</span></p>
<p><b>Ryan Alter:</b></p>
<p><span style="font-weight: 400;">Yeah, I mean as she touched on, I have three young kids and the world that we live them, the environment that we leave them, is a scary idea right now. I mean, I’m truly worried about their ability to be able to thrive in our community. My daughter is in Girl Scouts and they learned about recycling and composting one day and the excitement about that and telling us what we should be recycling and not. These types of things, you know, getting those into kids at a young age. No one is more impactful on their parents than the kids. And so I think programs like that are wonderful where kids become the ambassadors that the adults should be the ones doing the teaching, but sadly we’re the ones who haven’t lived up to what we need to be living up to.</span></p>
<p><b>Moderator:</b></p>
<p><span style="font-weight: 400;">Okay. Liz Brink.</span></p>
<p><b>Liz Brink:</b></p>
<p><span style="font-weight: 400;">Yeah, I think the youth should be highly involved in these decisions. They have very strong ideas and they can be very insightful. My kids are older. I’ve got a 23 and 25-year-old. But when they were both in Scouts, and Scouts can be very in tune with what’s happening, and they can have some really good ideas and can help guide on how they think things should go, and they can come up with things that you never even thought of. And yeah, don’t discount them. And you know, it’s important to make them feel like they have a voice and that they’re heard because there’s plenty of adults now that don’t feel that way. So, if we can make sure that the youth is included and feel a part, then I think we’ll see a greater array of ideas come forward.</span></p>
<p><b>Moderator:</b></p>
<p><span style="font-weight: 400;">And David Weinberg.</span></p>
<p><b>David Weinberg:</b></p>
<p><span style="font-weight: 400;">So, I will say as a general matter, I would support wholeheartedly robust environmental and public health education and inclusion with the youth of Austin, the youth of Texas, the youth of America. I mean, one thing that’s very that I am excited to see as sort of a middle-aged person is that a lot of this climate movement is being led by young people. Greta Thunberg is an excellent example and, you know, I would certainly personally be interested to hear Greta’s testimony if she were in Austin on Thursday and testifying at City Hall when they’re developing this regulatory framework to bring data centers to town. I think that she may not be totally in support of that. But I will leave it there and pass the mic. Thank you.</span></p>
<p><b>Moderator:</b></p>
<p><span style="font-weight: 400;">Thank you very much. On to energy. The Austin City Council adopted a goal of achieving net zero greenhouse gas emissions for the entire Austin community by 2040 and a carbon-free goal by 2035 for Austin Energy. That’s the city’s electric utility. But Austin City Council also recently approved the purchase of 400 megawatts of methane gas known as natural gas power plants. Would you support cancelling the contract for Austin Energy to build new gas-burning power plants? Would you support cancelling that contract to build the new gas power plants? Please respond yes or no and limit your response to 30 seconds. Farah Abraham.</span></p>
<p><b>Farrah Abraham:</b></p>
<p><span style="font-weight: 400;">No, I would not cancel that because when our solar and our wind goes down, that is a backup. We needed another plant given that we were having freezing and our backups weren’t working. So, at this time, we can still move forward with that and I look forward to working with everyone so that helps those in need like on oxygen and everything else when their power goes down that they have those services.</span></p>
<p><b>Moderator:</b></p>
<p><span style="font-weight: 400;">Thank you, Council Member Ryan Alter.</span></p>
<p><b>Ryan Alter:</b></p>
<p><span style="font-weight: 400;">Yes. I think I made my position on natural gas production very clear. I was against it when we were building or developing the generation plan. If we can fill these needs, and we do have growing capacity needs, we should do it with solar and with batteries, hopefully geothermal. We’re doing a geothermal pilot. We need to think to the future and fossil fuels are the way of the past.</span></p>
<p><b>Moderator:</b></p>
<p><span style="font-weight: 400;">So, just to be clear, you would support cancelling the contract for Austin Energy to build the new natural gas-burning plants then?</span></p>
<p><b>Ryan Alter:</b></p>
<p><span style="font-weight: 400;">Yes.</span></p>
<p><b>Moderator:</b></p>
<p><span style="font-weight: 400;">Liz Brink.</span></p>
<p><b>Liz Brink:</b></p>
<p><span style="font-weight: 400;">No, I would not support cancelling the contract. I think it’s important to keep many options open as far as our energy is concerned because we currently have coal, natural gas, nuclear, solar, wind, biomass, and hopefully more geothermal. And I think it’s important to keep everything diversified. It doesn’t mean that we have to use so much of it, but just to keep it in your back pocket.</span></p>
<p><b>Moderator:</b></p>
<p><span style="font-weight: 400;">Thank you, David Weinberg.</span></p>
<p><b>David Weinberg:</b></p>
<p><span style="font-weight: 400;">Yes, I would cancel it and I would also work very hard to finally, finally, finally get Austin out of power generation at the Fayette coal plant. Texas is the nation’s leader in utility-scale wind energy and now I believe the leader in utility-scale solar. I believe that’s the direction we should keep going and that’s what I support.</span></p>
<p><b>Moderator:</b></p>
<p><span style="font-weight: 400;">Okay, next question. Austin Energy needs additional local clean energy resources. The question: Do you support committing City of Austin and Austin Energy funds to establishing programs that empower low- to medium-income residents to host batteries and solar installations that are owned and operated by third parties without any out-of-pocket costs? Please respond yes or no and then keep your answer to 30 seconds. Farah Abraham.</span></p>
<p><b>Farrah Abraham:</b></p>
<p><span style="font-weight: 400;">Yes, I would support that. I was excited to read more about this. So, our residences can be paid to host these. So, $25,000 to host these at your house. I think that’s great income without working and other initiatives that can benefit everyone. So, I look forward to hearing more, growing that, scaling that, and if it’s nothing out of anyone’s pocket, more the merrier. Thank you.</span></p>
<p><b>Moderator:</b></p>
<p><span style="font-weight: 400;">Ryan Alter.</span></p>
<p><b>Ryan Alter:</b></p>
<p><span style="font-weight: 400;">Yeah, we were supposed to have a program like this, the Solar for All, that was yanked by the Trump administration. And so when that happened, I put a resolution together asking Austin Energy to come up with another way for us to get solar, get batteries for our lower-income residents to have that benefit. They’re working on that. I think that a residential solar standard offer is one great way to achieve that. But we have to expand our local solar and that doesn’t just apply to residential. I also brought forward what is going to be the largest city-owned solar on city facilities in the nation.</span></p>
<p><b>Moderator:</b></p>
<p><span style="font-weight: 400;">Okay, Liz Brink.</span></p>
<p><b>Liz Brink:</b></p>
<p><span style="font-weight: 400;">So, my first inclination is to support this, but with any good idea, the devil’s in the details. So, I would need to look at it and make sure that there weren’t any unforeseen costs that go into the solar because, you know, does their roof support it? You know, do we have to redo the panel? There’s a lot that goes into it. So, it just, I don’t want to just say yes, but it would need willing to look at it seriously just to make sure that there’s no undue burden to the residents.</span></p>
<p><b>Moderator:</b></p>
<p><span style="font-weight: 400;">Thank you, David Weinberg.</span></p>
<p><b>David Weinberg:</b></p>
<p><span style="font-weight: 400;">So, I did six years of environmental work at the Texas Capitol and I’ll be honest with you, and we were trying to push these distributed energy bills. Sometimes the utilities were the biggest problem in terms of getting them moved forward in the legislative process. But, so there might be some push and pull with Austin Energy there, but you can trust me to be a huge proponent of distributed energy, building that out in Austin. God, I mean, how much solar energy could we be producing this afternoon? Probably tons.</span></p>
<p><b>Moderator:</b></p>
<p><span style="font-weight: 400;">All right, next question. Do you support updating city zoning to exclude larger-scale data centers to enact essentially a de facto ban? You can respond yes or no and limit your response to one minute. Farah Abraham.</span></p>
<p><b>Farrah Abraham:</b></p>
<p><span style="font-weight: 400;">I would say no. I’m not going to limit. I think we can have ordinances. We can grow our districts and we can flourish in the growth everyone together.</span></p>
<p><b>Ryan Alter:</b></p>
<p><span style="font-weight: 400;">Yes, data centers shouldn’t be here in Austin. And it’s been conveniently described by someone on this panel that we’re inviting data centers here. That’s just not factual, but that’s par for the course. So, what is factual is that we are creating the tool to prohibit data centers from being here. Right now, we don’t have that tool. As a city, we can zone and through zoning, we can exclude data centers. And I went on the message board this week saying that what was put forward by the city manager was nowhere strong enough. We need to say no data centers in any existing zoning category and create a data center zone so that if someone who wants to do a data center like we have at UT for research or something like that, small scale, we the public through the council have that decision. But we should not have large-scale data centers here in the city. That’s just an easy answer.</span></p>
<p><b>Moderator:</b></p>
<p><span style="font-weight: 400;">Thank you, Liz.</span></p>
<p><b>Liz Brink:</b></p>
<p><span style="font-weight: 400;">Okay, so like I said, I come from a labor background and these data centers are producing massive amounts of work for our plumbers, pipe fitters, electricians, iron workers, you name it. We’re getting tons and tons and tons of work from these data centers. And there are currently, I believe, somewhere in neighborhood of like 50 data centers in Austin already. We have two major ones. We have Skybox. We have, oh my goodness, SEBI, and those are major data centers that are already in the area and there’s, I think, currently about 56 being planned or started between Temple and San Antonio. So they’re here. But I think what we can do is work with environmentalists and making conditions to where we reduce the amount of strain on the energy cost with on the electricity by using maybe some different means of—oh, I’m out.</span></p>
<p><b>Moderator:</b></p>
<p><span style="font-weight: 400;">Okay. Yeah, let us time out. I do want to just clarify. So you would not support a de facto ban then as to the question, you not support that. Okay. David Weinberg.</span></p>
<p><b>David Weinberg:</b></p>
<p><span style="font-weight: 400;">So this is an environmental forum. We’re here to discuss environmental matters. But just so everyone knows who I am, David Weinberg, as a matter of governance, I do not believe in paternalistic government. I don’t believe in I’m here to tell you what the right answer is. I believe that government is supposed to be something that listens to people and is responsive to people. And what I’m hearing from people in District 5 and what I’m hearing from Austin environmental groups is that they want to put the brakes on this sort of rampant development of data centers in Austin. And I support that point of view. With my 20 seconds left here, I’ll say, so the City Council passed an economic development resolution in May and in its first version, which Ryan Alter was a sponsor of, it explicitly spelled out that one of the things that we want to bring to Austin and find new ways, creative ways to do it, is data centers.</span></p>
<p><b>Moderator:</b></p>
<p><span style="font-weight: 400;">Thank you. Okay, I remind you all you’ll have a minute at the end of this if there’s anything else you want to pick up on, but I’m going to move forward right now just for time purposes. We are on to water quality. The Dogs Head agreement recently approved by council reduces the environmental standards for the critical water quality zone of the Colorado River. The question is, would you support reinstating the standard critical water quality zone to 400 ft in a Dogs Head and to keep the trail next to it, but out of the critical water quality zone? So, I’m going to just ask this question again a little more simply. Raise your hand if you would support reinstating the prior water quality standard for Dogs Head. I think that’s the heart of this question. Would you support reinstating the prior water quality standard for Dogs Head? Everybody raise their hand. Everybody raise their hand.</span></p>
<p><span style="font-weight: 400;">Okay, next question. Water conservation. In 2024, Austin Water, that’s our local water utility, our city water utility. The pipe system for Austin Water lost 17% of our water through leaks. Replacing old pipes is more cost-effective than expanding supply. The question: Would you support an average $1 per month increase in residential water bills dedicated to fixing leaks and a similar but higher fee charged to commercial customers for the same reason? Would you support an average $1 per month increase residential and a similar but higher fee to commercial for fixing leaky pipes in Austin? You can respond yes or no and then have 30 seconds to talk. Farah Abraham.</span></p>
<p><b>Farrah Abraham:</b></p>
<p><span style="font-weight: 400;">Yes. My response is no. I hope that we fix our internal infrastructure so that way we don’t install the wrong pipes, have these leaking pipe problems. And I don’t want to encourage more costs for our residents and our commercial and our others who are wanting to own companies and businesses and be commercialized. I don’t want to pass that off to them either. So, I think just getting great, trained infrastructure is the best way before I have everyone have more money out of their pocket. Thanks.</span></p>
<p><b>Moderator:</b></p>
<p><span style="font-weight: 400;">Thank you, Ryan Alter.</span></p>
<p><b>Ryan Alter:</b></p>
<p><span style="font-weight: 400;">Yeah, I think the critical thing there is average, right? I would want to see that be applied to our larger water users. I don’t think those who are conserving or on the lower end financially should be bearing that brunt. We saw just two years ago that three Lady Bird Lakes worth of water was being leaked by our water supply system every single year. That’s unacceptable. We have made some improvements, but we have got to invest in our infrastructure. That was one of the things I wanted to invest in in a climate bond, but we need to make sure that we’re not leaking our water.</span></p>
<p><b>Moderator:</b></p>
<p><span style="font-weight: 400;">Liz Brink.</span></p>
<p><b>Liz Brink:</b></p>
<p><span style="font-weight: 400;">No. I would not support an increase. While I do admit, yes, we definitely need to fix our infrastructure, but we are getting nickeled and dimed to death. We need an audit to know where is this money going, how is it being spent, what are we getting for our money.</span></p>
<p><b>Moderator:</b></p>
<p><span style="font-weight: 400;">Thank you, David Weinberg.</span></p>
<p><b>David Weinberg:</b></p>
<p><span style="font-weight: 400;">So, no, no on the residential increase, yes on the commercial. Similar affordability concerns, what Liz was just talking about. I mean, I think this is a sort of—it’s not as black and white of a sort of policy question as it may appear. It’s certainly a big concern. There are excellent, excellent water experts in this city, in this room, Byron Hess, my neighbor Sarah Foust. I would certainly look to work with those people on how can we best address this.</span></p>
<p><b>Moderator:</b></p>
<p><span style="font-weight: 400;">Thank you very much. Next question. Currently, requests to extend water service to a development in the drinking water protection zone requires council approval. This is to help protect some environmentally sensitive areas, but it does not address companies like data centers and chip manufacturers using too much drinking water. The question: Would you support requiring council approval, city council approval, for all industrial and commercial service extension requests that use large amounts of water, and this is regardless of where they’re located in the city? Would you support council approval regardless of where they’re located in the city? Please raise your hand if you support council approval of large water user service extension requests.</span></p>
<p><span style="font-weight: 400;">Everybody raised their hand. Everybody supports this idea. Thank you.</span></p>
<p><span style="font-weight: 400;">On to democracy and transparency. Texas state law allows City Council to vote in secret on some decisions for Austin Energy. That’s our city’s electric utility. This was recently used to allow a secret vote on what appears to be an over $1 billion investment in natural gas generation, raising concerns in the community. The question is, would you support a city ordinance that would require the Austin City Council to vote in public on all Austin Energy matters? Please raise your hand if you support council voting in public on all Austin Energy matters.</span></p>
<p><span style="font-weight: 400;">Okay. And we have Farah Abraham, Liz Brink, and David Weinberg raising their hand in agreement. And Council Member Ryan Alter not supporting the idea to vote in public on all Austin Energy matters.</span></p>
<p><span style="font-weight: 400;">All right, next question. This one is about NDAs and also lobbying during council sessions. If you’ve been tuning in for a while, you might have heard it before. Non-disclosure agreements, or NDAs, are sometimes used by developers and other businesses to share information with city officials while keeping that information from the public. Likewise, recent controversial votes like the one on the Dogs Head have raised concerns about lobbying by business interests during city council meetings outside of public view. The question is, would you support a city ordinance that defines transparency practices like prohibiting the use of NDAs by elected officials and their staff and prohibiting lobbying during city council meetings out of public view? Would you support such an ordinance? And if you want to break those two down into two different things, by all means, you have 30 seconds to do so after you respond yes or no, but 30 seconds to answer the question. We began with Farah Abraham.</span></p>
<p><b>Farrah Abraham:</b></p>
<p><span style="font-weight: 400;">So yes, I’m in support of that. So everything can be public and everyone can see everything. So nothing hidden from the public. Thank you so much.</span></p>
<p><b>Moderator:</b></p>
<p><span style="font-weight: 400;">Okay, Council Member Ryan Alter.</span></p>
<p><b>Ryan Alter:</b></p>
<p><span style="font-weight: 400;">Yeah, I certainly think the NDA problem is a real problem that should not exist. The lobbying question, you know, I have received texts from someone in this room, Kaiba White, has given me some great questions when we’re having various conversations. And I think it’s really important for the public to be able to communicate with people. If we drew the line at one person and not another, I worry you’d have a First Amendment violation. But I think that everything that we do is public information. You can submit a public information request anytime and I gladly do it. But I think that having that information and being able to ask the hard questions, sometimes we don’t have all the answers. So, I am not the mayor, so I can’t do that.</span></p>
<p><b>Moderator:</b></p>
<p><span style="font-weight: 400;">I just want to clarify. So, you’d be in favor then of the NDA ordinance, but you think it’s a little bit more complicated to answer the lobbying ordinance?</span></p>
<p><b>Ryan Alter:</b></p>
<p><span style="font-weight: 400;">The lobbying question is, yes, I think it’s more complicated than it sounds on its face. Thank you.</span></p>
<p><b>Moderator:</b></p>
<p><span style="font-weight: 400;">Liz Brink.</span></p>
<p><b>Liz Brink:</b></p>
<p><span style="font-weight: 400;">All right. I would support both of those. I think that this position, you are a public servant. The money comes from the taxpayers. We owe it. If I were elected, I would feel obligated that the taxpayer knew exactly what I was doing, exactly what was going on at all times. And yeah, transparency. Thank you so much.</span></p>
<p><b>Moderator:</b></p>
<p><span style="font-weight: 400;">David Weinberg.</span></p>
<p><b>David Weinberg:</b></p>
<p><span style="font-weight: 400;">Yeah, 100% support of both of these measures. I think our current Austin City Council has become way too close with a handful of big special interest groups that dominate policymaking at council these days and I would fully support both of these measures.</span></p>
<p><b>Moderator:</b></p>
<p><span style="font-weight: 400;">Thank you very much. All right. We are on to the part where you will each get one more minute to kind of reexplore any questions raised here. Just take the platform where you want to take it. Farah Abraham, one minute.</span></p>
<p><b>Farrah Abraham:</b></p>
<p><span style="font-weight: 400;">Thank you for having me. Thank you for voting for me in advance. I look forward to being an advocate for you and supporting you however I can. Thank you so much.</span></p>
<p><b>Moderator:</b></p>
<p><span style="font-weight: 400;">Council Member Ryan Alter.</span></p>
<p><b>Ryan Alter:</b></p>
<p><span style="font-weight: 400;">I really appreciate y’all being here. You know, over the past four years, I have been one of, if not the leading environmental voice on the council advocating for many, many things. Whether it’s when we were doing the generation plan against investing in fossil fuels and asking the hard questions, taking the time to really press on Austin Energy, whether it’s just recently a resolution to limit the large-scale water users and making sure that they don’t suck us dry, whether that’s a data center or someone else. Water is critical and if we just give it away, we will not be able to survive as a city. Whether it’s putting solar on city facilities, having what will be potentially the largest solar installation on city facilities in the country. That’s because of work that I have done. And so the list goes on and on. Investing in new park space, new open space. These are things that I have had the chance to work with many in this room on and I will hope to continue to do that in the next four years.</span></p>
<p><b>Moderator:</b></p>
<p><span style="font-weight: 400;">Liz Brink.</span></p>
<p><b>Liz Brink:</b></p>
<p><span style="font-weight: 400;">All right. I just wanted to touch on me voting no for the EV heavy trucks. I drive by those city buses that are parked off of Ben White, the EV buses, and they’re just sitting there. And I would not want the EV trash trucks to end up like that. So I wouldn’t want to see a plan on how we’re going to make sure they’re being charged, make sure they’re being used. What’s going to happen should we lose power? You know, are there backup generators? There’s a lot of questions to be asked before you just blanketly say yes. And then I also want to touch on data centers, how labor and environmentalists work together to find ways to make these projects happen. That way labor can get the jobs brought into the area and we can protect the environment at the same time.</span></p>
<p><b>Moderator:</b></p>
<p><span style="font-weight: 400;">Okay. Thank you, David Weinberg.</span></p>
<p><b>David Weinberg:</b></p>
<p><span style="font-weight: 400;">So we didn’t get to do a lot of bio talking up here. So just quickly, I was thinking as I was coming up here today, 25 years ago, one of my first jobs out of college was working for the Public Interest Research Group network, and some of the things I did back then were passing some of the nation’s first clean indoor air laws, expanding or protecting bottle bills. Here in Texas, I worked for six years as head of the Texas League of Conservation Voters, three sessions up at the state Capitol. So I have been doing environmental and public health work in the public interest for almost all of my adult life. And I will bring the fight and the vigor and the enthusiasm that I brought to all of those things over the last quarter century to my position being the council member for District 5 in Austin. Thank you.</span></p>
<p><b>Moderator:</b></p>
<p><span style="font-weight: 400;">Right. I want to thank all the candidates that are here today for participating. Thank you for your thoughts.</span></p>								</div>
				</div>
					</div>
				</div>
				</div>
		<p>The post <a href="https://solaraustin.org/2026/08/25/where-do-district-5-candidates-stand-on-climate-data-centers-and-municipal-transparency/">Where Do District 5 Candidates Stand on Climate, Data Centers, and Municipal Transparency in 2026?</a> appeared first on <a href="https://solaraustin.org">Solaraustin</a>.</p>
]]></content>
		
					<link rel="replies" type="text/html" href="https://solaraustin.org/2026/08/25/where-do-district-5-candidates-stand-on-climate-data-centers-and-municipal-transparency/#comments" thr:count="0" />
			<link rel="replies" type="application/atom+xml" href="https://solaraustin.org/2026/08/25/where-do-district-5-candidates-stand-on-climate-data-centers-and-municipal-transparency/feed/atom/" thr:count="0" />
			<thr:total>0</thr:total>
			</entry>
		<entry>
		<author>
			<name>solaraustin</name>
					</author>

		<title type="html"><![CDATA[Solar Savings Calculator Austin, TX]]></title>
		<link rel="alternate" type="text/html" href="https://solaraustin.org/2026/08/24/solar-savings-calculator-austin-tx/" />

		<id>https://solaraustin.org/?p=4286</id>
		<updated>2026-08-27T14:17:34Z</updated>
		<published>2026-08-24T20:36:05Z</published>
		<category scheme="https://solaraustin.org/" term="Energy innovation" /><category scheme="https://solaraustin.org/" term="Solar savings Austin, TX" /><category scheme="https://solaraustin.org/" term="Austin" /><category scheme="https://solaraustin.org/" term="solar" /><category scheme="https://solaraustin.org/" term="Solar Austin" /><category scheme="https://solaraustin.org/" term="solar panels" />
		<summary type="html"><![CDATA[<p>Austin Energy Commercial Solar Proposal Engine Start Here Enter tax status, roof square footage, and electricity consumption to instantly generate [&#8230;]</p>
<p>The post <a href="https://solaraustin.org/2026/08/24/solar-savings-calculator-austin-tx/">Solar Savings Calculator Austin, TX</a> appeared first on <a href="https://solaraustin.org">Solaraustin</a>.</p>
]]></summary>

					<content type="html" xml:base="https://solaraustin.org/2026/08/24/solar-savings-calculator-austin-tx/"><![CDATA[
<meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Austin Energy Commercial Solar Proposal Engine</title>
    <style>
        :root {
            --primary: #005A9C;
            --secondary: #00875A;
            --dark: #1E293B;
            --light: #F8FAFC;
            --border: #CBD5E1;
        }
        body {
            font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
            background-color: var(--light);
            color: var(--dark);
            margin: 0;
            padding: 30px;
        }
        .container {
            max-width: 1200px;
            margin: 0 auto;
            background: #ffffff;
            padding: 40px;
            border-radius: 12px;
            box-shadow: 0 10px 25px rgba(0,0,0,0.05);
        }
        h1, h2, h3 {
            color: var(--primary);
            margin-top: 0;
        }
        .intro {
            margin-bottom: 30px;
            font-size: 1.1rem;
            color: #64748B;
        }
        .input-grid {
            display: grid;
            grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
            gap: 20px;
            background: #F1F5F9;
            padding: 25px;
            border-radius: 8px;
            margin-bottom: 40px;
            border: 1px solid var(--border);
        }
        .input-group {
            display: flex;
            flex-direction: column;
        }
        label {
            font-weight: 600;
            margin-bottom: 8px;
            font-size: 0.9rem;
            text-transform: uppercase;
            letter-spacing: 0.5px;
        }
        select, input {
            padding: 12px;
            border: 1px solid var(--border);
            border-radius: 6px;
            font-size: 1rem;
            outline: none;
        }
        select:focus, input:focus {
            border-color: var(--primary);
        }
        .comparison-cards {
            display: grid;
            grid-template-columns: repeat(auto-fit, minmax(350px, 1fr));
            gap: 30px;
            margin-bottom: 50px;
        }
        .card {
            border: 2px solid var(--border);
            border-radius: 10px;
            padding: 30px;
            background: #ffffff;
            box-shadow: 0 4px 6px -1px rgba(0,0,0,0.05);
        }
        .card.recommended {
            border-color: var(--secondary);
            background: #F0FDF4;
        }
        .card h2 {
            font-size: 1.5rem;
            border-bottom: 2px solid var(--border);
            padding-bottom: 10px;
            margin-bottom: 20px;
        }
        .metric {
            display: flex;
            justify-content: space-between;
            padding: 10px 0;
            border-bottom: 1px dashed var(--border);
        }
        .metric:last-of-type {
            border-bottom: none;
        }
        .metric-val {
            font-weight: 700;
        }
        .highlight {
            color: var(--secondary);
            font-size: 1.25rem;
        }
        .table-container {
            overflow-x: auto;
            margin-top: 20px;
            margin-bottom: 40px;
            border: 1px solid var(--border);
            border-radius: 8px;
        }
        table {
            width: 100%;
            border-collapse: collapse;
            text-align: right;
            font-size: 0.9rem;
        }
        th, td {
            padding: 12px 15px;
            border-bottom: 1px solid var(--border);
        }
        th {
            background-color: #E2E8F0;
            color: var(--dark);
            font-weight: 600;
        }
        tr:nth-child(even) {
            background-color: #F8FAFC;
        }
        .txt-left { text-align: left; }
        .pbi-row { background-color: #E6F4EA !important; }
        .inverter-row { background-color: #FEE2E2 !important; font-weight: 600; }
        .print-btn {
            background-color: var(--primary);
            color: white;
            padding: 12px 24px;
            border: none;
            border-radius: 6px;
            font-size: 1rem;
            cursor: pointer;
            font-weight: 600;
            margin-bottom: 20px;
        }
        .print-btn:hover { background-color: #004475; }
        .section-break {
            margin-top: 50px;
            border-top: 3px double var(--border);
            padding-top: 20px;
        }
        @media print {
            body { padding: 0; background: white; }
            .input-grid, .print-btn { display: none; }
            .container { box-shadow: none; padding: 0; }
        }
    </style>



<div class="container">
    <h1>Start Here</h1>
    <p class="intro">Enter tax status, roof square footage, and electricity consumption to instantly generate solar financial return estimates.</p>
    
    <button class="print-btn" onclick="window.print()">Print Pro-Forma Report</button>

    <div class="input-grid">
        <div class="input-group">
            <label for="status">Tax Status</label>
            <select id="status" onchange="runProForma()">
                <option value="nonprofit">Nonprofit</option>
                <option value="forprofit" selected="">For-Profit</option>
            </select>
        </div>
        <div class="input-group">
            <label for="roofSqFt">Available Roof Sq ft</label>
            <input type="number" id="roofSqFt" value="24150" min="0" step="500" oninput="updateSizeFromRoof()">
        </div>
        <div class="input-group">
            <label for="systemSize">System Size (kW)</label>
            <input type="number" id="systemSize" value="161" min="1" step="1" oninput="runProForma()">
        </div>
        <div class="input-group">
            <label for="costPerWatt">Installer Quote ($/W)</label>
            <input type="number" id="costPerWatt" value="2.20" min="0.50" step="0.05" oninput="runProForma()">
        </div>
        <div class="input-group">
            <label for="annualBill">Annual Electric Bill ($)</label>
            <input type="number" id="annualBill" value="35000" min="500" step="250" oninput="runProForma()">
        </div>
    </div>

    <div class="comparison-cards" id="cards"></div>

    <h2>Executive Summary: 25-Year Net Cash Flow Savings</h2>
    <div class="table-container">
        <table>
            <thead>
                <tr>
                    <th class="txt-left">Year</th>
                    <th>Owner Built: Net Savings (After Expenses)</th>
                    <th>Std Offer: 20% Roof Lease Revenue</th>
                </tr>
            </thead>
            <tbody id="ledger-body"></tbody>
            <tfoot>
                <tr style="font-weight: bold; background: #E2E8F0;">
                    <td class="txt-left">Total Value (Sum)</td>
                    <td id="total-owner">$0</td>
                    <td id="total-ppa">$0</td>
                </tr>
            </tfoot>
        </table>
    </div>

    <h2 class="section-break">Audit Trail: Granular Calculations &amp; Engineering Data</h2>
    <p style="color:#64748B; margin-bottom:20px;">Use this sheet to check mathematical outputs against back-office calculations. Tracks performance shifts and production credits over time.</p>
    <div class="table-container">
        <table>
            <thead>
                <tr>
                    <th class="txt-left">Year</th>
                    <th>Solar Production (kWh)</th>
                    <th>Gross Bill Savings ($)</th>
                    <th>AE PBI Credit ($)</th>
                    <th>Operating O&amp;M Hit ($)</th>
                    <th>Net Owner Flow ($)</th>
                </tr>
            </thead>
            <tbody id="audit-body"></tbody>
        </table>
    </div>
</div>

<script>
// Rule of Thumb Trigger: 15 sq ft per 100W (or 150 sq ft per 1 kW)
function updateSizeFromRoof() {
    const roofSqFt = parseFloat(document.getElementById('roofSqFt').value) || 0;
    if (roofSqFt > 0) {
        const calculatedKw = Math.round(roofSqFt / 150);
        document.getElementById('systemSize').value = calculatedKw;
    }
    runProForma();
}

function runProForma() {
    // 1. Inputs
    const status = document.getElementById('status').value;
    const kw = parseFloat(document.getElementById('systemSize').value) || 0;
    const costPerWatt = parseFloat(document.getElementById('costPerWatt').value) || 0;
    const annualBill = parseFloat(document.getElementById('annualBill').value) || 0;

    // 2. Financial & Environmental Assumptions
    const discountRate = 0.06;      
    const degradation = 0.0005;     
    const utilityEscalator = 0.03;  
    const leaseEscalator = 0.02;    
    const omEscalator = 0.02;       
    const omBaseRate = 10;          
    const productionFactor = 1350;  
    const stdOfferRate = 0.110;     
    const blendedUtilityRate = 0.146; 
    const inverterReplacementKwRate = 150; 

    // Calculated Variables
    const fullPrice = kw * 1000 * costPerWatt;
    const initialOm = kw * omBaseRate;
    const inverterCostYear12 = kw * inverterReplacementKwRate;
    
    // Back-calculating historical annual consumption baseline based on bill and blended rate
    const historicalAnnualKwhConsumption = annualBill / blendedUtilityRate;

    // Legally Correct AE Commercial Incentive Tier Arrays
    let upfrontCbiRebate = 0;
    let pbiKwhRate = 0;

    if (status === 'nonprofit') {
        if (kw <= 200) {
            upfrontCbiRebate = kw * 1000 * 1.00; 
        } else {
            pbiKwhRate = 0.10; 
        }
    } else { 
        if (kw <= 100) {
            upfrontCbiRebate = kw * 1000 * 0.70; 
        } else {
            pbiKwhRate = 0.10; 
        }
    }

    // Incentives calculations
    const itc = (fullPrice - upfrontCbiRebate) * 0.30;
    const depreciation = status === 'forprofit' ? (fullPrice - upfrontCbiRebate - (itc * 0.5)) * 0.21 : 0;
    const netOwnerPrice = fullPrice - upfrontCbiRebate - itc - depreciation;
    
    // Starting Revenue baselines
    const initialLeaseRevenue = ((kw * productionFactor) * stdOfferRate) * 0.20; 

    // Generate 25-Year Ledger arrays
    let ownerCashFlows = [ -netOwnerPrice ];
    let leaseCashFlows = [ 0 ]; 
    
    let tableHtml = '';
    let auditHtml = '';
    
    let totalOwnerSum = 0;
    let totalLeaseSum = 0;

    const formatter = new Intl.NumberFormat('en-US', { style: 'currency', currency: 'USD', maximumFractionDigits: 0 });
    const numFormatter = new Intl.NumberFormat('en-US', { maximumFractionDigits: 0 });

    for (let year = 1; year <= 25; year++) {
        let t = year - 1;
        
        // Accurate annual production calculating degradation hits compounding
        let currentYearProductionKwh = (kw * productionFactor) * Math.pow(1 - degradation, t);
        
        // Escalating localized commercial electric rates
        let currentYearUtilityRate = blendedUtilityRate * Math.pow(1 + utilityEscalator, t);
        
        // Calculate direct savings avoiding baseline utility charges vs excess sellback values
        let grossBillSavings = 0;
        if (currentYearProductionKwh <= historicalAnnualKwhConsumption) {
            grossBillSavings = currentYearProductionKwh * currentYearUtilityRate;
        } else {
            let offsetSavings = historicalAnnualKwhConsumption * currentYearUtilityRate;
            let excessKwh = currentYearProductionKwh - historicalAnnualKwhConsumption;
            let excessValue = excessKwh * 0.098; 
            grossBillSavings = offsetSavings + excessValue;
        }

        // Standard O&#038;M Escalation hits
        let currentOmHit = initialOm * Math.pow(1 + omEscalator, t);
        
        // Active Inverter replacement check loop logic
        let isSharedInverterYear = (year === 12);
        if (isSharedInverterYear) {
            currentOmHit += inverterCostYear12;
        }

        // Automatic 5-Year PBI credit allocation engine
        let currentYearPbiEarnings = 0;
        let hasPbiBonus = (pbiKwhRate > 0 && year <= 5);
        if (hasPbiBonus) {
            currentYearPbiEarnings = currentYearProductionKwh * pbiKwhRate;
        }

        // Sum the net total return values for the owner built model
        let ownerNet = grossBillSavings + currentYearPbiEarnings - currentOmHit;
        
        // Roof Lease calculations
        let leaseNet = (initialLeaseRevenue * Math.pow(1 - degradation, t) * Math.pow(1 + leaseEscalator, t));
        
        ownerCashFlows.push(ownerNet);
        leaseCashFlows.push(leaseNet);
        
        totalOwnerSum += ownerNet;
        totalLeaseSum += leaseNet;

        // Row highlighting and naming configuration sets
        let rowClass = '';
        let yearLabel = `Year ${year}`;
        if (hasPbiBonus) {
            rowClass = 'class="pbi-row"';
            yearLabel = `Year ${year} (+ AE PBI Credit)`;
        } else if (isSharedInverterYear) {
            rowClass = 'class="inverter-row"';
            yearLabel = `Year 12 (Inverter Swap)`;
        }

        // Populate Summary Financial Deck
        tableHtml += `<tr ${rowClass}>
            <td class="txt-left">${yearLabel}</td>
            <td>${formatter.format(ownerNet)}</td>
            <td>${formatter.format(leaseNet)}</td>
        </tr>`;

        // Populate Granular Audit Trail Ledger
        auditHtml += `<tr ${rowClass}>
            <td class="txt-left">Year ${year}</td>
            <td>${numFormatter.format(currentYearProductionKwh)} kWh</td>
            <td>${formatter.format(grossBillSavings)}</td>
            <td>${formatter.format(currentYearPbiEarnings)}</td>
            <td>-${formatter.format(currentOmHit)}</td>
            <td style="font-weight:600;">${formatter.format(ownerNet)}</td>
        </tr>`;
    }

    // Financial calculations engines
    function calcNPV(flows) {
        let npv = flows[0];
        for (let i = 1; i < flows.length; i++) {
            npv += flows[i] / Math.pow(1 + discountRate, i);
        }
        return Math.round(npv);
    }

    function calcIRR(flows) {
        let irr = 0.1;
        for (let i = 0; i < 100; i++) {
            let f = flows[0], df = 0;
            for (let j = 1; j < flows.length; j++) {
                f += flows[j] / Math.pow(1 + irr, j);
                df -= j * flows[j] / Math.pow(1 + irr, j + 1);
            }
            let newIrr = irr - f / df;
            if (Math.abs(newIrr - irr) < 0.00001) return (newIrr * 100).toFixed(0) + '%';
            irr = newIrr;
        }
        return 'N/A';
    }

    const ownerNPV = calcNPV(ownerCashFlows);
    const ownerIRR = calcIRR(ownerCashFlows);
    const leaseNPV = calcNPV(leaseCashFlows);

    // Build top level dynamic summaries cards text details
    document.getElementById('cards').innerHTML = `
        <div class="card">
            <h2>Option 1: Property Owner Capital Purchase</h2>
            <div class="metric"><span class="lbl">Gross Project Cost:</span><span class="metric-val">${formatter.format(fullPrice)}</span></div>
            <div class="metric"><span class="lbl">Upfront CBI Rebate:</span><span class="metric-val">${formatter.format(upfrontCbiRebate)}</span></div>
            <div class="metric"><span class="lbl">5-Yr Performance PBI:</span><span class="metric-val" style="color:var(--secondary)">${pbiKwhRate > 0 ? 'Stacked in Ledger Below ($0.10/kWh)' : 'Not Eligible (>100kW only)'}</span></div>
            <div class="metric"><span class="lbl">Federal Tax Credit (ITC):</span><span class="metric-val">${formatter.format(itc)}</span></div>
            ${status === 'forprofit' ? `<div class="metric"><span class="lbl">Tax Depreciation Benefit:</span><span class="metric-val">${formatter.format(depreciation)}</span></div>` : ''}
            <div class="metric" style="border-top: 1px solid var(--border); font-weight:bold;"><span class="lbl">Net Capital Outlay:</span><span class="metric-val">${formatter.format(netOwnerPrice)}</span></div>
            <div class="metric"><span class="lbl">Project Internal Return (IRR):</span><span class="metric-val highlight">${ownerIRR}</span></div>
            <div class="metric"><span class="lbl">Net Present Value (NPV @ 6%):</span><span class="metric-val highlight">${formatter.format(ownerNPV)}</span></div>
        </div>
        <div class="card recommended">
            <h2>Option 2: Third-Party Developer Roof Lease</h2>
            <div class="metric"><span class="lbl">Solar Array Capital Cost:</span><span class="metric-val" style="color:var(--secondary)">$0 (Fully Funded by Developer)</span></div>
            <div class="metric"><span class="lbl">Operations & Maintenance (O&M):</span><span class="metric-val" style="color:var(--secondary)">$0 (Developer Responsibility)</span></div>
            <div class="metric"><span class="lbl">Year 12 Inverter Overhaul Cost:</span><span class="metric-val" style="color:var(--secondary)">$0 (Developer Responsibility)</span></div>
            <div class="metric"><span class="lbl">Property Owner Host Split %:</span><span class="metric-val">20.00% Allocation</span></div>
            <div class="metric" style="border-top: 1px solid var(--border); font-weight:bold;"><span class="lbl">Year 1 Net Rental Income:</span><span class="metric-val" style="color:var(--secondary)">${formatter.format(initialLeaseRevenue)}/yr</span></div>
            <div class="metric"><span class="lbl">Project Internal Return (IRR):</span><span class="metric-val highlight">Infinite (No Capital at Risk)</span></div>
            <div class="metric"><span class="lbl">Net Present Value (NPV @ 6%):</span><span class="metric-val highlight">${formatter.format(leaseNPV)}</span></div>
        </div>
    `;

    // Render tables contents
    document.getElementById('ledger-body').innerHTML = tableHtml;
    document.getElementById('audit-body').innerHTML = auditHtml;
    
    document.getElementById('total-owner').innerText = formatter.format(totalOwnerSum);
    document.getElementById('total-ppa').innerText = formatter.format(totalLeaseSum);
}

runProForma();
</script>
<p>The post <a href="https://solaraustin.org/2026/08/24/solar-savings-calculator-austin-tx/">Solar Savings Calculator Austin, TX</a> appeared first on <a href="https://solaraustin.org">Solaraustin</a>.</p>
]]></content>
		
					<link rel="replies" type="text/html" href="https://solaraustin.org/2026/08/24/solar-savings-calculator-austin-tx/#comments" thr:count="0" />
			<link rel="replies" type="application/atom+xml" href="https://solaraustin.org/2026/08/24/solar-savings-calculator-austin-tx/feed/atom/" thr:count="0" />
			<thr:total>0</thr:total>
			</entry>
		<entry>
		<author>
			<name>solaraustin</name>
					</author>

		<title type="html"><![CDATA[Commercial Demand Charge Savings]]></title>
		<link rel="alternate" type="text/html" href="https://solaraustin.org/2026/08/24/commercial-demand-charge-savings/" />

		<id>https://solaraustin.org/?p=4282</id>
		<updated>2026-08-27T14:19:37Z</updated>
		<published>2026-08-24T20:35:43Z</published>
		<category scheme="https://solaraustin.org/" term="Energy innovation" /><category scheme="https://solaraustin.org/" term="Local Policy" /><category scheme="https://solaraustin.org/" term="Austin" /><category scheme="https://solaraustin.org/" term="solar" /><category scheme="https://solaraustin.org/" term="Solar Austin" /><category scheme="https://solaraustin.org/" term="solar panels" />
		<summary type="html"><![CDATA[<p>Start Here AE BTM Battery IRR &#8211; Single Screen AE Large Load: BTM Storage Optimizer FY2026 Rates AE Rate Class [&#8230;]</p>
<p>The post <a href="https://solaraustin.org/2026/08/24/commercial-demand-charge-savings/">Commercial Demand Charge Savings</a> appeared first on <a href="https://solaraustin.org">Solaraustin</a>.</p>
]]></summary>

					<content type="html" xml:base="https://solaraustin.org/2026/08/24/commercial-demand-charge-savings/"><![CDATA[
<p class="wp-block-paragraph"><strong>Start Here</strong></p>



<!DOCTYPE html>
<html>
<head>
    <title>AE BTM Battery IRR &#8211; Single Screen</title>
    <script src="https://cdn.jsdelivr.net/npm/chart.js"></script>
    <style>
        body { font-family: -apple-system, sans-serif; background: #f0f2f5; margin: 0; padding: 15px; font-size: 13px; }
        .dashboard { max-width: 950px; margin: auto; background: white; padding: 20px; border-radius: 10px; box-shadow: 0 2px 10px rgba(0,0,0,0.1); }
        .header { display: flex; justify-content: space-between; align-items: center; border-bottom: 1px solid #ddd; margin-bottom: 15px; padding-bottom: 10px; }
        .header h2 { margin: 0; color: #005f73; font-size: 1.4em; }
        
        /* Compact Input Row */
        .input-bar { display: flex; flex-wrap: wrap; gap: 15px; background: #f8f9fa; padding: 12px; border-radius: 6px; margin-bottom: 15px; }
        .input-item { flex: 1; min-width: 140px; }
        label { display: block; font-weight: 600; color: #444; margin-bottom: 4px; }
        input, select { width: 100%; padding: 6px; border: 1px solid #ccc; border-radius: 4px; font-size: 13px; }

        /* Results & Graph Side-by-Side */
        .main-view { display: flex; gap: 20px; align-items: flex-start; }
        .stats-panel { width: 260px; background: #e9ecef; padding: 15px; border-radius: 8px; flex-shrink: 0; }
        .chart-panel { flex-grow: 1; height: 240px; }

        .big-number { font-size: 2.2em; font-weight: bold; color: #0a9396; margin: 5px 0; }
        .stat-row { display: flex; justify-content: space-between; margin-bottom: 8px; border-bottom: 1px dotted #ccc; padding-bottom: 4px; }
        .stat-label { color: #666; }
        .stat-value { font-weight: 600; }
    </style>
</head>
<body>

<div class="dashboard">
    <div class="header">
        <h2>AE Large Load: BTM Storage Optimizer</h2>
        <div id="date" style="color:#888">FY2026 Rates</div>
    </div>

    <div class="input-bar">
        <div class="input-item">
            <label>AE Rate Class</label>
            <select id="rateClass" onchange="calc()">
                <option value="16.29">Secondary (>$16/kW)</option>
                <option value="19.89" selected>Primary (>$19/kW)</option>
                <option value="17.82">Transmission (>$17/kW)</option>
            </select>
        </div>
        <div class="input-item">
            <label>Battery Capacity (kWh)</label>
            <input type="number" id="kwh" value="2000" oninput="calc()">
        </div>
        <div class="input-item">
            <label>Installed Cost ($/kWh)</label>
            <input type="number" id="unitCost" value="480" oninput="calc()">
        </div>
        <div class="input-item">
            <label>Annual O&#038;M ($/kW)</label>
            <input type="number" id="om" value="20" oninput="calc()">
        </div>
        <div class="input-item">
            <label>Tax Credit (ITC %)</label>
            <input type="number" id="itc" value="30" oninput="calc()">
        </div>
    </div>

    <div class="main-view">
        <div class="stats-panel">
            <div class="stat-label">Projected 10-Year IRR</div>
            <div id="irr" class="big-number">0.0%</div>
            
            <div class="stat-row">
                <span class="stat-label">Net Battery Cost</span>
                <span id="totalCost" class="stat-value">$0</span>
            </div>
            <div class="stat-row">
                <span class="stat-label">Demand Hidden (kW)</span>
                <span id="kwHidden" class="stat-value">0 kW</span>
            </div>
            <div class="stat-row">
                <span class="stat-label">Annual Savings</span>
                <span id="savings" class="stat-value">$0</span>
            </div>
            <div class="stat-row">
                <span class="stat-label">Simple Payback</span>
                <span id="payback" class="stat-value">0 yrs</span>
            </div>
            <p style="font-size:10px; color:#999; margin-top:10px;">*Calculated assuming 2-hour discharge duration for peak shaving.</p>
        </div>

        <div class="chart-panel">
            <canvas id="chart"></canvas>
        </div>
    </div>
</div>

<script>
let myChart;

function calc() {
    const rate = parseFloat(document.getElementById('rateClass').value);
    const kwh = parseFloat(document.getElementById('kwh').value);
    const unitCost = parseFloat(document.getElementById('unitCost').value);
    const om = parseFloat(document.getElementById('om').value);
    const itc = parseFloat(document.getElementById('itc').value) / 100;

    // 1. Auto-Calculate kW Shaved (assuming 2-hour battery)
    const kw = kwh / 2;

    // 2. Battery Costs
    const grossCost = kwh * unitCost;
    const netCapex = grossCost * (1 - itc);
    
    // 3. Annual Savings (Demand Charges avoided - O&M)
    const annualSavings = (kw * rate * 12) - (kw * om);

    // 4. Update UI
    document.getElementById('kwHidden').innerText = kw.toLocaleString() + " kW";
    document.getElementById('totalCost').innerText = "$" + netCapex.toLocaleString();
    document.getElementById('savings').innerText = "$" + annualSavings.toLocaleString();
    document.getElementById('payback').innerText = (netCapex / annualSavings).toFixed(1) + " yrs";

    // 5. Cashflows & IRR
    let cfs = [-netCapex];
    for(let i=1; i<=10; i++) cfs.push(annualSavings);
    
    const irrVal = calculateIRR(cfs) * 100;
    document.getElementById('irr').innerText = (isNaN(irrVal) ? "0.0" : irrVal.toFixed(1)) + "%";

    updateChart(cfs);
}

function calculateIRR(cfs) {
    let r = 0.1;
    for (let i = 0; i < 30; i++) {
        let npv = 0, dNpv = 0;
        for (let t = 0; t < cfs.length; t++) {
            npv += cfs[t] / Math.pow(1 + r, t);
            dNpv -= t * cfs[t] / Math.pow(1 + r, t + 1);
        }
        r -= npv / dNpv;
    }
    return r;
}

function updateChart(data) {
    const ctx = document.getElementById('chart').getContext('2d');
    if (myChart) myChart.destroy();
    myChart = new Chart(ctx, {
        type: 'bar',
        data: {
            labels: ['Year 0', 'Y1', 'Y2', 'Y3', 'Y4', 'Y5', 'Y6', 'Y7', 'Y8', 'Y9', 'Y10'],
            datasets: [{
                label: 'Cumulative Cash Flow ($)',
                data: data.reduce((acc, val, i) => {
                    acc.push(i === 0 ? val : acc[i-1] + val);
                    return acc;
                }, []),
                backgroundColor: '#2a9d8f'
            }]
        },
        options: { 
            maintainAspectRatio: false, 
            plugins: { legend: { display: false } },
            scales: { y: { ticks: { callback: v => '$' + v / 1000 + 'k' } } }
        }
    });
}

window.onload = calc;
</script>
</body>
</html>



<p class="wp-block-paragraph"></p>
<p>The post <a href="https://solaraustin.org/2026/08/24/commercial-demand-charge-savings/">Commercial Demand Charge Savings</a> appeared first on <a href="https://solaraustin.org">Solaraustin</a>.</p>
]]></content>
		
					<link rel="replies" type="text/html" href="https://solaraustin.org/2026/08/24/commercial-demand-charge-savings/#comments" thr:count="0" />
			<link rel="replies" type="application/atom+xml" href="https://solaraustin.org/2026/08/24/commercial-demand-charge-savings/feed/atom/" thr:count="0" />
			<thr:total>0</thr:total>
			</entry>
		<entry>
		<author>
			<name>solaraustin</name>
					</author>

		<title type="html"><![CDATA[Energy Hackathon 2026 Projects]]></title>
		<link rel="alternate" type="text/html" href="https://solaraustin.org/2026/08/24/energy-hackathon-2026-projects/" />

		<id>https://solaraustin.org/?p=4310</id>
		<updated>2026-08-28T14:13:17Z</updated>
		<published>2026-08-24T20:35:27Z</published>
		<category scheme="https://solaraustin.org/" term="Austin Climate Events" /><category scheme="https://solaraustin.org/" term="Energy innovation" /><category scheme="https://solaraustin.org/" term="Austin" /><category scheme="https://solaraustin.org/" term="solar" /><category scheme="https://solaraustin.org/" term="Solar Austin" /><category scheme="https://solaraustin.org/" term="Solar Panels Austin" />
		<summary type="html"><![CDATA[<p>In July 2026, 15 Austinites gathered together to brainstorm and co-create solutions to Austin&#8217;s electricity emissions challenges. Below are the [&#8230;]</p>
<p>The post <a href="https://solaraustin.org/2026/08/24/energy-hackathon-2026-projects/">Energy Hackathon 2026 Projects</a> appeared first on <a href="https://solaraustin.org">Solaraustin</a>.</p>
]]></summary>

					<content type="html" xml:base="https://solaraustin.org/2026/08/24/energy-hackathon-2026-projects/"><![CDATA[
<p class="wp-block-paragraph">In July 2026, 15 Austinites gathered together to brainstorm and co-create solutions to Austin&#8217;s electricity emissions challenges.</p>



<p class="wp-block-paragraph">Below are the projects that came out of the weekend of teamwork, collaboration, and fun.</p>



<p class="wp-block-paragraph">These projects are for demonstration purposes of what is possible. They are not commercial or otherwise available for use without further development. Please enjoy, comment, and share your ideas in the blog post comments below each project page.</p>



<ol class="wp-block-list">
<li><a href="https://solaraustin.org/2026/08/24/building-energy-load/" data-type="post" data-id="4276">Building Energy Load</a></li>



<li><a href="https://solaraustin.org/2026/08/24/grant-research-live/" data-type="post" data-id="4253">Grant Research Live</a> </li>



<li><a href="https://solaraustin.org/2026/08/24/local-clean-ai/" data-type="post" data-id="4245">Local Clean AI</a></li>



<li><a href="https://solaraustin.org/2026/08/24/load-zone-price-separation-tracker/" data-type="post" data-id="4305">Load Zone Price Separation Tracker</a></li>



<li><a href="https://solaraustin.org/2026/08/24/austin-city-wide-voting/" data-type="post" data-id="4273">Austin City Wide Voting</a></li>



<li><a href="https://solaraustin.org/2026/08/24/commercial-demand-charge-savings/" data-type="post" data-id="4282">Commercial Demand Charge Savings</a> </li>



<li><a href="https://solaraustin.org/2026/08/24/solar-savings-calculator-austin-tx/" data-type="post" data-id="4286">Solar Savings Calculator Austin, TX</a></li>



<li><a href="https://solaraustin.org/2026/08/24/data-merge-solution/" data-type="post" data-id="4260">Data Merge Solution</a></li>
</ol>
<p>The post <a href="https://solaraustin.org/2026/08/24/energy-hackathon-2026-projects/">Energy Hackathon 2026 Projects</a> appeared first on <a href="https://solaraustin.org">Solaraustin</a>.</p>
]]></content>
		
					<link rel="replies" type="text/html" href="https://solaraustin.org/2026/08/24/energy-hackathon-2026-projects/#comments" thr:count="0" />
			<link rel="replies" type="application/atom+xml" href="https://solaraustin.org/2026/08/24/energy-hackathon-2026-projects/feed/atom/" thr:count="0" />
			<thr:total>0</thr:total>
			</entry>
		<entry>
		<author>
			<name>solaraustin</name>
					</author>

		<title type="html"><![CDATA[Load Zone Price Separation Tracker]]></title>
		<link rel="alternate" type="text/html" href="https://solaraustin.org/2026/08/24/load-zone-price-separation-tracker/" />

		<id>https://solaraustin.org/?p=4305</id>
		<updated>2026-08-27T14:23:07Z</updated>
		<published>2026-08-24T20:34:58Z</published>
		<category scheme="https://solaraustin.org/" term="Austin Climate Events" /><category scheme="https://solaraustin.org/" term="Energy innovation" /><category scheme="https://solaraustin.org/" term="Austin" /><category scheme="https://solaraustin.org/" term="Clean energy" /><category scheme="https://solaraustin.org/" term="solar" /><category scheme="https://solaraustin.org/" term="Solar Austin" /><category scheme="https://solaraustin.org/" term="solar panels" />
		<summary type="html"><![CDATA[<p>Click the link to view the tracker. Load Zone Price Separation tracker</p>
<p>The post <a href="https://solaraustin.org/2026/08/24/load-zone-price-separation-tracker/">Load Zone Price Separation Tracker</a> appeared first on <a href="https://solaraustin.org">Solaraustin</a>.</p>
]]></summary>

					<content type="html" xml:base="https://solaraustin.org/2026/08/24/load-zone-price-separation-tracker/"><![CDATA[
<p class="wp-block-paragraph"><strong>Click the link to view the tracker.</strong> <a href="https://chrisgillett.org/ae-congestion/" target="_blank" rel="noreferrer noopener">Load Zone Price Separation tracker</a></p>



<p class="wp-block-paragraph"></p>
<p>The post <a href="https://solaraustin.org/2026/08/24/load-zone-price-separation-tracker/">Load Zone Price Separation Tracker</a> appeared first on <a href="https://solaraustin.org">Solaraustin</a>.</p>
]]></content>
		
					<link rel="replies" type="text/html" href="https://solaraustin.org/2026/08/24/load-zone-price-separation-tracker/#comments" thr:count="0" />
			<link rel="replies" type="application/atom+xml" href="https://solaraustin.org/2026/08/24/load-zone-price-separation-tracker/feed/atom/" thr:count="0" />
			<thr:total>0</thr:total>
			</entry>
		<entry>
		<author>
			<name>solaraustin</name>
					</author>

		<title type="html"><![CDATA[Data Merge Solution]]></title>
		<link rel="alternate" type="text/html" href="https://solaraustin.org/2026/08/24/data-merge-solution/" />

		<id>https://solaraustin.org/?p=4260</id>
		<updated>2026-08-27T14:39:26Z</updated>
		<published>2026-08-24T20:34:35Z</published>
		<category scheme="https://solaraustin.org/" term="Austin Climate Events" /><category scheme="https://solaraustin.org/" term="Energy innovation" /><category scheme="https://solaraustin.org/" term="Austin" /><category scheme="https://solaraustin.org/" term="solar" /><category scheme="https://solaraustin.org/" term="Solar Austin" /><category scheme="https://solaraustin.org/" term="solar panels" />
		<summary type="html"><![CDATA[<p>Targeted Data Problem Solving SUMMARY Problem: Merging TCAD data with Solar Roof data Solution: Leveraging Databricks platform + arcgis API [&#8230;]</p>
<p>The post <a href="https://solaraustin.org/2026/08/24/data-merge-solution/">Data Merge Solution</a> appeared first on <a href="https://solaraustin.org">Solaraustin</a>.</p>
]]></summary>

					<content type="html" xml:base="https://solaraustin.org/2026/08/24/data-merge-solution/"><![CDATA[
<p class="wp-block-paragraph"><strong>Targeted Data Problem Solving </strong></p>



<p class="wp-block-paragraph"><strong>SUMMARY</strong></p>



<p class="wp-block-paragraph"><strong>Problem:</strong> Merging TCAD data with Solar Roof data</p>



<p class="wp-block-paragraph"><strong>Solution:</strong> Leveraging Databricks platform + arcgis API</p>



<p class="wp-block-paragraph"><strong>Financial impact:</strong> ???</p>



<p class="wp-block-paragraph"><strong>Who Pays:</strong> N/A</p>



<p class="wp-block-paragraph"><strong>Stakeholders:</strong> Solar Austin</p>



<p class="wp-block-paragraph"><strong>PROBLEM</strong></p>



<p class="wp-block-paragraph">The TCAD data and Solar Roof data provided are challenging to reconcile.<br>Ideally both would have a common “primary key” to join them on.</p>



<p class="wp-block-paragraph">Only TCAD has PID (property id)</p>



<p class="wp-block-paragraph">Both have addresses, but they are highly different and cannot be matched<br>easily.</p>



<p class="wp-block-paragraph"><strong>SOLUTION</strong></p>



<p class="wp-block-paragraph">Pulled both datasets in the Databricks platform</p>



<p class="wp-block-paragraph">Created a script to generate a new dataset with property id</p>



<p class="wp-block-paragraph"><strong>Input:</strong> a CSV with a single column of addresses</p>



<p class="wp-block-paragraph"><strong>Output:</strong> a CSV with addresses, the property id, and a few other informational columns</p>



<p class="wp-block-paragraph">With this new dataset, we can make it drastically easier to join both the TCAD data and the solar roof data</p>



<p class="wp-block-paragraph"><strong>Input:</strong> tcad data, solar roof data, arcgis address data</p>



<p class="wp-block-paragraph">Added bonus, in future cases we have other data we need to join to TCAD, this may be helpful as well</p>



<p class="wp-block-paragraph"><strong>TEAM</strong></p>



<p class="wp-block-paragraph">Leader: Christian Rodriguez</p>



<p class="wp-block-paragraph">Martin Liu</p>



<p class="wp-block-paragraph">Asit Mahato</p>



<p class="wp-block-paragraph"><strong>INSPIRATION &amp; MOTIVATION</strong></p>



<p class="wp-block-paragraph"><strong>Motivation:</strong> Wanted to help address a specific Solar Austin issue</p>



<p class="wp-block-paragraph"><strong>Inspiration: </strong>Addressing these kinds of issues (specific or broad) will help Solar Austin and in turn the City of Austin and surrounding area move faster towards a green/clean future!</p>



<p class="wp-block-paragraph"></p>
<p>The post <a href="https://solaraustin.org/2026/08/24/data-merge-solution/">Data Merge Solution</a> appeared first on <a href="https://solaraustin.org">Solaraustin</a>.</p>
]]></content>
		
					<link rel="replies" type="text/html" href="https://solaraustin.org/2026/08/24/data-merge-solution/#comments" thr:count="0" />
			<link rel="replies" type="application/atom+xml" href="https://solaraustin.org/2026/08/24/data-merge-solution/feed/atom/" thr:count="0" />
			<thr:total>0</thr:total>
			</entry>
		<entry>
		<author>
			<name>solaraustin</name>
					</author>

		<title type="html"><![CDATA[Local Clean AI]]></title>
		<link rel="alternate" type="text/html" href="https://solaraustin.org/2026/08/24/local-clean-ai/" />

		<id>https://solaraustin.org/?p=4245</id>
		<updated>2026-08-27T14:26:24Z</updated>
		<published>2026-08-24T20:34:06Z</published>
		<category scheme="https://solaraustin.org/" term="Austin Climate Events" /><category scheme="https://solaraustin.org/" term="Energy innovation" /><category scheme="https://solaraustin.org/" term="Austin" /><category scheme="https://solaraustin.org/" term="solar" /><category scheme="https://solaraustin.org/" term="Solar Austin" /><category scheme="https://solaraustin.org/" term="solar panels" />
		<summary type="html"><![CDATA[<p>Solar Austin LLC SUMMARY Problem: Large scale data centers use too much electricity for simple tasks like analyses Austin City [&#8230;]</p>
<p>The post <a href="https://solaraustin.org/2026/08/24/local-clean-ai/">Local Clean AI</a> appeared first on <a href="https://solaraustin.org">Solaraustin</a>.</p>
]]></summary>

					<content type="html" xml:base="https://solaraustin.org/2026/08/24/local-clean-ai/"><![CDATA[
<h3 class="wp-block-heading">Solar Austin LLC</h3>



<p class="wp-block-paragraph"><strong>SUMMARY</strong></p>



<p class="wp-block-paragraph"><strong>Problem:</strong> Large scale data centers use too much electricity for simple tasks like analyses Austin City Council and Austin Energy data<br><strong>Solution:</strong> Use Open Source AI models installed on local computers powered by solar panels<br><strong>Financial impact:</strong> $30/month AI fee is eliminated<br><strong>Who Pays:</strong> Solar Austin. For this test a colleague provided Mac Mini M4<br><strong>Stakeholders:</strong> David Levesque, Solar Austin Board</p>



<figure class="wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio"><div class="wp-block-embed__wrapper">
<div class="ast-oembed-container " style="height: 100%;"><iframe title="Can local LLMs help reduce electricity and water use from AI? Jeff Pape   Local LLM" width="1200" height="675" src="https://www.youtube.com/embed/oEbzL-P_wK4?feature=oembed" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe></div>
</div></figure>



<p class="wp-block-paragraph"><strong>PROBLEM</strong></p>



<p class="wp-block-paragraph">Enhances Solar Austin data analysis.<br>Reduces Solar Austin time to understand data and formulate plans.<br>Enhances Solar Austin ability to reach out to commodity including Austin citizens and businesses.</p>



<p class="wp-block-paragraph"><strong>SOLUTION</strong></p>



<p class="wp-block-paragraph">Used Open source software to install AnythingLLM on donated Mac Mini M4. Not clear how long computer will be available. Cost: $0</p>



<p class="wp-block-paragraph">For a long term solution the Mac Mini would cost around $900. Which would eliminate a monthly $30 fee for an AI tool like ChatGPT or Claude.</p>



<p class="wp-block-paragraph"><strong>TEAM</strong></p>



<p class="wp-block-paragraph">Leader: Jeff Pape<br>Help from Google Gemini<br>QA: David Levesque</p>



<p class="wp-block-paragraph"><strong>INSPIRATION &amp; MOTIVATION</strong></p>



<p class="wp-block-paragraph"><strong>Motivation: </strong>Enhances Solar Austin team data analysis<br><strong>Inspiration:</strong> Enhances Solar Austin ability to formulate plans</p>



<p class="wp-block-paragraph"><strong>NEXT STEPS</strong></p>



<p class="wp-block-paragraph">Add more data to AnythingLLM.<br>Locate more permanent computer to host LLM.<br>Update software as needed.<br>Explore other Open Source LLMs.</p>



<p class="wp-block-paragraph"></p>
<p>The post <a href="https://solaraustin.org/2026/08/24/local-clean-ai/">Local Clean AI</a> appeared first on <a href="https://solaraustin.org">Solaraustin</a>.</p>
]]></content>
		
					<link rel="replies" type="text/html" href="https://solaraustin.org/2026/08/24/local-clean-ai/#comments" thr:count="0" />
			<link rel="replies" type="application/atom+xml" href="https://solaraustin.org/2026/08/24/local-clean-ai/feed/atom/" thr:count="0" />
			<thr:total>0</thr:total>
			</entry>
		<entry>
		<author>
			<name>solaraustin</name>
					</author>

		<title type="html"><![CDATA[Building Energy Load]]></title>
		<link rel="alternate" type="text/html" href="https://solaraustin.org/2026/08/24/building-energy-load/" />

		<id>https://solaraustin.org/?p=4276</id>
		<updated>2026-08-28T14:25:28Z</updated>
		<published>2026-08-24T20:33:44Z</published>
		<category scheme="https://solaraustin.org/" term="Austin Climate Events" /><category scheme="https://solaraustin.org/" term="Energy innovation" /><category scheme="https://solaraustin.org/" term="Austin" /><category scheme="https://solaraustin.org/" term="solar" /><category scheme="https://solaraustin.org/" term="Solar Austin" /><category scheme="https://solaraustin.org/" term="solar panels" />
		<summary type="html"><![CDATA[<p>Dashboard to keep track of future load based on building permit data. SUMMARY Building Energy Usage Link: https://austincleanenergy.net/building-energy-usage Problem: Can [&#8230;]</p>
<p>The post <a href="https://solaraustin.org/2026/08/24/building-energy-load/">Building Energy Load</a> appeared first on <a href="https://solaraustin.org">Solaraustin</a>.</p>
]]></summary>

					<content type="html" xml:base="https://solaraustin.org/2026/08/24/building-energy-load/"><![CDATA[
<p class="wp-block-paragraph"><strong>Dashboard to keep track of future load based on building permit data.</strong></p>



<p class="wp-block-paragraph"><strong>SUMMARY</strong></p>



<p class="wp-block-paragraph"><strong>Building Energy Usage Link: </strong><a href="https://austincleanenergy.net/building-energy-usage">https://austincleanenergy.net/building-energy-usage</a></p>



<p class="wp-block-paragraph"><strong>Problem:</strong> Can we verify Austin Energy’s claim for developing more gas peaker plants to meet growth in peak demands? Peak demand is currently at 3GW on hot summer evenings.</p>



<p class="wp-block-paragraph"><strong>Solution: </strong>Look at publicly available building permits and calculate power/demand from these new buildings. Currently viewable from a dashboard on AustinCleanEnergy.net.</p>



<p class="wp-block-paragraph"><strong>Financial Impact:</strong> Austin Energy is spending $1.3B in the next 5 years to increase local power production and another $500M to bring more power into the load zone via new transmission lines. This research could help reduce some of that spending or route it to more economical solutions.</p>



<p class="wp-block-paragraph"><strong>Who Pays: </strong>API is free, can be scraped with a free version on databricks, hosting<br>with lovable is $30/month.</p>



<p class="wp-block-paragraph"><strong>Stakeholders: </strong>Energy Advocacy groups (Solar Austin), civic tech groups (Open<br>Austin).</p>



<figure class="wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio"><div class="wp-block-embed__wrapper">
<div class="ast-oembed-container " style="height: 100%;"><iframe title="Hack Ming Martin Liu Load Growth" width="1200" height="675" src="https://www.youtube.com/embed/huWmAYD8ElY?feature=oembed" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe></div>
</div></figure>



<p class="wp-block-paragraph"><strong>MOTIVATION</strong></p>



<p class="wp-block-paragraph"><strong>Motivation: </strong>Suspicious claims from Austin Energy and concern over the peaker plant voting.</p>



<p class="wp-block-paragraph"></p>
<p>The post <a href="https://solaraustin.org/2026/08/24/building-energy-load/">Building Energy Load</a> appeared first on <a href="https://solaraustin.org">Solaraustin</a>.</p>
]]></content>
		
					<link rel="replies" type="text/html" href="https://solaraustin.org/2026/08/24/building-energy-load/#comments" thr:count="0" />
			<link rel="replies" type="application/atom+xml" href="https://solaraustin.org/2026/08/24/building-energy-load/feed/atom/" thr:count="0" />
			<thr:total>0</thr:total>
			</entry>
		<entry>
		<author>
			<name>solaraustin</name>
					</author>

		<title type="html"><![CDATA[Austin City Wide Voting]]></title>
		<link rel="alternate" type="text/html" href="https://solaraustin.org/2026/08/24/austin-city-wide-voting/" />

		<id>https://solaraustin.org/?p=4273</id>
		<updated>2026-09-04T22:25:21Z</updated>
		<published>2026-08-24T20:33:20Z</published>
		<category scheme="https://solaraustin.org/" term="Austin Climate Events" /><category scheme="https://solaraustin.org/" term="Energy innovation" /><category scheme="https://solaraustin.org/" term="Austin" /><category scheme="https://solaraustin.org/" term="solar" /><category scheme="https://solaraustin.org/" term="Solar Austin" /><category scheme="https://solaraustin.org/" term="solar panels" />
		<summary type="html"><![CDATA[<p>Problem: It&#8217;s hard to tell if City Council is voting the way that the public prefers. Solution: Austin Votes is [&#8230;]</p>
<p>The post <a href="https://solaraustin.org/2026/08/24/austin-city-wide-voting/">Austin City Wide Voting</a> appeared first on <a href="https://solaraustin.org">Solaraustin</a>.</p>
]]></summary>

					<content type="html" xml:base="https://solaraustin.org/2026/08/24/austin-city-wide-voting/"><![CDATA[		<div data-elementor-type="wp-post" data-elementor-id="4273" class="elementor elementor-4273">
				<div class="elementor-element elementor-element-2fd44dcf e-flex e-con-boxed e-con e-parent" data-id="2fd44dcf" data-element_type="container" data-e-type="container">
					<div class="e-con-inner">
				<div class="elementor-element elementor-element-2fa47e46 elementor-widget elementor-widget-text-editor" data-id="2fa47e46" data-element_type="widget" data-e-type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									
<p class="wp-block-paragraph">Problem: It&#8217;s hard to tell if City Council is voting the way that the public prefers.</p>

<p class="wp-block-paragraph">Solution: Austin Votes is a city wide voting platform where citizens can see, discuss, and vote on the topics that Austin City Council is voting on.</p>

<figure class="wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio">
<div class="wp-block-embed__wrapper"><a href="https://youtu.be/j4tNXEkWJaQ?si=CWdEvC38JdEaPGJu" rel="nofollow">https://youtu.be/j4tNXEkWJaQ?si=CWdEvC38JdEaPGJu</a></div>
</figure>

<p class="wp-block-paragraph"><strong>Below is a demonstration software user interface for Austin Votes</strong></p>

<p> </p>
<!-- Tailwind CSS CDN for easy embeddability -->
<p><script src="https://cdn.tailwindcss.com"></script> <style>
    /* Custom scrollbar styling for compact embedding */
    ::-webkit-scrollbar { width: 6px; }
    ::-webkit-scrollbar-track { background: #f1f5f9; }
    ::-webkit-scrollbar-thumb { background: #cbd5e1; border-radius: 4px; }
    ::-webkit-scrollbar-thumb:hover { background: #94a3b8; }
  </style></p>
<div class="max-w-7xl mx-auto bg-white rounded-xl shadow-lg border border-slate-200 overflow-hidden flex flex-col min-h-[700px]"><!-- HEADER --><header class="bg-slate-900 text-white px-6 py-4 flex flex-col sm:flex-row justify-between items-center gap-4">
<div class="flex items-center gap-3">
<h1 class="text-xl font-bold tracking-wide">Austin Votes</h1>
<p class="text-xs text-slate-400">Public Forum &amp; Opinion Radar</p>
</div>
</header></div>
<!-- Search & Filters -->
<div class="flex items-center gap-3 w-full sm:w-auto"><input id="searchInput" class="bg-slate-800 text-slate-200 text-sm px-3 py-2 rounded-md border border-slate-700 focus:outline-none focus:border-indigo-500 w-full sm:w-64" type="text" placeholder="Search topics..." /> <button class="bg-indigo-600 hover:bg-indigo-500 text-white text-sm font-medium px-4 py-2 rounded-md whitespace-nowrap transition"> + New Topic </button></div>
<!-- MAIN CONTAINER -->
<div class="flex flex-col lg:flex-row flex-1 overflow-hidden"><!-- LEFT FEED (Main Topics & Discussions) --><main class="flex-1 p-6 overflow-y-auto space-y-6">
<div class="flex justify-between items-center pb-2 border-b border-slate-200">
<h2 class="text-lg font-bold text-slate-900">Active Topic Discussions</h2>
<span id="topicCount" class="text-xs font-semibold text-slate-500 bg-slate-100 px-2.5 py-1 rounded-full border border-slate-200">0 Topics</span></div>
<!-- Topics Feed -->
<div id="topicsFeed" class="space-y-4"> </div>
</main><!-- RIGHT SIDEBAR (Top 10 Rankings) -->
<aside class="w-full lg:w-80 bg-slate-50 border-t lg:border-t-0 lg:border-l border-slate-200 p-4 flex flex-col">
<h3 class="font-bold text-slate-900 mb-3 text-sm tracking-wider uppercase">Top 10 Rankings</h3>
<!-- Sidebar Tabs -->
<div class="flex bg-slate-200 p-1 rounded-lg mb-4 text-xs font-semibold"><button id="tabFavor" class="flex-1 py-1.5 rounded-md text-slate-700 transition"> Most In Favor </button> <button id="tabAgainst" class="flex-1 py-1.5 rounded-md text-slate-700 transition"> Most Against </button></div>
<!-- Sidebar Rankings List -->
<div id="sidebarList" class="space-y-2 overflow-y-auto flex-1 pr-1"> </div>
</aside>
</div>
<!-- CREATE NEW TOPIC MODAL -->
<div id="topicModal" class="fixed inset-0 bg-slate-900/60 backdrop-blur-sm hidden items-center justify-center p-4 z-50">
<div class="bg-white rounded-xl shadow-xl border border-slate-200 w-full max-w-md p-6">
<h3 class="text-lg font-bold text-slate-900 mb-4">Post a New Public Topic</h3>
<form class="space-y-4">
<div><label class="block text-xs font-semibold text-slate-600 mb-1">Topic Title</label> <input id="newTitle" class="w-full px-3 py-2 text-sm border border-slate-300 rounded-md focus:ring-2 focus:ring-indigo-500 focus:outline-none" required="" type="text" placeholder="e.g. Implement 4-Day Work Week Nationwide" /></div>
<div><label class="block text-xs font-semibold text-slate-600 mb-1">Description &amp; Context</label> <textarea id="newDesc" class="w-full px-3 py-2 text-sm border border-slate-300 rounded-md focus:ring-2 focus:ring-indigo-500 focus:outline-none" required="" rows="3" placeholder="Explain the rationale behind this topic..."></textarea></div>
<div class="flex justify-end gap-2 pt-2"><button class="px-4 py-2 text-sm font-medium text-slate-600 hover:bg-slate-100 rounded-md" type="button">Cancel</button> <button class="px-4 py-2 text-sm font-medium bg-indigo-600 text-white hover:bg-indigo-500 rounded-md" type="submit">Publish Topic</button></div>
</form></div>
</div>
<!-- JAVASCRIPT APPLICATION LOGIC -->
<p><script>
    // Initial Topic Data
    let topics = [
      {
        id: 1,
        title: "Transition to a Mandatory 4-Day Work Week",
        desc: "Proposing a 32-hour standard workweek with no reduction in pay to increase productivity and work-life balance.",
        favor: 1420,
        against: 210,
        userVote: null,
        comments: [
          { author: "Alex R.", text: "Pilots in Europe have already proven this boosts productivity without burnout." },
          { author: "Marcus T.", text: "Might cause staffing shortages in critical healthcare sectors." }
        ]
      },
      {
        id: 2,
        title: "Universal Basic Income (UBI) Pilot Program",
        desc: "Establishing a baseline stipend of $1,000/month for citizens to offset automation-driven job displacement.",
        favor: 890,
        against: 940,
        userVote: null,
        comments: [
          { author: "Elena M.", text: "Inflation concerns need to be addressed before rolling this out." }
        ]
      },
      {
        id: 3,
        title: "Ban Single-Use Plastics Nationwide",
        desc: "Phasing out non-biodegradable packaging and single-use plastic bottles over the next 24 months.",
        favor: 1850,
        against: 150,
        userVote: null,
        comments: []
      },
      {
        id: 4,
        title: "Congestion Pricing in High-Density Downtown Areas",
        desc: "Charging a daily toll for non-essential personal vehicles entering city centers during peak business hours.",
        favor: 310,
        against: 1250,
        userVote: null,
        comments: []
      },
      {
        id: 5,
        title: "Mandatory Open-Source Code for Public Infrastructure Software",
        desc: "Requiring all tax-funded software projects to release their source code publicly for security auditing.",
        favor: 1120,
        against: 80,
        userVote: null,
        comments: []
      }
    ];

    let currentSidebarTab = 'favor';

    // RENDER APPLICATION
    function renderApp() {
      const search = document.getElementById('searchInput').value.toLowerCase();
      const filteredTopics = topics.filter(t => t.title.toLowerCase().includes(search) || t.desc.toLowerCase().includes(search));
      
      document.getElementById('topicCount').innerText = `${filteredTopics.length} Topics`;

      // Render Main Feed
      const feed = document.getElementById('topicsFeed');
      feed.innerHTML = filteredTopics.map(topic => {
        const total = topic.favor + topic.against;
        const favorPct = total > 0 ? Math.round((topic.favor / total) * 100) : 0;
        const againstPct = total > 0 ? 100 - favorPct : 0;

        return `
          <div class="bg-white border border-slate-200 rounded-lg p-5 shadow-sm space-y-4">
            <div>
              <h3 class="text-base font-bold text-slate-900">${escapeHtml(topic.title)}</h3>
              <p class="text-xs text-slate-600 mt-1">${escapeHtml(topic.desc)}</p>
            </div>

            <!-- Visual Bar -->
            <div class="space-y-1">
              <div class="flex justify-between text-xs font-medium">
                <span class="text-emerald-600 font-bold">${favorPct}% In Favor (${topic.favor.toLocaleString()})</span>
                <span class="text-rose-600 font-bold">${againstPct}% Against (${topic.against.toLocaleString()})</span>
              </div>
              <div class="h-2 w-full bg-rose-100 rounded-full overflow-hidden flex">
                <div class="bg-emerald-500 h-full transition-all duration-300" style="width: ${favorPct}%"></div>
              </div>
            </div>

            <!-- Action Buttons -->
            <div class="flex items-center gap-3 pt-1 border-t border-slate-100 text-xs">
              <button onclick="vote(${topic.id}, 'favor')" 
                      class="flex-1 py-1.5 rounded font-medium border transition ${topic.userVote === 'favor' ? 'bg-emerald-600 text-white border-emerald-600' : 'border-slate-200 text-slate-700 hover:bg-emerald-50 hover:border-emerald-300'}">
                &#x1f44d; In Favor
              </button>
              <button onclick="vote(${topic.id}, 'against')" 
                      class="flex-1 py-1.5 rounded font-medium border transition ${topic.userVote === 'against' ? 'bg-rose-600 text-white border-rose-600' : 'border-slate-200 text-slate-700 hover:bg-rose-50 hover:border-rose-300'}">
                &#x1f44e; Against
              </button>
            </div>

            <!-- Comments Section -->
            <details class="group text-xs pt-2">
              <summary class="cursor-pointer text-indigo-600 hover:text-indigo-800 font-semibold select-none flex items-center gap-1">
                &#x1f4ac; Discussion (${topic.comments.length})
              </summary>
              <div class="mt-3 space-y-2 bg-slate-50 p-3 rounded-md border border-slate-200">
                <div class="space-y-2 max-h-40 overflow-y-auto">
                  ${topic.comments.length === 0 ? '<p class="text-slate-400 italic">No comments yet. Start the debate!</p>' : ''}
                  ${topic.comments.map(c => `
                    <div class="bg-white p-2 rounded border border-slate-100">
                      <span class="font-bold text-slate-800">${escapeHtml(c.author)}:</span> 
                      <span class="text-slate-600">${escapeHtml(c.text)}</span>
                    </div>
                  `).join('')}
                </div>
                
                <!-- Comment Input -->
                <div class="flex gap-2 pt-2">
                  <input type="text" id="comment-input-${topic.id}" placeholder="Write your perspective..." 
                         class="flex-1 px-2.5 py-1.5 border border-slate-300 rounded text-xs focus:outline-none focus:ring-1 focus:ring-indigo-500">
                  <button onclick="addComment(${topic.id})" class="bg-slate-800 text-white px-3 py-1.5 rounded font-medium hover:bg-slate-700">
                    Post
                  </button>
                </div>
              </div>
            </details>
          </div>
        `;
      }).join('');

      renderSidebar();
    }

    // VOTE LOGIC
    function vote(topicId, type) {
      const topic = topics.find(t => t.id === topicId);
      if (!topic) return;

      if (topic.userVote === type) {
        // Toggle Off
        topic[type]--;
        topic.userVote = null;
      } else {
        // Switch Vote
        if (topic.userVote) {
          topic[topic.userVote]--;
        }
        topic[type]++;
        topic.userVote = type;
      }
      renderApp();
    }

    // COMMENTS LOGIC
    function addComment(topicId) {
      const input = document.getElementById(`comment-input-${topicId}`);
      if (!input || !input.value.trim()) return;

      const topic = topics.find(t => t.id === topicId);
      if (topic) {
        topic.comments.push({ author: "Public User", text: input.value.trim() });
        input.value = '';
        renderApp();
      }
    }

    // SIDEBAR RANKINGS LOGIC
    function switchSidebarTab(tab) {
      currentSidebarTab = tab;
      renderSidebar();
    }

    function renderSidebar() {
      const tabFavorBtn = document.getElementById('tabFavor');
      const tabAgainstBtn = document.getElementById('tabAgainst');
      
      if (currentSidebarTab === 'favor') {
        tabFavorBtn.className = "flex-1 py-1.5 rounded-md bg-white text-emerald-700 shadow-sm font-bold text-center";
        tabAgainstBtn.className = "flex-1 py-1.5 rounded-md text-slate-500 hover:text-slate-800 font-semibold text-center";
      } else {
        tabAgainstBtn.className = "flex-1 py-1.5 rounded-md bg-white text-rose-700 shadow-sm font-bold text-center";
        tabFavorBtn.className = "flex-1 py-1.5 rounded-md text-slate-500 hover:text-slate-800 font-semibold text-center";
      }

      // Sort topics by ratio
      const sorted = [...topics].map(t => {
        const total = t.favor + t.against;
        const ratio = total > 0 ? (t[currentSidebarTab] / total) : 0;
        return { ...t, ratio, total };
      }).sort((a, b) => b.ratio - a.ratio || b.total - a.total).slice(0, 10);

      const sidebarList = document.getElementById('sidebarList');
      sidebarList.innerHTML = sorted.map((item, index) => {
        const pct = Math.round(item.ratio * 100);
        const badgeColor = currentSidebarTab === 'favor' ? 'bg-emerald-100 text-emerald-800' : 'bg-rose-100 text-rose-800';

        return `
          <div class="bg-white p-2.5 rounded-md border border-slate-200 flex items-center justify-between text-xs hover:border-slate-300 transition">
            <div class="flex items-center gap-2 pr-2 min-w-0">
              <span class="font-bold text-slate-400 w-4">${index + 1}.</span>
              <span class="truncate font-medium text-slate-800">${escapeHtml(item.title)}</span>
            </div>
            <span class="font-bold px-2 py-0.5 rounded ${badgeColor} whitespace-nowrap">${pct}%</span>
          </div>
        `;
      }).join('');
    }

    // MODAL HANDLERS
    function openModal() { document.getElementById('topicModal').classList.replace('hidden', 'flex'); }
    function closeModal() { document.getElementById('topicModal').classList.replace('flex', 'hidden'); }

    function handleCreateTopic(e) {
      e.preventDefault();
      const title = document.getElementById('newTitle').value.trim();
      const desc = document.getElementById('newDesc').value.trim();
      
      if (title && desc) {
        topics.unshift({
          id: Date.now(),
          title,
          desc,
          favor: 1,
          against: 0,
          userVote: 'favor',
          comments: []
        });
        closeModal();
        document.getElementById('newTitle').value = '';
        document.getElementById('newDesc').value = '';
        renderApp();
      }
    }

    // SECURITY UTILITY
    function escapeHtml(str) {
      return str.replace(/[&<>"']/g, match => ({ '&': '&amp;', '<': '&lt;', '>': '&gt;', '"': '&quot;', "'": '&#39;' }[match]));
    }

    // INITIAL RENDER
    renderApp();
  </script></p>

<p class="wp-block-paragraph"> </p>
								</div>
				</div>
					</div>
				</div>
				</div>
		<p>The post <a href="https://solaraustin.org/2026/08/24/austin-city-wide-voting/">Austin City Wide Voting</a> appeared first on <a href="https://solaraustin.org">Solaraustin</a>.</p>
]]></content>
		
					<link rel="replies" type="text/html" href="https://solaraustin.org/2026/08/24/austin-city-wide-voting/#comments" thr:count="0" />
			<link rel="replies" type="application/atom+xml" href="https://solaraustin.org/2026/08/24/austin-city-wide-voting/feed/atom/" thr:count="0" />
			<thr:total>0</thr:total>
			</entry>
	</feed>
