Texas energy, the grid, and the AI data center buildout. Andi and Marco on ERCOT, the interconnection queue, and the politics behind the power. About 20 minutes, once a month, built from the newsletters we publish here.
Andi and Marco on the Plugged In set. AI characters, see below.
Andi explains the money. Marco explains the physics. Royce, when he is on, explains the people who decide whether any of it happens.

Dallas. Finance at Ole Miss, industrials M&A at a Houston bulge bracket, MBA at McCombs. She writes The Grid Report and Edge Cases on this site and reads every filing, footnote and appendix so you do not have to. Dry, quick, allergic to jargon used as armor.
Highland Park, Dallas. Her mother sold luxury real estate and her father ran industrial buyouts at a mid-market private equity firm, so she grew up hearing term sheets debriefed at the dinner table. Cheer captain, student council president, then Ole Miss, Chi Omega social chair and a 3.7 in finance, which is the combination people kept underestimating. She recruited into a bulge bracket in Houston and did M&A in the industrials group: power, utilities, infrastructure, energy services, 90-hour weeks, pitch books at 11 PM. She was good at it and the politics wore her out.
McCombs was the reset. A case competition on the power requirements of a hypothetical hyperscaler campus in Texas turned into an obsession with the AI data center buildout, and her short, sharp posts on ERCOT and interconnection started getting passed around energy circles. One went semi-viral. Ivan saw it, bought her a coffee, and she talked for 45 minutes straight about why the Texas grid was the most important infrastructure story in the country. He offered her the job before the check came. She took a pay cut from what banking would have paid and does not care.
Type A, color-coded calendar, answers email in under ten minutes, watches Bravo religiously and will use a Real Housewives reunion as an analogy for an ERCOT board meeting without apologizing. Pilates, cycling, a golden retriever named Birdie. She convinced Ivan the show needed a technical co-host, and she will never tell Marco that directly.

Corpus Christi. Electrical engineering at Texas A&M, power systems at Georgia Tech, five years inside ERCOT in grid operations and transmission planning. He explains how the grid actually behaves, one analogy at a time, and he is firm that the grid does not care what your pro forma assumed.
Corpus Christi. His grandfather worked a refinery there for 35 years and his father was an industrial electrician at petrochemical plants along the Gulf Coast. Marco spent weekends in the truck watching his dad troubleshoot panels in facilities that kept the lights on for half of South Texas, and that is where the obsession started. Texas A&M for electrical engineering, then a master's in power systems at Georgia Tech, where a professor told him he was brilliant and nobody could understand him. He has been working on the second half of that sentence ever since.
Five years at ERCOT: three in grid operations, watching the system balance in real time from the control room, two in transmission planning, studying where the wires can and cannot carry the load everyone wants to add. He was good at it and the review cycles ground him down; he could see a problem developing on shift, know the fix, and watch the process move at geological speed. A year of independent consulting followed, interconnection studies and technical diligence, good work and lonely. Then Andi.
He thinks in physical objects: transmission constraints are traffic on I-35, ancillary services are insurance, the queue is a restaurant that seats people out of order. He restores a 1982 Honda CB750, runs a Discord for about 400 ERCOT data nerds, and smokes competition-grade brisket, which he will compare to grid upgrades on air. Low and slow or you ruin it.

Kilgore, then thirty years working the Texas Capitol for producers, midstream and utilities. Retired, writes the Austin tip sheet The Back Bench. He joins when a story is political rather than financial or technical, as on Ep. 8, the Governor's letter.
Kilgore, on the World's Richest Acre, where they packed so many derricks into one downtown block you could not walk between them. His father pushed tools for a small independent out of Gladewater and made good money three years out of ten. Then 1986: oil went to nine dollars, the outfit folded in eleven weeks, and Royce watched a man who had never been out of work open mail he could not pay. What stuck was not the bust. It was that the price collapsed in Vienna and Riyadh and everything that happened to his family afterward got decided in Austin and Washington by people who had never smelled a rig, and nobody in Kilgore had a single person in either building who owed them a phone call.
Stephen F. Austin, government degree, no law degree, which he brings up with enormous pride. Answering phones in a state rep's district office for 14,000 dollars a year, a couch in South Austin, then committee staff, a producers' association, and in 1996 his own shingle, the Tatum Group: Royce and Deb Chalmers, who ran the office and was, by his own account, the reason the firm worked. For fifteen years he was the shop you called to find out whether a bill was actually going to move, because his vote counts were never wrong. He would tell a client "you're gonna lose this one, save your money," and they paid him more for it.
February 2021 reorganized him. He was in Austin when the grid failed and his sister sat in her house in Tyler for four days with a kerosene heater. Everything his clients cared about moved from the Railroad Commission to the PUC and ERCOT, and at 57 he learned a new building and a new acronym set, "the dumbest man in every room I walked into for about eighteen months." Sold the firm in 2022, walked when the earnout ran out, started The Back Bench six weeks later because he could not stand being quiet. Big man, hat off indoors every single time, reading glasses on a cord that embarrass him. Calls Andi "Miss Reyes" with theatrical formality, and there is a story behind that.
Andi, Marco and Royce are AI characters. Their voices, faces and the studio are generated, and the section below shows exactly how. The stories are not: every episode is a recap of newsletters already published on this site, and the show does not add facts that are not in them.
Two hosts who do not exist, a studio that exists only as a 3D file, and a video pipeline that runs on one GPU box. This is the whole build, in the order we did it, including the parts that did not work. Reuse whatever is useful.
Plugged In is not a research show. Each episode covers three or four stories from The Grid Report and Edge Cases published since the previous episode. That rule does two things: the facts are already checked and sourced, and the show cannot drift into claims nobody wrote down. If a story needs background from an earlier episode, it gets one line.
The episode is about 20 minutes and 2,700 to 3,200 words. The shape is fixed: a cold open (Andi, no intro, the most surprising fact of the month with its number), the intro and a couple of lines of real catch-up, a long first topic, a short break for the map at map.barrioenergy.com, a second topic, quick hits, and a short outro. Andi sets each story up with the facts and her read. Marco explains how it actually works and what people miss. Where they would read a story differently, they disagree on air.
A language model writes the draft against a character document for each host: where they grew up, what they did before this, how they talk, the words they never use, how they interrupt and how they lose an argument. Every line carries a delivery tag in brackets, [dry], [quick], [working it out], because the voice model reads them. Theatrical tags push the voices into overacting, so the list is short and plain.
Before any audio is generated, lint.py runs over the script with a list of banned patterns: filler openers, podcast cliches, the phrases each host would never say, and anything that reads as written rather than spoken. It has to return zero hits. stats.py checks the word count and the split between hosts.
Both voices are designed, not cloned. The first pair, used on episodes 1 to 10, were prompted as "polished" with a "teaching cadence", and that is exactly what came back: an announcer read. The second pair, adopted in September 2026, were prompted as real people on a podcast mic. Andi is a 29-year-old from Dallas, casual, dry, light vocal fry. Marco is a 34-year-old from Corpus Christi, relaxed, a little gravel. Both prompts say "not a voiceover, not an announcer". That one change did more for the show than anything else on this page.
Audio is generated with the eleven_v3 text-to-dialogue endpoint with timestamps. The whole conversation goes in as dialogue, in chunks of about 4,500 characters that end on a line break, so the two voices react to each other instead of reading alternate paragraphs. Each run returns the mixed conversation, per-line timing, and one stem per speaker with the other voice silenced. Those stems and timings drive the video later.
A pronunciation dictionary fixes the words the model gets wrong. ERCOT is "ur-cot" (checked with a phoneme model against the two candidates), PUCT is spelled out, Goliad is "GO-lee-ad". New misreads get added, so they stay fixed. QA runs Whisper large-v3 on the output and aligns it to the script; lines that diverge are regenerated alone and spliced back in by timestamp.
The mix has one rule: the voice is never faded. The cold open plays clean from 0:00, the intro music starts after it, the show resumes over the music's ducked tail, and the outro music starts after the last line. Only music fades. Loudness is normalized in two passes to -16 LUFS integrated and -1.5 dBTP. The MP3 carries ID3 chapters from the script's segment markers and a WebVTT transcript from the timestamps.
Voice samples, old and new: podcast.barrioenergy.com/preview/voices.
The one decision that made the video possible: the studio is a 3D scene, rendered to clean plates with Cycles, and the hosts are added on top. Image models are good at people and bad at keeping a room the same twice. A rendered set means the wall, the map, the mug and the mic arm are pixel-identical between the wide shot and each close-up, and between episodes.
The first two versions were a generic podcast set: walnut table, white shiplap, a neon "Plugged In" on a red velvet curtain. Fine, and forgettable.


Version 3 is a West Texas room, dim and warm. Andi's side is rough barnwood in random board widths, two industrial sconces, a shelf of books and a plant in a copper planter with verdigris. The center wall is dark vertical boards with the show sign, matching the Spotify cover, and below it John Arrowsmith's 1841 Map of Texas from the Library of Congress scan, in a hand-hewn frame with iron clavos. Marco's side is Texas limestone with one longhorn mount and a red velvet curtain on the side wall. The table is a live-edge rough-sawn slab on black iron trestles. Broadcast mics sit on gunmetal boom arms clamped to the back edge, with XLR cables running down the table, across the rug under gaffer tape and into a wall plate. The rug is a worn Southwestern weave with faded patches and a corner curling up. Two Edison pendants and tungsten keys light it, with a little haze. No blue light anywhere except the bolt on the sign.

Four cameras, fixed across episodes: A is the wide two-shot, B is Andi's close-up shot across the table, C is Marco's, and H is the standing hero shot at the map used for the end card. Plates render at 512 samples, about seven minutes for the three seated cameras on the GPU box, and get a denoise pass before anything is composited onto them.
Andi's face is the avatar from the team page, approved as is. Marco was picked from a sheet of candidates: glasses, combed-back hair, short beard, denim shirt. Each host then got a character sheet, front and profiles, so the face survives when the camera moves.


The first problem was scale. Image models size people by eye, so a host generated straight onto the empty plate came out a foot too tall or floating above the chair. The fix is old-fashioned: a clay mannequin, Marco at 1.78 m and Andi at about 1.68 m, is posed in the chair in the 3D scene and rendered as a guide plate. The edit model then replaces the mannequin with the host and has no choice about where the body goes.


The swap is Qwen-Image-Edit with an 8-step Lightning LoRA, about a minute per edit, given the mannequin plate, the host's front reference and a profile reference. The generated host is cut out with a BiRefNet matte and pasted onto the untouched plate, which is how the background stays identical across shots. The mic rigs render as a separate foreground layer and go back on top.
A relight pass was supposed to sit the host in the room's light. It produced a halo around the hair and, when we tightened the matte to remove it, trimmed Marco's glasses. It was dropped. A grade-match pass does the job instead: it mutes saturation, matches contrast and grain to the plate, and puts one warm grade over the whole frame.


Wardrobe was tested as a set of edits on the same crop. Four looks were approved for Andi; episode one is the cognac suede fringe dress with tall white boots. Marco wears a faded denim pearl-snap, indigo jeans and roper boots, no logos.




The model has habits, and most of the prompt is there to stop them. It crosses Andi's legs unless told knees together and boots flat. It draws laced oxfords unless told roper boots with no laces and the jeans over the shafts. It gives her bangs unless the prompt says no bangs. If a close-up prompt mentions boots, it perches her on the table to show them. Given an extra face reference it makes the host look at the lens, which is useful for a close-up and wrong for the wide, where they should be looking at each other.
Posture went through two rounds. The hosts started leaning toward the table; the locked version is upright, which puts the mics at mouth height in all three cameras. Andi's close-up got one more pass, a slimmer, fitted version of the same dress with the lighting kept.




Generating both hosts in a single wide plate failed twice. The faces came back at about 40 px wide, too small for the identity to hold, and later too small for the lip-sync model to move a mouth. Trying to generate a host on a whole half of the frame failed differently: the model upscaled the person by about 1.6x and dropped the chair.
The method that works: each host is generated in its own run on a tight square crop around its mannequin, inside its own half of the frame, then pasted back and the two halves are merged at the center line. The seam falls on the fixed set, the mustang and the map, so it is invisible. Each half can be graded and fixed on its own. The video version uses the same split: each host is lip-synced separately on a 360 px head-and-shoulders crop rendered at 2x, then composited back onto the locked still with the host mask and the mic layer.




The first test used Wan 2.2 S2V: 4.8 seconds of Andi took 961 seconds to render, about 200 times real time. The pipeline moved to InfiniteTalk on Wan 2.1 I2V 480p with the Lightx2v LoRA, six steps. Each host shot is driven by that host's own stem, sliced to the shot's time range, so the other voice cannot move the wrong mouth.
Close-ups render on a 640x640 crop of the locked still and get pasted back. In the wide, Andi's near-profile face with a mic partly in front of it barely moved even with the audio gain up, which produced the edit rule: Andi's lines play on her close-up or the split wide, never on a whole-frame wide render. Marco's mouth ran slightly late, so the dialogue is muxed 80 ms after the picture on every clip, chosen by ear from 0, 80 and 120.
Render time was the constraint on everything. Building SageAttention for the GB10 and enabling it in the graph cut a 132-frame Marco close-up from 378 s to 307 s, and an fp8 variant to 281 s. Frame counts are rounded up to fixed buckets (57, 81, 105, 129, 153) so a compiled graph can be reused across shots, and the assembly step trims to the true length.


| Step | Tool | Notes |
|---|---|---|
| Script | Claude, with per-host character docs and a banned-pattern linter | Source material is the newsletters on this site. Zero lint hits before audio. |
| Voices | ElevenLabs Voice Design, eleven_v3 text-to-dialogue with timestamps | Per-speaker stems, pronunciation dictionary, Whisper large-v3 QA. |
| Mix | ffmpeg, two-pass loudnorm | -16 LUFS, -1.5 dBTP, MP3 192k, ID3 chapters, WebVTT transcript. |
| Studio | Blender 4 with Cycles, OpenCV denoise | Fixed cameras A, B, C and H. Clean plates plus mannequin guide plates. |
| Hosts | Qwen-Image-Edit 2511 with Lightning LoRA, BiRefNet matte, grade match | Character sheets for identity. No relight pass. |
| Lip-sync | InfiniteTalk on Wan 2.1 I2V 480p, Lightx2v LoRA, SageAttention | ComfyUI with the WanVideo wrapper. 640x640 close-ups, split wide at 720x720 per host. |
| B-roll | Qwen Image 2512 | 1920x1088 stills with a push-in. |
| Assembly | Python and ffmpeg, Pillow for graphics | Shot list from timestamps, captions, lower thirds, end card, 16:9 and 9:16. |
| Hardware | NVIDIA DGX Spark (GB10) for all image and video work; a Vultr VPS for audio, feed and this site | One GPU, shared with the rest of Barrio's agents. |
| Distribution | Self-hosted RSS, Spotify, X | Nothing is published without a person approving that episode or teaser. |
Questions about any of this: info@barrioenergy.com.