I’ve spent a lot of the last few weeks reading drafts from the StringTheory’s Agentic Newsroom and sending them back.
Some had the right numbers and still gave me no reason to care. Others found an interesting vote, then built the story around the wrong question. Getting a system to produce an article turns out to be a very different problem from getting it to do useful reporting.
But there is now something real to show for that process. StringTheory’s Agentic Newsroom is live, with six published stories you can explore today. Each has an interactive presentation, links into the underlying records, and an audio summary (more on this below) if you would rather listen.
In my last post, I explained why I moved to Flutter and started leaning into Generative UI. This is where that work starts to come together: a system that researches a political story, assembles the evidence, and figures out how to present it in a way that people will actually want to consume, with data-driven storytelling.
Giving the graph a reporting team
The original StringTheory experience started with a search. Find a politician, pull up a bill, replay a vote, search how much Elon Musk has donated to campaigns, and follow the connections.
That works when you already have a question. But most people following the news don’t arrive knowing what are current legislations being introduced or voted on that could affect their lives and about the issues they care about. They saw a headline, heard something on a podcast, or watched a clip and want to understand what happened.
The Newsroom starts there.
It brings together the public conversation and the underlying record. Coverage from news outlets and political shows helps identify what people are talking about. The knowledge graph provides the votes, legislation, people, and relationships we can examine to put that conversation in context.
The SportsCenter reference from my earlier post still holds. I want to open StringTheory and get an engaging rundown of what happened, with the important moments pulled out and the evidence right there. Then, if something catches my attention, I can go deeper.
Getting there requires a few different jobs.
How the agents work together
The backend uses Google’s Agent Development Kit to coordinate four agents, each with its own instructions, tools and structured output. That lets me improve a specific part of the reporting process and trace where something went wrong.

Scout: Turns signals from news coverage and political activity into an assignment and a question worth investigating.
Researcher: Follows that question through the knowledge graph and outside sources, returning a memo with evidence attached.
Reporter: Uses that research to write the article and propose the charts, timelines and other components that explain it.
Editor: Checks the draft against the evidence and can send it back to the Reporter for a limited revision loop.
Code checks the references and chart values against the story’s evidence. A human then gets a packaged story on the Editor Desk to decide whether to publish, revise or reject it.
How it gets better
My review also becomes feedback. I score drafts from 1 to 5 on timeliness, story tension, what the graph contributes, trust, and voice and clarity. The Editor and a separate LLM judge use the same rubric, so I can see where their judgment differs from mine.
Those scores sit alongside the story’s evidence and execution traces—the record of what the agents and tools did. I’m working toward turning recurring failures into a versioned evaluation dataset, so the next iteration has to handle the same cases better.
Google’s Agents CLI evaluation workflow provides the generate → grade → compare pattern. Proposed changes to prompts, tools or agent handoffs can then be tested against a baseline, with human review before production. Running the Newsroom builds the material for improving it.
The graph is part of the reasoning
The knowledge graph is what makes this architecture particularly interesting to me. It gives the Researcher a connected model of the political system to explore: people, votes, bills, and the relationships between them.
That allows a research question to develop across multiple steps. Start with a lawmaker’s vote. Resolve exactly what was being decided. Look at comparable actions over time. Bring in what the people involved said publicly, and see what the combined evidence can actually support.
The distinction between “the same bill” and “the same question” is a good example. Voting to advance debate and voting for final passage are different actions. Putting them next to each other on a timeline doesn’t automatically establish a reversal. The relationships and procedural context matter as much as the vote itself.
As the tools retrieve evidence, the system captures source-backed facts that can be referenced by the draft’s claims. Those references continue into the visual components. The number in a sentence and the number in its supporting chart should come from the same underlying evidence.

That gives me something concrete to debug when a draft goes wrong. I can look at the assignment, the evidence the Researcher found, the Reporter’s interpretation, and the Editor’s critique. It also means readers get access to the records behind the finished story.
This is where I think there is a lot of opportunity in applied AI: building a useful domain model, giving agents tools to reason through it, and carrying the evidence all the way into the user experience. The structure you build around the models determines a lot of what they can do well.
The story also has to work on a screen
This is where the Generative UI work comes in.
Different investigations need different explanations. A vote reversal might be clearest as a timeline. A claim about party unity might need a comparison. A procedural result might need a large tally with one short explanation of what that vote actually decided.
For example, more people voting yes than no does not always mean a proposal passed. If the action required a two-thirds majority, the threshold is part of the story. The reader should be able to see that immediately.
The Reporter Agent describes its proposed layout as structured data, choosing from a catalog of UI data-visualization components I’ve built for common storyline evidence. The application validates that plan and resolves the components’ displayed values from the referenced evidence. Flutter then renders the composition across web and mobile.
The model has room to make an editorial choice—this finding needs a timeline, that one needs a comparison—while the application controls how those components behave and where their facts come from.
That’s the application of Generative UI I’m excited about: letting the shape of the reporting influence the interface. The page should help explain the finding before you’ve read every paragraph.
You can see the first six examples in the Newsroom.
Follow the stories wherever you already are
PQ Labs will stay focused on building StringTheory, product updates, and technical deep dives. There’s a separate StringTheory Substack subscription for the politics: automated Newsroom reporting alongside my own analysis. You can subscribe there without signing up for the app.
Expect 30–60 second explainers on YouTube Shorts, TikTok and Instagram Reels, with narration, captions and the key evidence on screen. On StringTheory’s Substack, the Newsroom stories get a longer written explanation, a chart and source links, with short Notes pointing to the full posts.
A published investigation and its evidence supply the script, visuals and written copy. The same narration also becomes the app’s Audio summary. That generation pipeline is working; I’m finishing the publishing connections and reviewing the social packages before they go out.

Follow along here:
No StringTheory account is needed to follow those channels.
Android is here. iOS is next.
StringTheory is now live and available for download on the Google Play Store for Android phones. You can download or update StringTheory on Google Play, or use the web app. iOS is coming soon.
I’m working toward publishing three to five worthwhile stories a day, with the agents doing the research and production and me reviewing what goes out.
Time to get it out there
The last big pieces for this midterm push are getting iOS out and making the Newsroom’s daily flow more reliable. After that, I need to stop telling myself it needs one more feature and start getting it in front of people.
On StringTheory’s Substack, I want to write about what’s happening in politics, what I make of it, and how I use the app to work through the questions I have. These will be more personal pieces of political analysis, with less time spent on the technology.
I may try short videos or livestreams too. I haven’t settled on the format yet. The goal is to show people how I use the app, get them to try it, and hear what’s useful or missing. That feedback should help decide what comes next.
Remembering everyone we lost on 9/11, 25 years ago today. Never forget 🙏🏽
— Pravin

This is sick.
What kind to cost are you seeing per article?