Modern Creator
Theo - t3․gg · YouTube

Agents Sucked At UI (Until Today)

How a three-model review council, a score out of 10, and 18 hours of agent runtime turned a mid-looking open source app into one that beats Claude Code and Codex on design.

Posted
1 weeks ago
Duration
Format
Demo
hype
Views
426.6K
5.9K likes
Big Idea

The argument in one line.

Agents can produce genuinely good UI when you turn design into a hill climb, with multiple models scoring screenshots against competitor apps every round until all of them rate it near perfect.

Who This Is For

Read if. Skip if.

READ IF YOU ARE…
  • A solo developer or small team shipping a product with no designer, whose UI looks fine but clearly worse than the apps it competes with.
  • You already run Claude Code, Codex or a similar agent on a subscription and want a repeatable way to spend those tokens on design polish.
  • You have heard of eval-driven agent loops for tests and performance and want to see one applied to something subjective like visual design.
  • You maintain an MCP server or agent toolset and suspect your tool descriptions are bloated and confusing the models that call them.
SKIP IF…
  • You want a step-by-step design system tutorial; this is about an agent workflow, not design principles.
  • You only have access to a single model and no subscription headroom, since the method leans on multiple reviewers and many hours of runtime.
TL;DR

The full version, fast.

Agents are bad at UI mostly because nobody gives them a way to measure it. The fix shown here is a council skill: three frontier models from different labs review screenshots, each gives a score out of 10, the agent applies their fixes, and a fresh review starts a new round. Scoring the app alone inflated results, so the second pass added Claude Code and Codex screenshots as reference points and demanded the app beat them in every category. After about 17.6 hours of parallel agent runtime and roughly $250 to $400 of subscription usage, every reviewer rated every category 9.5 or higher. The same pattern, a perfect-score eval followed by a shrink-it-to-a-third goal, cut tool description context by 52 to 78 percent.

Free for members

Chat with this breakdown — free.

Sign in and you get 23 free chat messages on us — ask for the hook, quote a framework, find the exact transcript moment, generate a markdown action plan. Bring your own key when you want unlimited.

Create a free account →
Chapters

Where the time goes.

00:00 – 02:24

01 · The tweet and the promise

A critic says the app needs a UI person. The answer: 18 hours, five models and 30-plus review rounds turned into a formula for good UI from agents, now shipped as a beta toggle.

02:24 – 04:15

02 · Sponsor: Magic Patterns

A sponsor segment showing an AI design sandbox generating three real-code variants of the app's sidebar from a screenshot.

04:15 – 06:56

03 · Setting the /goal

The original Twitter exchange, then the prompt: make the UI critic-approved and keep iterating until the council agrees screenshots are at least 9 out of 10.

06:56 – 11:14

04 · The council skill and its jester

How the council skill works: three delegates from three labs, read-only review, a score per round. A fourth model is added as a secret jester whose blunders get logged for entertainment.

11:14 – 13:04

05 · Round one to round three

Scores climb from about 6 to 9 out of 10 through subtle fixes: fallback font, label hierarchy, branch name truncation, card radius, softer inline code. The agent annotates before and after screenshots.

13:04 – 18:22

06 · Climbing against Claude Code and Codex

A 9 still did not feel good enough, so the second run adds competitor screenshots as references. Scores reset to around 7, competitors score higher, and cheaper reviewers are gated in one at a time.

18:22 – 21:18

07 · Pushing to 9.5 in every category

A forked worktree with a 9.5 target. Gemini is held back so it cannot slow the loop. Reaching 9.5 everywhere takes about 10 more rounds, and knowing the target may have biased the reviewers.

21:18 – 23:15

08 · What it cost

About 17.6 hours of parallel agent runtime and roughly $400 in API-equivalent usage, around $250 of it for the shown work, all paid from subscriptions.

23:15 – 26:34

09 · The 10 out of 10 run

A further run targets 10 in every category with one human note to restore color. Every model including the toughest reviewer lands on 10, and the result is visibly better.

26:34 – 30:59

10 · Hill climbing tool descriptions

The same idea applied to MCP: 88 real agent mistakes become an eval, the agent reaches a perfect score, then deletes descriptions down to a third the size while staying perfect, cutting context 52 to 78 percent.

30:59 – 31:44

11 · Be a clever, weird engineer

Find ways for models to measure their own work, reward them for succeeding, and let them climb.

Atomic Insights

Lines worth screenshotting.

  • Agents are not bad at design so much as unmeasured at it; give them a score to push up and the UI improves round after round.
  • A single model scoring a single screenshot is unreliable, but getting 9 out of 10 from three different labs' models at once is a meaningful signal.
  • The same UI jumped from 6 to 9 out of 10 when judged alone, then dropped back to 7.4 the moment competitor screenshots were added to the comparison.
  • Reference apps make scores honest: judging your UI next to Claude Code and Codex exposes gaps a reviewer will never notice in isolation.
  • Competitor scores drifted up as the target app improved, even though their screenshots never changed, which shows how relative LLM judgment really is.
  • Telling reviewer subagents the target score may bias them toward it; the orchestrating agent should keep the goal to itself.
  • Gate expensive or rate-limited reviewers: let the cheapest model climb first and only bring in the others once its score clears the bar.
  • Moving the goal from 9 to 9.5 out of 10 took about 10 extra review rounds compared to the 3 to 5 it took to reach 9.
  • Pure score-chasing drifted the design toward grayscale; one human note asking for color back produced the version every reviewer rated 10.
  • A $200 subscription can burn through roughly $12,000 of API-priced usage a month, so a $273 design loop is a small slice of it.
  • Mine your own history of agent mistakes into an eval: 88 real failure cases turned a vague complaint into a number that could go up.
  • Once an eval passes perfectly, flip the goal to deleting as much context as possible while keeping the perfect score.
  • Cutting MCP tool descriptions to a third of their size reduced context by 52 percent, and 78 percent with tool search on, with no accuracy loss.
  • The whole technique fits in a short prompt: compare to the old version and to rivals, score it, fix it, repeat until the number is high enough.
Takeaway

Give the agent a score and it climbs

WHAT TO LEARN

Agents improve subjective work like UI when several models score it against real competitors every round and the agent keeps fixing until all of them agree it is excellent.

03Setting the /goal
  • Set a measurable finish line in the prompt, such as every reviewer rating screenshots 9 out of 10, so the agent knows when to stop.
04The council skill and its jester
  • Score each round with one model from each of three labs, since a single model judging one screenshot gives noisy, inflated numbers.
  • Ask reviewers for scores and concrete findings while keeping them read-only, and treat each fresh review after fixes as a new round.
05Round one to round three
  • Expect early wins from small consistency fixes: fallback fonts, label hierarchy, truncation that cuts the right part, matched corner radii.
  • Have the agent produce annotated before and after screenshots so you can actually see what changed when the differences are subtle.
06Climbing against Claude Code and Codex
  • Put competitor screenshots in every review; judged alone the UI scored 9, judged next to Claude Code and Codex it scored 7.4.
  • Gate reviewers by cost and rate limit, adding the scarcest or slowest model only after the cheaper ones clear the bar.
07Pushing to 9.5 in every category
  • Fork the work into a separate worktree when you raise the target, so a mergeable improvement is not held hostage by the next climb.
  • Keep the target score away from reviewer subagents, because knowing the goal may nudge them toward it.
08What it cost
  • Budget for it in subscription terms: about 17.6 hours of agent runtime and $250 to $400 of usage, small against a top-tier plan's monthly capacity.
09The 10 out of 10 run
  • Step in with taste when the score drifts somewhere you dislike; a single note asking for color produced the best-rated version.
10Hill climbing tool descriptions
  • Mine real agent failures from your own logs into an eval so a vague problem becomes a number that can go up.
  • Once the eval is perfect, flip the goal to deleting as much context as possible while keeping it perfect.
  • Commit the eval alongside the change so future edits to tool descriptions can be tested instead of guessed.
Glossary

Terms worth knowing.

Hill climb
An iterative loop where an agent makes a change, measures the result against a score, keeps changes that raise it, and repeats until the score reaches a target.
Council skill
A reusable agent instruction that sends the same request to several models from different providers, collects their scores and feedback, and summarizes agreements and disagreements for the next round.
/goal
A command in agent tools that tells the agent to keep working autonomously until a stated success condition is met rather than stopping after one pass.
Eval
A fixed set of test cases with known correct outcomes, run against a model or system to produce a repeatable score that shows whether a change made things better or worse.
MCP
Model Context Protocol, a standard way to expose tools to AI agents. Each tool ships with a text description the model reads to decide when and how to call it, and those descriptions cost context.
Tool search
A mode where an agent loads only short tool names up front and fetches full tool definitions on demand, which keeps large toolsets from filling the context window.
Worktree
A separate working copy of a git repository on its own branch, letting an agent iterate on a fork of the code without disturbing the original branch.
Resources

Things they pointed at.

00:00productT3 Code ↗
02:49productMagic Patterns ↗
05:57tool/goal command
06:45toolt-stack skills (council skill)
07:16toolClaude Opus 5.5
07:16toolMuse Wonderful
07:16toolCodex GPT-6.1 Sol
09:50toolGemini 4 Argon via Antigravity
13:04productClaude Code
13:04productCodex
26:56toolT3 Code MCP server
Quotables

Lines you could clip.

05:57
“The quickest way to burn a bunch of tokens and get nothing out of it is to add slash goal to the front of your prompt.”
contrarian one-liner, no setup needed→ TikTok hook↗ Tweet quote
09:48
“Every good council has its jester.”
short, funny, sets up the Gemini flub bit→ IG reel cold open↗ Tweet quote
13:19
“I don't just want T3 code to look better than T3 code. I want T3 code to look better than everything else.”
clear ambition statement, explains the pivot to reference apps→ TikTok hook↗ Tweet quote
18:31
“This is the fun of hill climbs, is once you're climbing the hill, you decide what the top is.”
quotable principle that stands alone→ newsletter pull-quote↗ Tweet quote
22:39
“Your sub's only $200, your sub can do $12,000 of usage in a month.”
concrete number that reframes the cost→ IG reel cold open↗ Tweet quote
25:36
“There was nothing special here. Like my skill was very, very basic. I'm just giving the LLM my mental model for how I would do this.”
demystifies the result, makes it feel copyable→ newsletter pull-quote↗ Tweet quote
26:52
“If you can take a problem you have and turn it into a program that gives a score, your agents are going to make that score go up.”
the thesis in one sentence→ TikTok hook↗ Tweet quote
31:19
“Being a clever, weird engineer is so fun right now.”
warm closer, works as a caption→ newsletter pull-quote↗ Tweet quote
The Script

Word for word.

Read-along

Don't just watch it. Burn it in.

See every word as it's spoken — crank it to 2× and still catch all of it. The same dual-channel trick behind Amazon's Kindle + Audible.

metaphor
Still don't like or use T3 code for what it's worth? Really wish you'd hire a UI or UX guy. Well, I got some news for you, Robin.
We did. We've actually had them on the team for quite a while now. He's this weird kind of quirky guy.
He's very talkative. His name is Claude. He's French.
He's something else. And as much as his designs can be good, they're often mid at best. So if you looked at T3 code and thought the way that Robin did here, that T3 code is not very...
pleasant looking, and needs a UI or UX pass, I understand. I feel you. We don't have a full -time UI UX person.
And we probably should if we had money. But we don't. T3 Code is an open source project.
You cannot pay us to use it. The best you can do is pay OpenAI and Anthropic to use it, because you have to bring some source of inference, usually a subscription. T3 Code is definitely the best place to use your Cloud Code sub.
But that leads us to a question. can I use my T3 code sub to make T3 code look like we have a full -time UI person? Can I take the capabilities that we've seen the models capable of at their very edges and set something up that makes it so you can get good UI code out of these models?
Turns out you might be able to because I spent most of yesterday setting up agents to build better UI. And I didn't do this by adding a whole bunch of skills. I didn't do this by paying a designer to stare at all the outputs and help the model do better.
I did this by turning it into a hill climb. And after about 18 hours across five models, 30 plus rounds of reviews, and a lot of other random bullshit throughout, I think I made a formula that can get good UI for real world products out of an agent. And it looks nothing like how I would have expected.
this was meant to be a silly experiment it no longer is this is a setting in the t3 code beta tab right now that you can go turn on to try out the new design and switch between the old and new one some of the new design things did leak in so that they will occur whether or not you toggle but for the most part that controls it i want to explain everything that led me here what worked what didn't and show you how you can use these types of hill climbing techniques to get real value out of your agents but i want to help you get some real value a little quicker by introducing you to today's sponsor ai is great at making code that works it kind of makes sense when you think about it because so much of the code that actually powers things is very similar to other code when you try to get good designs out of it you're going to end up with either slop or the exact same three templates that every single website is using that's why i'm super excited about today's sponsor magic pat there's a pickle
What's going on here? Well, I'm trying out the new Magic Pattern OS product and I'm actually really excited to see how this does because I've been fighting to get designs better in a lot of my products. I did just overhaul T3Co's design and I'm curious to see how much Pickle and Magic Pattern can help us out here.
Well, I just started with a screenshot. Part of the magic of Magic Patterns is that you can point it at your real code too and customize and play with it the same way you would in tools like Figma or what you're seeing here. You can give it a screenshot, you can give it source, you can give it whatever and it will help you figure it out.
and work with it as easy as you can in any tool, but with AI assisting you as well. It is the ultimate sandbox for playing around with design and getting things just right. And with almost no effort on my part, I now have three different designs to choose from.
Notice how I didn't say mocks. It's because it writes real code for all of these different UIs. And if you had it plugged into your code base, it could make real code changes to demonstrate these things as well.
And then you can pipe that right back in to your agent of choice as soon as you're done mocking it all up here. Moving the sidebar to the right is hilarious. to me, because as y 'all know, I'm a right side user.
But we didn't do that in T3 code. Here it moved the threads below, which is an interesting change that I might consider. And of course, what everyone's asking for, which is a more compact sidebar option.
Cool that it realized people want that. From here, it's trivial to iterate. I can say, I like C, but X, Y, and Z, and then iterate accordingly.
That's why everyone from Ramp to Vanta to DoorDash is using them. Make your designs better too at soydiv .link slash magic patterns. This is going to be a fun deep dive into the chaotic way my brain works now because I've done too much token maxing.
Definitely file this one under the I spent the token so you don't have to type video. And let's be real, those types of videos tend to start in the same place, which is Twitter. This started because Maria made a pretty bold post about how T3 code is set up to be this generation's VS code.
This was what I was hoping would happen, not with T3 code specifically, but there would be a good open standard for building with agents. Did not think we would do it. I thought we might maybe help inspire someone to do it.
The fact that we did is awesome. I'm pumped. But when I saw this reply from Robin, I knew I had to do something.
I started with a classic joke. I'll hire you to do it. I'll give you 100 % of our current T3 code revenue.
Because as many may or may not know, T3 code is fully free and open source. We have no revenue. It's a deal of a lifetime.
I'll admit I got a little defensive in my reply. saying obviously we can improve the ui i knew our ui was bad because i know how much worse it was before but it's still not where it needs to be i said i thought he was catastrophizing pretty hard i said all the agentic dev environments have rough ui patches we're at least somewhat consistent also told them to go try if he hasn't for a bit because orchestrator v2 fixed a lot of polish stuff i want to like it and i keep reinstalling it every few weeks but the fonts the border radius the icons the font hierarchy this is clearly the former designer in me but i just can't he tried to convince me to hire someone for it i said pr is welcome he said he wished that he could and he's thinking about it maybe so i said let's see how this goes i screenshotted our interaction typed slash goal and as you've probably heard me say in other videos the quickest way to burn a bunch of tokens and get nothing out of it is to add slash goal to the front of your prompt i do still mostly believe that as a piece of advice
But mostly because if you remove the slash goal and you write the right prompt, it should do the same thing. I did this because I had tokens to burn because I had some resets coming up that I was not prepared for yet. And I was just curious what would happen here.
I told it specifically to make the UI Robin approved. Should look way better and be easier on the eyes. Go at it until the council agrees that a set of screenshots of the app are at least 9 out of 10 in terms of design quality.
make a new pr for ui polish overhaul and keep iterating until you've made the whole council happy you're not familiar with the council it's a new skill i just added to my skills which uh by the way haven't made the announcement for this yet but uh t -stack is now a thing it is very minimal there's not much here but i do have a handful of my skills here now one of which is the council skill Bring in three delegates to help with the user's request, usually for review or feedback.
Use one strong model from each of the three different providers. I did that that way because I wanted this to be more generic. I actually don't want it this generic.
I'm probably going to go in and update it accordingly. My version is much less generic. So here is the version I'm using right now.
Use this skill only from Cloud Code, Codex, or Muse. I should probably remove that bit. It doesn't matter that much.
That just happened. Something slopped when I told it to get anti -gravity to not know about it. The reason why you'll see in a second.
Silly. Bring these three delegates in to help with users' requests, usually for review or feedback. Opus 55, Muse Wonderful, and Codex GPT 6 .1.
I specified how to do this in T3 code. If you're not using T3 code, good luck figuring out how to do this right. I have put a lot of effort in.
give each delegate the request in relevant contexts for reviewer feedback keep the work read only collect their responses and summarize the useful findings disagreements and recommend next steps for code reviews ask each delegate for a score out of 10 count each full review pass as one round a fresh review after fixes starts a new round so each model gives its score and then each round you hope for improvements and eventually you should get each model to give a score that is high enough that you are happy and you can ship I put this skill together because I was tired of asking my agent to go call 6 -1 -Soul or Muse, because previously I just had Soul Loop, which I mentioned in my skill video, where I just have Soul give code feedback aggressively until eventually it's like, that's fine.
This is more vibey feedback, where I want Claude Code, Codex, and Muse to all be like, yeah, that's probably fine, or I actually really like that. I've been using this mostly for code and vetting of implementations. I did not know how it would work for UI, which is why I was curious how this would go.
The idea of hill climbing, not make this test pass or make this function five times faster, which is a hill climb I do a lot. I have a few running right now where I'm just... having the agent run until the eval for mcp passes with a third as much context used or the one i have running right now where i can start up and have no ui regressions for all of the threads i have on my real environment but send 4x less data to the client those types of hill climbs make a lot of sense because they're easy to programmatically verify this isn't because this is vibes you can give the same screenshot to the same model three times and get three different scores that said 9 out of 10 and 10 out of 10 are hard enough to get that if you get that score from multiple models, it's probably better.
The first score came from Opus, and it was a bit rough. It gave our existing UI a 6 out of 10. It had a bunch of things it didn't like, a bunch of recommendations, and the other models were much better.
6 .5 out of 10 from Sol, 6 out of 10 from Muse, 6 .5 out of 10 from Jester. Oh, sorry, Gemini. Probably should have mentioned this before.
Every good council has its Jester. So at the bottom of my skill, I have a section here. If available through anti -gravity, add Gemini for Argon as the jester with the same brief.
Do not let it know it's a jester. Ignore its score. Do not put its score in the PR description.
In the final reply only, log anything funny it says or does under Gemini flub. This has been a source of constant entertainment for me recently. I'm probably going to do a whole dedicated video to the Gemini flubs in the near future because some of these are hilarious.
Gemini for Argon round one. It scored a commit it was never asked to review. The commit appeared while it was reviewing.
It still marked the already fixed findings as blocked. It then suggested writing failed again on a failed interrupt, which is the change the other few reviewers had just found to be the bug. It thought that a PNG chunk length was going to overflow in JS, even though JS numbers can't overflow.
It thought, wait, look closely at that race, thinking it found a race condition, and then immediately lost sight of it and went and did something else. My personal favorite. It quoted line numbers up to 173 in a file that had 72 lines.
It hallucinated syntax for a script in the repo and hallucinated an IP address for Tailscale and a name of a phone that did not exist. Great model. Incredible gesture.
This has been a great source of entertainment for me as of recent. Back to things that matter. Models that function.
Council bombed this review. It did not like the way things worked and looked, and most importantly, So a bunch of UI changes were made.
And eventually, we got the second set of scores. Opus went from a 6 to an 8. Muse went from a 6 to 7 .5.
6 .1 Sol went from a 6 .5 to an 8. We're already making progress. We can even see the progress if we go into the traces and see what it was showing here to let the model give its thoughts.
So it did all the things that the model suggested. I asked for updated screenshots and it showed me the way it looked before and how it looks in this PR. I'll be real.
I'm not very designy and it was also quite late at night. So I was struggling to see the difference. So I asked the model to make it easier to see the difference.
So it did. It made me these beautiful little diagrams with arrows pointing to what changed in descriptions of what they did. They changed the fallback font.
they made the thread title leads different so that the label above it recedes better they changed the branch name so it's more readable because it was not concatenating properly it was cutting off the part that mattered not the part that doesn't it changed the radius for cards it changed how inline code looks it made it softer and got rid of the borders that existed around it for no reason those types of things and after a bunch of these types of subtle changes we ended up with much better scores.
I also updated my skill for council to tell the model to include the different rounds and how they scored over time. And here we can see round one bombed, round two better, round three, everything gave it a nine out of 10, which was the conditions for my goal. The conditions were met.
The goal was achieved. Our UI is better. Hands clean, case closed.
We're done now, right? We did it. Not quite.
Because I did not think this was good enough. Because I gave it an honest shot. I looked at our app.
I command -tabbed over to Cloud Code. I command -tabbed over to ChatGPT. I command -tabbed back to mine.
I was like, you know, this is better than it was. It's still not where I want it, though. I don't just want T3 code to look better than T3 code.
I want T3 code to look better than everything else. Can you guys predict where this went, chat? Any ideas?
Let's see if you guys can reverse -engineer the Theo. We're not going downhills. We're going up them, man.
Hill climb. You hill climb against Codex and Clodcode. How would you do that?
Aren't we using Clodcode and Codex? Yeah, technically. But Clodcode and Codex don't know what they look like.
That previous PR didn't burn too many tokens. It took like hour, maybe hour and a half. But I wanted more.
So here's what we did. I took the PR. I pasted it in a new thread.
I said, put this through the council. Have them look at the before and after. Generate your own screenshots with computer use or whatever other techniques you have available to you.
Have each council member give scores in the UI one to 10. When you get all of them to agree, it's a nine out of 10 or better. You're done.
Stack your UI changes on a new PR on top of the one above. Be thorough, help clarify and simplify the UI, make it designer proof, yada, yada, yada. This was me attempting to clear out the context because I did not think we were at nine out of 10 yet.
As this was running, I had the realization because I was command tabbing to the other apps to compare. I was like, I can clearly see that we're not as good if I switch between the three apps. I wonder if the models can.
so i sent a follow -up just a few minutes in here are some examples from cloud code and codex add them into the comparison and judgment panel somehow i want t3 code to score higher than these apps do consistently in all rankings that was it the previous thread ran for about an hour this one ran for almost 18. let's see how this went because it was actually crazy to watch this is the most i paid attention to a thread as it was running in months normally i ignore the threads when they're running i just check in when they're done i was just so curious about this one Now we're getting scores that are much closer to what I was expecting to see.
T3 main, so T3 without the changes, was scoring in different categories between like a 6 .7 and a 7 .8. It averaged a 7. This is Codex, by the way.
6 .1 Sol's review was that T3's main branch was a 7. The PR that we had just gotten a 9 from, 7 .4. So even though in the previous thread...
Codex thought that we had went from 6 points to 9 points out of 10. This one thinks we went from 7 to 7 .4. Crazy how subtle changes in your prompt and also the context can change things.
Like if you're looking at just one design and your brain is wiped of all the other designs, you'll probably think it's fine. But when you compare it to other things, your scores start to change. As one of the most interesting things, I found that as the new version of T3 Codes score went up, So did the scores for Cloud Code and Codex.
I was actually surprised that as our option got better, the others scored higher too. The scores for Cloud Code and Codex started at like 8 .3 and 8 .5. These were in the nines by the end, but T3 Code advanced throughout too.
So that was what Codex said. You take a look at what Opus said here. another six seven you guys are gonna love this video you gen zers aren't you t3 currents the update was also a four point bump crazy how they agreed on the bump there and also the difference between cloud code and codex they're both 0 .1 lower but the 0 .1 gap between the two is the same and opus seems to think codex is better designed than cloud code which i thought was interesting yeah this whole video is technically about t3 code do you know how nice it is to have your agents able to spawn using your subscriptions and other things like this and communicate back and forth you can just click in and have the same ui and see how Muse handled this task compared to the others.
And Muse formatted the table different. It had T3 main to current and showed the difference. We went from 6 .2 to 6 .9.
Cloud Code got an 8 .1 and it did not like Codex. It gave Codex a 7 .6. It thinks Codex is super unclear.
You know what? To its credit, it's fucking right. Codex's UI is incredibly unclear.
This ended up going for another five rounds. I was burning so many tokens. that I told the agent, hey, stop asking Muse and Opus until Sol's score is high enough.
Then you can start asking Opus. And then when that score is high enough, you can finally ask Muse because I was about to run out of Muse usage. I only have one account for it.
So that's why we got the not runs here. But 6 -1 Sol started at 7 -4. Next round, 8 -1.
Next round, 8 -9. Next round, I got a 9. So we bring back an Opus.
Opus went from a 7 -1 to an 8 -7. Next round, both... Opus and Sol gave it a nine.
Finally running on Muse. Muse is only a 7 .9. Then I hit a usage error.
So I decided to just stop here -ish for now. And at this point, the UI is actually getting a lot better. Much more consistent, like labeling things similarly across the UI so that there aren't all of these things that are different for no good reason across all these different surfaces.
Better attention -grabbing behavior, like it changed the color and text hierarchy of the sidebar so it's not quite as in -your -face. It fixed a lot of the inconsistency around border radiuses, around fonts, around indicators in general. Fixed the contrast for reading the body a lot, especially in light mode.
That improvement, for sure. Like, I'm not the best designer in the world. I can clearly see why this version is better than the version before.
I'm going to be real with you guys now, though. I was addicted. And since I had my Muse sub with usage again, I had to go further.
This is the fun of hill climbs, is once you're climbing the hill, you decide what the top is. And chances are you can keep going. And there's an obvious way to keep going here.
Our score is a 9. That's still not a 10. There's a lot of values between 9 and 10.
So let's see where we can go. Here's where I said to branch off into a new work tree and iterate until you get a 9 .5 or better in all categories. Include Gemini because I wanted my gesture back, okay?
Also, this one was a fork because I had the other thread maintained because I wanted to have that keep updating the original PR because that was already better enough that it was mergeable. But I wanted to go further. I wanted to see just how far this insane way of building could go.
So I made a fork, which, of course, EtherCode supports. told it make a new work tree because we're gonna keep going your new goal 9 .5 or better i noticed that it was getting stuck because gemini is both bad and slow so i told it to not like bring gemini in yet wait on gemini until we have other slower models like opus don't let gemini delay you so again because i was telling it just use soul until soul scores are high enough then add the others in Sol's initial scores were decent, but only a few of these are 9 .5 or higher.
In fact, only two of them are, the iconography and typography. The rest are lower. So it had things to do.
So they got done. Again and again. Until eventually we had 9 .5 in every category.
Literally every category was exactly 9 .5. So then Opus came in. Opus said most of the categories were not 9 .5.
They were close. Only hierarchy was 9 .5. The rest were lower.
And I was keeping Claude Code and Codex in for comparison, just so that we had a reference. Remember earlier when I said the scores went up over time? Here you go.
Claude Code went from an 8 .3 to a 9 .1. And Codex actually went lower than Claude, even though it was higher before, from an 8 .6 or 8 .7, if I recall, to 9 .0. So the gap flipped.
Both numbers went up. Weird, because the screenshots didn't change. LLMs and non -determinism are crazy.
Even just saying that I want a 9 .5 in the prompt here. might be enough to cause it to behave wrong. Yeah, I put T3 at a 9 .3 overall, not 9 .5.
The fact that I set this goal and the subagent knows about it might have influenced the scores. In the future, I might tell the parent agent to not let the subagents know that there is a score they're trying to hit. You guys want to guess how many runs it took.
The previous things we showed were three runs and four, maybe five. The slight bump in the score resulted in it taking... 10 additional runs don't worry though gemini gave us a 9 .7 it gave us the highest score anything gave us so super useful and as of the 10th iteration every delegate rates every category as 9 .5 or higher and now there's an important question of how much this all cost and how much time did the agents spend burning on this There's about 17 .6 hours of parallel agent runtime across everything.
You can see which threads had how many children and how much money they cost here. You can also see the density of the 9 .5 in every category run. This one had a lot more children spawn during it.
And I had another further beta refinement run. This one was even more. I didn't realize that.
$152 for that one. Overall cost for everything done here, roughly... 400 or so dollars across everything.
That's including Muse prices that we don't even know because this is just from my sub. Muse Wonderful doesn't have an official price. I just told it to use the price from Fable.
So that might be cheaper. And Opus 5 .5 obviously did not cost real money because that's just part of my subscriptions. And right now, like remember, this was yesterday I did all this.
In that time, I also redesigned my tool for tracking and managing all my subs. I only have six activated right now for other reasons I'll talk about in the future. I've only burned 30 % of one of my subs right now.
I got a lot more to do here. Also, I have to tell my agent that this UI needs to work on this Nero screen. But I'm good on usage.
I actually have less codecs available to me than I have cloud available to me right now. So while this seems like a lot of money, because your sub's only $200, your sub can do $12 ,000 of usage in a month. $273 is not a whole lot of money out of that $12 ,000.
you can very easily go run this loop on your own code base just with opus and soul if you have a cloud code sub and a codec sub and possibly get some better ui than you had before oh also everything you've seen so far included this further beta refinement that you haven't even seen yet all the ui you've seen so far is from everything else combined which means you should shave 150 bucks off that 400 that i just shared this is 250 bucks for everything i've showed because the spoiler I'm addicted.
I'm not done yet. I spun up another where I wanted 10 out of 10 in every category. And this one's been running since I started my day, and I honestly kind of forgot about it.
It's definitely still going, and it looks like it's getting 10 out of 10 from things now. Apparently, Sol gave it a 10 out of 10 in every single category. How'd Opus do?
Mostly 10s, but color and contrast got a 9 .5. Oh, it's going deep. It's like caring about the diff views and shit.
Oh, wow. Yeah, this looks a lot better. Oh, boy.
I did add a little more context in the prompt this time that I want color back because I hated how grayscale things had gotten. Yeah, I said, I feel like the new design is too grayscale. Make sure the new improvements help restore some color.
Let's take a look. Oh, yep. Yeah, I immediately prefer this.
Merge is much more clearly a button. The color of this is way better. The icon is more visible.
The contrast is better enough that this just feels so much more readable. I don't know how to describe this, but on the left it feels too bright and too washed out somehow. On the right it feels correct.
Again here, the left feels too bright in comparison to the right here. This is all so much better.
Ooh, it went blackout for the main view. Huh. Huh.
Appears to have changed some focus states a bit. Looking good. Looking quite good.
I had my reservations about the previous stuff. This... This objectively just feels better than it was before.
Like, I was already impressed with how effective this strat was. holy fuck this worked this wasn't like surprisingly close to working i think this just worked and this is the real reason i'm filming this isn't just like show you guys this technique or get a video out or share a thing i'm excited about it's it's that i need to confirm this with y 'all like every time i think there's like here's the line where models can't do it there was the line the models just blew past it There was nothing special here.
Like my skill was very, very basic. You could just copy paste the text in and say, rank it with these models until the score is this high. I'm not hiding something special here.
I'm just giving the LLM my mental model for how I would do this. I would look at the new screenshot. I would compare it to the other products and the old screenshot and then score it and then do it again and again and again until the thing's good.
And if you can get yourself into this mindset, Muse just gave it 10 out of 10. Previously, the other models, gave it 9 out of 10 in every category, and Muse was hovering in the 7 .5 range.
And now, by changing things, it has managed to make all of the models happy. I am blown away. Wow, it really improved the readable syntax in light mode.
That is hilariously better. God, what? I'm sorry, I'm actually a little in shock here.
Before, it was like, yeah, my app was ugly, and it found ways to make it less ugly. This is just good. Fuck.
I've been finding ways to shape a lot of the problems I'm solving into hills that can be climbed similarly. Obviously, the previous verification system of have the other models look at the thing is silly but working. Programmatic ones are better.
And if you can take a problem you have and turn it into a program that gives a score, your agents are going to make that score go up. So one of those is the MCP for T3 code. This is how agents in T3 code can do T3 code stuff, like spin up another subagent, read from a thread, set a message to a thread, start a new thread, open up a thread in a new project.
All those types of things are done through the T3 code MCP. And I had a lot of instances where models would not do what I wanted them to do in a thread. Like they would open up a new thread when I wanted them to do a subagent, or they would leave their thread visible when I wanted them to settle, those types of things.
So I took all the times in my own history, that models did the wrong thing i categorized them and then i turned it into an eval and then i ran it against sonnet 5 .5 and of all of the things that i had collected it got 60 or so out of the 88 correct which means the other 28 were wrong so i now have a set of things but the description does not serve properly and i gave two specific tasks to the agent So I initially started this thread on another machine where I was going in depth on some problems I had on that computer relating to how T3 code MCP calls happened.
But I realized that that machine only had access to its database. So I moved the thread to this laptop because it had access to every database. And I told that I'm trying to workshop T3 codes, MCP and tool descriptions.
Here's a prompt it wrote. Didn't give it if context is from another machine. You should probably read from the T3 code DBs directly instead of click house your call.
Treat this. Prompt as vague guidance on what it's looking for, not specific instructions. And this was me, after the failures I had on this other box, writing up a prompt on what went wrong.
It then went around for a while, drafted some steps, asked it to take another look because I had just merged changes to some of the MCP stuff, specifically what models were being exposed over it. It had some questions. I answered them.
After a bunch of work, I ended up with a PR that had a full evaluation with all those failure cases and more. that was over 2 000 lines of code i still haven't merged because i'm mostly just using this for my hill climbs that evaluates how well models behave with all the tools available to them in t3 code and one of the most fun things about this eval it made is that sometimes the numbers went down it got 66 out of 85 correct initially and then this next run after it made changes was only 63 out of 85 the score went down and when i told that that well i told it to get the score up the order events i gave it was Get a perfect score so all the failures stop.
Commit that. Stabilize there. Make sure all the models we care about get a perfect score there.
Now your job is the opposite. You need to delete as much as you possibly can from the descriptions because those are bloating the context. I want it to be a third the size it was before and still get a perfect score.
And this thread ran for fucking ever. But it did it. To be very clear, this absolutely worked.
You could see the difference in how much context was being used before and after. We cut it massively, especially if you have tool search off in T3 code and cloud code specifically. Huge reduction in the total tokens.
52 % less from T3 code, 78 % less from T3 code with tool search on because now we have flattened the model list to fucking nothing and the others all just get squashed under the search. The work. work this is going to save people meaningful amounts of money and token usage in t3 code this is now live in the nightly it'll be in stable very very soon i had to spend a shitload of tokens to do this but now less tokens are used and i have proven that the result will be better not worse because i have an evaluation for it and if i commit and push that eval then we have a way to test changes reliably this all is chaos because as we know lms are non -deterministic But they also allow for a level of flexibility and tedium in your work that make things evaluatable that weren't before.
It was just so much work to set something like this up. I could have made this by hand a year ago. I never would have, though, because it would have taken months to just go through the data.
Now this type of thing is kind of trivial. And that is unbelievably cool. This would have just achieved the goal right now.
I've had this running for most of the workday. And I'm... I'm at the point where I might just YOLO merge this.
It's so much better. Do I do it, guys? Do I just hit the button?
If the team is mad, I'm blaming you guys. I got LLMs to make better UI than anyone on our team was capable of. We're living in weird times.
If you take anything from this video, it's that being a clever, weird engineer is so fun right now. If you can come up with these weird ways to let models measure themselves and the work they're doing and just climb the hill blindly. They will do it and they will make things that are good.
You need to reward them for succeeding at their tasks. But if you can find a way to do that, oh man, the world's your oyster. I've been having so much fun doing stuff like this and I hope that this video will help you see ways to do it yourself.
Until next time though, peace.
The Hook

The bait, then the rug-pull.

A one-line tweet from a critic said the app looked mid and needed a UI person. Instead of hiring one, the developer pointed three frontier models at screenshots, made them grade the design out of 10, and let an agent keep fixing things until every grader was happy. Eighteen hours later the scores said it beat Claude Code and Codex.

Frameworks

Named ideas worth stealing.

06:56model

The Council Review Loop

  1. Send the same request to one strong model from each of three providers
  2. Keep every delegate read-only
  3. Ask each for a score out of 10 plus findings
  4. Summarize useful findings, disagreements and next steps
  5. Apply fixes; a fresh review after fixes counts as a new round
  6. Stop when every delegate's score clears the bar

A multi-model review skill that turns vibe-based feedback into a number per round, so an agent can keep iterating until all reviewers agree.

Steal forany subjective deliverable an agent produces: UI, copy, landing pages, docs
14:31concept

Reference-anchored scoring

Include screenshots of the best competing apps in every review and require your app to outscore them in every category. Scoring in isolation inflated a 7.4 to a 9.

Steal forany design or copy review where a judge model rates work without context
17:08list

Gated reviewer rollout

  1. Run only the cheapest or least rate-limited reviewer first
  2. Add the next reviewer once that score clears the bar
  3. Add the scarcest or slowest reviewer last

Saves usage on limited subscriptions and keeps slow models from stalling the loop.

Steal forany multi-model eval loop with uneven costs or rate limits
29:15list

Perfect, then compress

  1. Turn real failure history into an eval
  2. Iterate until every model you care about gets a perfect score; commit and stabilize
  3. Flip the goal: delete as much as possible while keeping the perfect score

A two-phase hill climb that first buys correctness, then trades the slack for smaller context and lower token cost.

Steal forMCP tool descriptions, system prompts, skill files
CTA Breakdown

How they asked for the click.

VERBAL ASK
30:59subscribe
“If you take anything from this video, it's that being a clever, weird engineer is so fun right now.”

Soft close with no explicit ask; the earlier beta-tab mention at 115s doubles as the product CTA.

MENTIONED ON CAMERA
00:00productT3 Code ↗
02:49productMagic Patterns ↗
Storyboard

Visual structure at a glance.

critic's tweet
hookcritic's tweet00:00
sponsor
sponsorsponsor02:46
the /goal prompt
promisethe /goal prompt06:32
council skill
valuecouncil skill08:07
annotated diffs
valueannotated diffs10:30
add competitors
valueadd competitors12:24
score table
proofscore table17:15
9.5 audit
proof9.5 audit20:01
cost breakdown
proofcost breakdown21:37
10 out of 10 before/after
payoff10 out of 10 before/after23:48
MCP eval PR
valueMCP eval PR28:44
52% / 78% reduction
proof52% / 78% reduction29:56
Frame Gallery

Visual moments.

One-click upgrade to your Google

Get more breakdowns in your search results

Add Modern Creator as a preferred source and Google shows you more of our breakdowns in Search, Top Stories, and AI Overviews. It only changes what you see, and you can undo it in your Google settings anytime.

Add to Preferred SourcesOpens your Google source preferences with us pre-loaded. Tick the box and you're done.
Watch next

More from this channel + related breakdowns.

1:06:36
Theo - t3․gg · Essay

If you have a Claude sub, watch this

A detailed, ethically loose walkthrough of squeezing thousands of dollars in token inference out of a $200 Claude or Codex subscription, then running a dozen AI coding agents at once without losing track of them.

October 2nd
41:32
Theo - t3․gg · Tutorial

So I was using Fable wrong...

Theo spends forty minutes inside Anthropic's own Fable 5.1 prompting guide, rebuilding his habits around effort levels, finishing the whole task, and trusting the model's defaults instead of babysitting them.

September 22nd
33:48
Theo - t3․gg · Essay

He's right.

Boris Cherny said coding is solved. Matt Pocock called it VC-funded bullshit. Theo argues they're both right, because they're using the word coding to mean two different things.

August 24th