Today’s Recommendations: OpenAI’s Strategic Problem, Murder Mystery AI Tests, and the Laravel AI SDK

How Will OpenAI Compete? — Benedict Evans

The best strategic analysis of the AI industry landscape I’ve read this year. Evans doesn’t waste time on hype, he goes straight at OpenAI’s four core problems. The one that stuck with me most: there are something like half a dozen organisations currently shipping competitive frontier models with pretty much equivalent capabilities, leapfrogging each other every few weeks. There is no mechanic we know of for one company to get a lead that others in the field could never match, no equivalent of the network effects seen at Windows, Google Search, iOS, or Instagram, where market share was self-reinforcing and no amount of money or effort was enough for someone else to break in. His observation about engagement depth is equally sobering: OpenAI’s own data shows that 80% of users sent fewer than 1,000 messages in 2025, an average of less than three prompts per day. Usage is a mile wide but an inch deep. Long but worth every minute.

I Gave 3 AIs a Murder Mystery PDF — Alexandros Spyridis (madewithlove)

Genuinely fun, genuinely informative. A developer gave five humans and three AI models the same 36-page murder mystery evidence file with the same strict instructions, no hints, no web search. The results were telling: Claude correctly identified the killer on its first attempt in 3 minutes 22 seconds, using about 80% of the evidence to its full potential. Gemini Pro solved it in under a minute, catching a timezone discrepancy that neither the humans nor any other AI noticed. ChatGPT timed out repeatedly over multiple attempts spanning hours, and when it finally gave an answer after 26 minutes in extended thinking mode, it guessed the wrong suspect. The timezone detail that Gemini Pro caught, which directly proved who was lying, is a good reminder that reasoning models aren’t all created equal, even when they look similar on benchmarks.

What Is OAuth? — Blaine (Leaflet)

This is the explanation of OAuth I’ve been waiting for. Written by the person who wrote the original OAuth specification back in 2006, it answers the question that most OAuth explainers miss entirely: not how it works mechanically, but why it’s designed this way. At its core, OAuth for delegation is a standard way to do two things: first, send a multi-use secret with consent to a known delegate; and second, allow that delegate to use the secret to make subsequent requests on behalf of the person who gave the consent. That’s it. The rest is mostly necessary noise. The origin story, how a conversation at Twitter about supporting OpenID in 2006 led to the realisation that the whole industry needed a shared standard rather than dozens of bespoke, insecure solutions, makes the design decisions feel inevitable rather than arbitrary.

Laravel AI SDK Tutorial: Build a Smart Assistant in 30 Minutes — Hafiz Riaz

The most practically useful Laravel tutorial I’ve seen since the AI SDK launched. It walks through building a document analyser with structured output, file attachments, streaming, and proper test coverage, and the feature that impressed me most is how clean the testing story is. DocumentAnalyzer::fake() intercepts the agent call and auto-generates fake data matching your schema definition. No API calls, no flaky tests, no burning through OpenAI credits during CI runs. The provider failover pattern is also worth bookmarking: passing multiple providers means if OpenAI is down or rate-limited, it automatically falls back to Anthropic, no custom retry logic needed. Part 2 covers RAG and conversation memory if you want to go deeper.

Out With Multitasking, In With Orchestrating — Peter Eysermans (madewithlove)

A short, honest reflection on what it actually feels like to run multiple Claude Code instances in parallel — and why it’s less draining than it sounds. Working with Claude Code is orchestrating, not multitasking. You’re not halfway through a task before switching to another, you’ve set off Claude Code with a specific goal in mind without getting knee-deep into the implementation. The warning is equally worth heeding: the bottleneck has shifted from implementation to validation. Claude can generate a lot of activity very quickly, but output and progress are not the same thing. Claude tends to write tests that validate its own implementation rather than the original requirement, the tests pass, confidence increases, and yet the underlying problem may remain only partially solved. Keep your hands on the steering wheel.