# Richard Oliver Bray — Full Site Content > All blog posts from robray.dev in markdown format. --- # High Effort Won't Save You, Conversation Will > I threw Opus high effort at a bug and it went in circles. Low effort with one good prompt fixed it. Date: 2026-05-19 ![Vinyl record spinning on a turntable](/images/blog/vinyl_collab.jpg) ## The Bug That Broke Every Model A while ago I was working on a Mac app called **Vinyl Mode** which plays songs with vinyl sound effects, crackle, pin scratches, and so on. It works by hijacking what's playing on the **MacOS media player** to add the effects on top of it. Anyways, while working on it, I had a bug where it wasn't picking up the music I was playing from Spotify even though it existed in the player. At the time I was using **Claude Sonnet 4.6** with medium effort in Claude Code and I thought changing the effort level would help find the fix faster. So a few minutes later, I changed to high effort and the model was still going around in circles. 'Okay time to bring out the big guns', I thought. Opus 4.6 medium effort, still struggled. Opus high effort, no luck. I was genuinely shocked. This was all in the same context window by the way which should have helped. At this point my prompts were along the lines of; _'there is still a bug please fix it'_, or, _'your fix didn't work, try again'_. Which, of course wasn't working with, arguably, the best model in the world, in the highest effort, using the best harness. So I needed to try something else. ## Changing the Conversation, Not the Effort I went down to Opus low effort, I will explain why later on, and said something along the lines of, 'you've been going around in circles trying to fix this issue, what have you tried that hasn't worked? What new approaches should you try?'. Again this isn't exactly what I said, but it's close enough. Anyway, after that, Opus went to work, took a completely different route and amazingly, it came up with a solution. This was all still in the same context window. ## Why Thinking Harder Doesn't Help Why did this approach work and why did the other one not work? How can you adopt this approach to save more tokens when debugging? Let me explain to the best of my ability. So, when a model runs in high effort this is essentially it **reasoning with itself**, going through its own hypotheses over and over again. Like a single developer stuck on an issue and trying the same approach without rubber ducking or going out for a walk to clear their mind. A higher effort will just make it think harder, it's best to break its chain of thought. This can be done by reasoning through the model's reasoning, or even looking through the code it's trying to fix and attempting to steer it in the right direction, or even a different direction. This could be as simple as the prompt I gave it earlier to stop going in circles, or asking it to try and explain the issue to you and try to debug. This is known as **conversational debugging**, and helps to break the model's first hypothesis and gets it to try a different approach. This is something the model can't do on its own, well, unless it's talking to another version of itself with a different system prompt or a completely different model, but that's a topic for a different article. ## Three Rules I Follow Now Unfortunately I've lost interest in Vinyl Mode at the moment so I'm not sure when or if I will ever finish it. But the lessons I've learnt from using AI have been applied to many other projects and I will boil them down to three points. 1. I **only ever use Opus low effort with [superpowers](https://github.com/obra/superpowers)**. I've tried many [Claude Code](https://claude.ai/code) project management techniques from [GStack](https://github.com/garrytan/gstack) to Beads to OpenSpec. Personally I've found superpowers to work the best. I find it does high effort reasoning on low effort specifically when it comes to planning. At the time of writing I prefer it to using Claude Code's built in planning mode. It has skills for brainstorming that always ask questions I haven't thought of and gives great approaches to tackle a problem. I use it to plan every medium to large feature, read through the plan, then get it to run the implementation. It's great, I highly recommend it. 2. **Stop the model if it's taking too long**. This is a tip I got from [Peter Steinberger](https://github.com/steipete) the creator of [OpenClaw](https://github.com/openclaw/openclaw). He claims if you've been using a specific model and harness for long enough you'll know how long it takes to complete a task, and if you feel it's taking longer than it needs to you can ask it why. The /btw command in Claude Code is really helpful for this. But usually if it's taking longer for me it's most likely struggling to do something, or a network connection issue. If it's the former, I just tell it to stop and try a different angle. Basically the main point of this article. 3. **Keep context percentage as low as possible**. I've found models work better under 65-70 percent context usage but also they are much cheaper. I use the [Claude Pro](https://claude.ai/pricing) subscription and I noticed the usage limits ramp up for long conversations, also, it's just a lot of information for a model to go through in a session. Yes I know Sonnet and Opus have a 1 million token context window option which I never use on purpose. But models have been best trained on lower context, and it's difficult to explain but they tend to respond faster with better responses in fresh sessions. Now I know I mentioned I was in the same context window earlier in the post when debugging which I believe contributed to it taking longer to fix the bug. The second I noticed it was taking a long time I should have stopped the model and questioned its method instead of changing effort level. Every new bug fix and new feature starts on a new session, and compaction is always a no no. If you're interested I might write a deeper blog post on this specific point. But I'm rambling now so let's wrap this up. ## Wrapping Up I would say I'm very much hooked on AI assisted coding, it's helped me to build products that I would never have had the time to build with a demanding job and young kids. If I get the time I will share my findings here to help others get better at coding with AI. Until then happy coding 👋 --- # MCP Servers Are Great, But Not For Coding > I disliked MCPs before it was cool to. And it's not because it sounds like NPC Date: 2026-03-30 ![Server rack with fiber optic cables plugged in](/images/blog/server_cables.jpg) It's recently become _'cool'_ to say MCP servers suck, or CLIs with skills are better than MCP servers. A lot of tools from [Playwright](https://playwright.dev/) to Google Workspaces and even the Chrome DevTools are all adding CLIs to their existing MCP tools and for good reason. Tools from MCP servers use a lot of context since all their metadata is loaded into the agent harness before you write your first prompt. Also, you can't replicate results from tool calls by running them outside the agent, which is useful for debugging. ## MCP Server? Just in case you're unaware or need a refresher on what MCP servers are, this section is for you. [MCP](https://modelcontextprotocol.io/) (model context protocol) is a standard that allows ai models to securely and easily connect to local or external data sources. MCP servers take things a step further. They're a piece of software that implements the protocol using either; - **tools**, executable functions or actions, - **prompts**, specialised workflows - and/or **resources**, structured data or files. In my experience this servers mostly expose tools, so a weather MCP server will allow an agent to call the "getWeather" tool which fetches the weather at that moment for a specific location. ## The Context Cost of MCP Tools Now I'm not knocking MCPs in general. I think they are a great standard that was introduced to 'connect ai assistants to the systems where data lives'. However, when it comes to ai coding assistants that have been installed on a user's machine, these have access tools like Bash and WebSearch that in most cases are more performant, and use less tokens than running tools from an MCP server. For example, going back to the weather example (which I know is overused in general for explaining MCPs). If you wanted to install that server you'll first have to connect it to your agent harness ([Claude Code](https://claude.ai/code), [Codex CLI](https://github.com/openai/codex), OpenCode etc..), which then runs the server whenever the harness starts. The server typically has multiple tools not just one. So it could have one tool to get the latest weather details in Celsius and Fahrenheit, one for humidity, one for a seven day weather forecast and all of these tools take up tokens. In some cases, a single server could use up to 8K tokens just by being installed, which is almost 10% of the full context window of a typical state of the art model like Opus 4.6, I will talk more about context windows later. Also bear in mind that this server is usually written in Python/Typescript and run on Node.js, docker or other equivalents which take up computer resources. ## CLIs Do the Same Job For Less Now with a CLI, or by using the models built in tools (Bash, WebSearch), you could ask the model to use the bash tool to curl a url to get the weather of your location (which you provide). No unnecessary tools or context used. If you do download a cli, I'm not sure if one exists for getting up-to-date weather information but say one does. They are usually lightweight, and run processes on demand so use less computer resources. Now, I completely understand that you have to be relatively technical to pull this off and the average person wouldn't even feel comfortable using the terminal, let alone be aware of the default tools an agent harness provides. ## Where MCP Servers Shine This is why I think MCP servers are great. For those using things like Claude CoWork, or building a consumer facing agent with [Mastra](https://mastra.ai/) or similar frameworks, they are the ideal standard. A plug-and-play approach to connect an agent to an external service. However, if you care about using as little context as possible, and having a lean setup on your machine, are using Claude Code or an equivalent via the terminal, I would strongly urge you to switch to CLIs instead of MCP servers. ## Context Rot and the Model Dumb Zone My original aversion to MCP servers were predominantly due to the fact I would have to download and run servers via npm/npx to do things I could do with a script, but it later grew because of context rot or what people call the model dumb zone. This occurs when a model goes beyond a certain context percentage, usually 80% for anthropic models, they start to produce 'dumb' results. Hallucinate more, become more sycophantic, make more coding errors, even for models with a 1M token context window. What's more, Claude Code auto compacts a session if more than 80% of the context window is used up, which is annoying if you have a 'golden session', where the information is perfect, the agent is giving amazing answers, and you have to give it all up because you ran out of context. I'm not the biggest fan of compaction but that's a topic for another article. So if I can do things to use as little context as possible, I try to do that, and since MCP tools tend to take up the most amount of context, I use as little of them as possible. Now, I am fully aware of Anthropic's tool search tool which works using progressive disclosure (I believe) to find the right tool for the job without clogging up context, which I do use. But to my knowledge, it's not a common way of discovering MCP tools in other agent harnesses apart from Claude Code or [Cursor](https://www.cursor.com/). This is why I still advocate for using zero or as little MCP servers as possible for coding assistants, disabling them in sessions where you know you don't need them, or even restricting them to certain projects. ## Skills: The Best of Both Worlds But there is one huge problem with my example above for CLIs is that you, the human, have to tell the agent to use a specific tool or CLI command to use, whereas with tools from an MCP server, the agent has these loaded into context ahead of time so it can figure out what tool to use simply based on a prompt, this is where Skills come in. These are markdown files that give your agents instructions on when and how to use certain CLI commands. The model knows when to use the right command based on your prompt, although you can explicitly tell a model to use a tool if you want to be certain it will work. Just like calling an MCP tool sometimes using the right skill can be hit and miss. Nevertheless I hope you found this useful. If you have any questions or want any points of clarification please feel free to reach out to me on [X](https://x.com/RichardOBray). This is a somewhat brief post and I didn't go into as much detail as I could have. Until next time, happy coding 👋 --- # The AWS outage revealed my dumbest weekness > I've relied on the vidIQ YouTube title score tool for so long I can't leave without it Date: 2026-01-01 ![Female US soldier saluting](/images/blog/chain.png) I know the [AWS outage](https://www.theguardian.com/technology/2025/oct/24/amazon-reveals-cause-of-aws-outage) was a while ago and there have been two, yet two, Cloudflare outages since. But I wrote this post when it was fresh and only decided to post it this month. Anyway, when that **outage happened**, many were frustrated by apps like Canva, Supabase and Neon not working, but for me, it was vidIQ's title score tool. For those unaware of the feature, you give the tool a YouTube video title, and it rates it from 0-100. Anything over 80 goes green, below goes amber, and there's even a red which my titles don't get. I'm not exactly sure how it calculates the score since the source code is private, but my assumption is it checks title length, keywords used, and curiosity or mystery in the title using some kind of llm sentiment analysis. Nevertheless, I am hooked on this feature. I use AI (GLM 4.7 + OpenCode) to generate titles and suggest the best one. If it's a title I like, I put it into vidIQ and wait for a score, which isn't instant, and only use the title if it gets a green score. Even if I think it's amazing if it doesn't get a green, I hit the generate button in vidIQ can suggest a better title. It's silly, I know since green titles don't guarantee a higher CTR or increase the view count, but at this point, I can't imagine publishing a video without putting the title through this tool. But when AWS went down, so did this tool. To this day I don't know what vidIQ uses AWS for. Maybe they were using an llm from bedrock, or using a lambda function to calculate scores. Either way after scripting, recording and editing the video, I was unable to publish it because, I didn't know if my title was green or amber. I frantically searched for another tool, but none were able to give satisfying scores or generate good alternatives. Some generated scores so quickly I wasn't convinced the calculation process was good or using any AI. Okay that's a lie, to be fair there was one took that I ended up using called x which did a decent job, but it wasn't half as good as vidIQ. Anyway eventually the tool did come back online, and when it did it was very different. It was much slower, the generated alternatives were no longer automatic, and gave 1 instead of 3 options. But worst of all, it stopped giving you a score for your entered title, only the suggested titles. I forgot to mention earlier that I've been using the free version of vidIQ the whole time and I would have to pay to get the feature I had before. No way I'm paying any amount of money just to get a score. So I've come up with a plan. The same way I vibe coded a prototype for Cuca, which I use for every video I record. I think I'll vibe code a prototype for a YouTube title scoring and generating suggestions tool. Because vidIQ's code isn't open source, the scores I generate will be different from what they get, and I don't think it will be as good, but it will be a start. If you know of any open source, free alternatives to vidIQ, or any others tools that generate scores for YouTube titles please let me know via [Twitter/X](https://x.com/RichOBray). I'll be open and say progress will be painfully slow. With a full time job and young kids I have very little free time. I may write a post about this specific struggle in the future. But for now you'll have to deal with my ramblings of tools I would like to make. Happy coding 👋 --- # I've finished with my book, in a bad way > I've spent months writing a book, which I've had to abandon. Here's why Date: 2025-11-7 ![Books lined up on a shelf](/images/blog/books.jpg) In my mid twenties **I wrote my first, and only, [fictional sci-fi novel](https://www.amazon.co.uk/Crimson-Secrets-Valour-Richard-Oliver-ebook/dp/B08RCT4Q5X)**. It was about a Kenyan boy discovering a hidden superhuman-alien hybrid race on Earth who were fed up with protecting it in secret and were ready to rule in public. I worked on **it every day** on my phone on my commute to work. The whole thing took **roughly 4 years** to finish and I loved the process, from world building to character creation, and story development. I pitched it to **multiple UK-based publishers** but none were interested. So I took the only sensible route and self-published on Amazon. After a few months, it sold a **measly five copies**. Most of which were to friends and family. As much as I enjoyed the process, I would have loved for more people to read it and enjoy my story, but they didn't. From then on I vowed to **never write a fiction book again**, even though I have lots of ideas for them. Why did it fail? Short answer: I don't know. Long answer: no one was interested, and no one knew who I was. I came up with an idea, thought that people cared about it as much as I do, and they didn't. Not everyone is the same as me, which makes sense. To be fair, the five people who did read it told me the book was really good, but good doesn't pay the bills. So I've come up with a **new way of doing books**. A new way for me, an old way for many experienced writers. ## The new, better way Think of an idea, find out if people are actually interested in it before doing any work. This could be through tweeting ideas, polls or surveys, reading popular articles and Reddit posts to see if people like similar ideas, and things along those lines. If it's not popular or interesting to others, move on to the next idea. If it is, work on that idea. This leads nicely to my first non-fiction book, [60 seconds to millions](/book). There are a lot of tech companies who are new to creating regular video content to grow their product. Many of these companies would never even think about using short-form videos, so why not create a book that shares how to do it well, and what I've learnt about the process. I didn't want to spend another 4 years writing something that no one wanted. So I made a website, created a marketing page and added a sign-up form. I even wrote a few chapters and gave them away **for free** if people signed up. I placed the site URL in my Twitter bio, and made an effort to tweet every day with the occasional tweet mentioning the site. ## The results Five months later, **zero signups**. An argument could be made that I should have focused on LinkedIn instead of Twitter because that's where businesses are. Or Threads because that's where creators are. I honestly don't think that would have made much of a difference. My conclusion: that tech businesses don't want to learn about making short-form content from a book. Social media algorithms **change so quickly** that by the time I'd finished writing it, the methods in it won't work as well. But also, people are most likely to consume educational content **from a video** than a book. People are busy, or like to think they are. If I asked someone to choose between reading a book, reading a short article, watching a video or watching a short video, I'm pretty sure they'll choose to watch the short video first, then move on to the video, then if they really enjoy it, make time to read the book. I listened to a podcast where an ex Google developer was struggling to find a job. He believed people didn't have time to read resumes, so he made a short video to showcase his skills, a sizzle reel, and that got way more attention than anything he tried before. People have changed, and I firmly believe we're in the age of short, quick information that gets **straight to the point**, especially if it's from someone you trust. This has always been the way but social media and influencers have put it on a wider scale. Every book or film I've read from an unknown author or director has been because of a recommendation: a friend, a family member, an online review. So where does this all lead? ## Next steps In short: I'm going to stop writing my book on short-form videos. I might open source all six draft chapters for anyone interested, but I'm going to slightly tweak my tactics. [Wes Bos](https://x.com/wesbos), a popular course creator said, **if you're a nobody**, and you put out an online course, **it's not going to do well**. Make sure you're known in the industry as the go-to person for a thing before you create a course on it. I am not the **go-to person** on making short-form technical content. In fact I don't know who is. But the next step for me is to figure out how to become the person for x. It could be creating AI agents in Neovim, it could be the person who makes games with [Haxe](https://haxe.org/). Once I do, then I'll find the pain points with said thing and then create content around it. How would I know when I'm the person people come to for something? Or how will I know when it's the right time to create content around it? I don't know. As you can tell from this article, I'm very much figuring this out. But if you'd like to follow this journey, let's connect on [X](https://x.com/RichOBray) or [Bluesky](https://bsky.app/profile/robray.dev). If you want, I'd also appreciate a DM to get your thoughts on if I'm doing the right thing. Until next time. **Happy coding**. --- # I'm building the tool I've always wanted > Cuca or Cuca Sync is a tool I'm building to help sync my video and audio Date: 2025-10-11 ![Close up of microphone](/images/blog/mic_post.png) If you've ever tried recording a video using a **DSLR or mirrorless camera** and a mic connected to a computer separately. You've most likely experienced **out-of-sync audio**. This is because the video processing from the camera takes longer than recording audio. **There are several ways to address this.** ## 1. Manual editing This is the way I've been fixing this for years, and it involves manually moving the audio back to match the video in my video editor. Clapping tends to make things easier. Annoyingly, there have been times I've forgotten to manually sync before publishing a video to YouTube. The comments weren't too bad, but it's definitely not something I want to do again. ## 2. Attaching a mic to the camera This works because both the audio and video will be processed at the same time, so they will be in sync by default. To my knowledge, the Blue Yeti (my mic), connects only via USB, so you can't plug it directly to a camera, which usually uses a 3.5mm jack. Also, unfortunately for me, my camera (Panasonic Lumix GX9) doesn't have audio support, so even if I had the right mic, I wouldn't be able to use it. ## 3. OBS + virtual mic This method involves using [OBS](https://obsproject.com/) (or another tool) to set and delay an audio input so it matches up to a video. You can either just stick with OBS or set up a virtual mic, which routes audio between apps. So the audio input will be routed to OBS, which delays it, then routes it to the virtual mic, which sends it to any other programme for recording, like [Camtasia](https://www.techsmith.com/camtasia/), [ScreenFlow](https://www.telestream.net/screenflow/overview.htm) or QuickTime. Unless you use OBS to record, in that case, you wouldn't need a virtual mic. I've tried this process before, but it seemed to get out of sync when recording for a long time, which actually makes the audio harder to fix manually than if I hadn't used this method in the first place. But what if there was a way to just delay audio, without launching the whole OBS UI, which might be the cause of the slowdown? This gave me an idea. ## My Idea Introducing Cuca. A small macOS utility for syncing your audio to video. Admittedly, not the best name, but if you follow me on [Twitter/X](https://x.com/RichOBray), you may have seen this picture of cucamelons. Tiny watermelons that taste like sour cucumbers. ![Close up of microphone](/images/blog/cuca.jpeg) My wife grows these in her greenhouse every Spring/Summer, and they taste great picked. I like the name Cuca, so I thought it could work here, but it might change to Cuca Sync for SEO reasons. Right now, Cuca is a [vibe-coded Python](https://github.com/Orva-Studio/content-tools/blob/main/scripts/virtual_mic_delay.py) script that I've been using without any issues for most of my recordings. It requires a virtual mic such as [VB-cable](https://vb-audio.com/Cable/) or [Black Hole](https://existential.audio/blackhole/), which are both Mac-specific. The plan is to rewrite it in Swift to be a native macOS app so it doesn't take up a terminal tab and might possibly be more performant, we'll see. **Watch this space to stay updated on my progress.** --- # I pledge allegiance to Anthropic no more > It's time everyone stopped exclusively using Anthropic models Date: 2025-09-26 ![Female US soldier saluting](/images/blog/allegance.png) There's no doubt about it; when it comes to AI coding, **Anthropic models have always been ahead**. Ever since I used Claude Sonnet 3.5 in Cursor, I have been amazed by the results. This isn't just an experience that was unique to me; many people on the internet and even work colleagues have had the same.  This fact has been so true that whenever a new coding-focused model is released by a company that isn't Anthropic, everyone asks the question: **Is it as good as Claude?** Typically, the answer is no. Both Sonnet 3.7 and Sonnet 4 have maintained Anthropic's stronghold; however, the recent release of models like [Kimi K2](https://moonshotai.github.io/Kimi-K2/), [GLM 4.5](https://z.ai/blog/glm-4.5), [GPT-5](https://openai.com/index/introducing-gpt-5/), and the reduced price of these models has started to **waver my allegiance to Anthropic models**. Before continuing, I want to get one thing off my chest. I predominantly use Sonnet and rarely use Opus. **Sonnet has always been enough for me**. That being said, I'm aware that not using any Opus models in a blind spot on my ability to judge all Claude models fully, but hopefully the points I raise in this post will still be valid despite that. ## Claude is no longer far ahead Despite what you think about benchmark scores for AI models, they're the best way at a glance to judge a model's performance. Without, of course, trying the model yourself. I don't want to go into detail on all the coding benchmarks, but I personally think **SWE-bench** and **LiveCodeBench** are very good at telling if a model is good at real-world coding tasks. So if we take a look at scores for [SWE-bench](https://www.swebench.com/), remember that higher is better. | Model | Score | |-----------|--------| | Opus | 67.60 | | GPT-5 | 65 | | Sonnet | 64.93 | | GPT-5 mini| 59.80 | | o3 | 58.40 | | Qwen3 | 55.40 | **Note:** These scores are from SWE-bench verified using the [mini-SWE-agent](https://github.com/SWE-agent/mini-swe-agent). Also, (yes, this is still part of the note), GLM 4.5 claims to have a score of 64.2 using the [OpenHands agent](https://github.com/All-Hands-AI/OpenHands), which is better than the mini-SWE agent in my opinion. Kimi-K2 0711 gets a score of 43.80, but the newer one claims to have a score of 69.2. [![Bar chart of new Kimi-K2 benchmarks compared to the old one](https://preview.redd.it/kimi-k2-instruct-0905-released-v0-u97uhts0q9nf1.png?width=1200&auto=webp&s=72e0991ca8dcff3360c293d933755bf72d14e762)](https://www.reddit.com/media?url=https://preview.redd.it/kimi-k2-instruct-0905-released-v0-u97uhts0q9nf1.png?width%3D1200%26auto%3Dwebp%26s%3D72e0991ca8dcff3360c293d933755bf72d14e762) I believe that number is inflated since it's not from the SWE-Bench leaderboard site, but I'll let you make your own judgement. Anyway...Back to the SWE-Bench scores from the table above. Although Opus tops the charts, GPT-5 is not far behind, and it's also much cheaper. But we'll get to that later, for now, let's take a look at the LiveCodeBench scores. [![LiveCodeBench scores top 17 models](/images/blog/live_code_bench.png)](https://www.vals.ai/benchmarks/lcb-08-27-2025) Claude Opus sits at 14, lower than GPT-5 (8), Kimi K2 (12) and GPT-5 Mini (1). I understand benchmarks don't tell the full story of a model's performance, and I'm sure there ways Claude outperform other models, but in my experience using Kimi, GLM and GPT-5, Claude is not that far ahead in terms of programming. You may disagree, and you're completely entitled to, but you won't be able to disagree on the next point. ## Claude is expensive  In the grand scheme of things, Claude is not _expensive_. I mean, the fact that you can vibe code a portfolio website cheaper than buying a cup of coffee is amazing. However, when compared to other state-of-the-art models, Claude's pricing is very expensive. Here is a table I've put together from [OpenRouter](https://openrouter.ai/) data so it's per million input and output tokens. | Model | Input ($) | Output ($) | |--------------------|-----------|------------| | Claude Opus 4.1 | 15.00 | 75.00 | | Claude Sonnet 4 | 3.00 | 15.00 | | GPT-5 | 1.25 | 10.00 | | GLM 4.5 | 0.33 | 1.32 | | Kimi K2 0905 | 0.29 | 1.19 | Yes, Claude Opus is **significantly more expensive** than the others, but so is Sonnet. It's more than **twice the price** of GPT-5 for input tokens. What's amazing is that the open-source Chinese models are super reasonable, considering GLM 4.5 in particular is a fantastic model. I've spent a lot of time with Kimi-K2 0711, which is also brilliant, but not much with 0905.  So we've established that Claude models aren't way ahead of the competition, but are much more expensive. However, I know many of you use the Claude Pro plan, which, last I checked is **$20 a month** or **$17/m** if billed annually. This allows a maximum of 40 prompts every 5 hours, which is good. But if you compare that to the [GLM coding plan](https://z.ai/subscribe), at **$3 a month** for 120 prompts every 5 hours, Claude seems very expensive. **Note**: The GLM coding plan is $3 a month for the first month then $6 a month thereafter. The yearly plan is the best value at $36 for the first year. Many believe the subscription model for LLMs can't be sustainable since someone can use 100 dollars of prompts on their 20-dollar a month plan, which may be one of the reasons Anthropic introduced [weekly rate limits](https://techcrunch.com/2025/07/28/anthropic-unveils-new-rate-limits-to-curb-claude-code-power-users/). But I'm fairly confident OpenAI can maintain that price because of their huge user base that can offset some of the cost, right? ## Conclusion Don't get me wrong, I think Claude Code is great. I love all the explainer videos Anthropic have on YouTube, and I think the team are very vocal on Twitter/X. I just think Claude is no longer the 'top dog' when it comes to coding. There are other models that are as good as, or even better than it for specific things, i.e. GPT-5 for design. So what should Anthropic do? I don't know. With their [recent funding](https://www.anthropic.com/news/anthropic-raises-series-f-at-usd183b-post-money-valuation), they could make their models cheaper or focus on a more efficient model design to make it cheaper. Or they could keep the price as is, but offer more 'premium' quality models with features that a developer would want. Basically, Sonnet 4.5 can't be a slightly better version of 4; it needs to be something groundbreaking, and I'm not sure what that is. Nevertheless, if you are a die-hard Anthropic fan, I think it's time to try out different models. You'll be surprised at how good they are, and you'll also save a lot of money in the process. Happy coding 👋 --- # What is Make Better Content? > Why I created Make Better Content - sharing my journey and systems for creating developer content that works. Date: 2025-08-23 I've been making videos for a really long time because I like to teach. I like to learn new things and teach them, particularly when it comes to code. It's been something I've done on the side, but almost 2 years ago I quit my job and decided to do it full time. I may write a blog post going into detail on that, but for now you can hear me explain it in my episode of the [Voxgig podcast](https://www.voxgig.com/podcast/richard-bray-developer-advocate-betterstack). It's amazing how good you can become at something if it's your full time job. My gear, presentation skills, and content creation systems have all greatly improved. Not just for video but also long and short form writing. And since I like sharing what I've learned, I wanted to share that too. This is why **Make Better Content** exists. To share what I'm learning about all forms of content creation, specifically for developer-focused content, but I think anyone can benefit. There will also be a huge section on AI, how to use it to create content and how to use it in general. I honestly think it's not hype, not going away, and can help you make better content. I also plan to share and create tools I use to make content, prompts, scripts, and apps. You don't have to be a coder to benefit, but because I am, there will be some content geared to that. Don't be shocked if you see a code block in future blog posts. I'm excited to see where this goes. If you want to join me on this journey, feel free to add your email below or [follow me on X](https://x.com/RichOBray), I tweet regularly. I read every DM and email, so don't be a stranger.