Since Fable was just released, I thought it would be fun to make it complete against every other model, so here we go.
The task: Since I’m traveling I want to watch some YouTube on the go. So the task was to build an offline YouTube Player.
Important: I did not review the code at all, it only counts the final product.
Prompt
Write a software in TypeScript that does the following: It indexes a folder at startup (~/Entertainment/YouTube). This folder contains videos downloaded with yt-dlp with embedded thumbnail and metadata. It writes those data into an SQLite database, and afterwards, it serves a website that mimics the YouTube layout and that shows all the videos. I can then click on the videos and watch them. It also syncs up the position in the video. It shows these in the list, but it also, when I click on a video, it starts the video where I left the video last time. Keep it super simple, no users, no fancy tech. A solid tool for watching downloaded YouTube videos on the go.
Used in pi with some basic prompts and research tools (which none of the models used).
glm-5.1
Tokens: ↑199k ↓24k
Cost: $0.443
Time: ~10mins
Result: Rock solid. Nailed the functionality. Nothing fancy, but works.


gpt-5.5
Tokens: ↑98k ↓29k
Cost: $1.761
Time: ~10mins
Result: GPT tried to be more fancy. It added a search, as well as suggestions. But it also added a non-functional sidebar and a few super tiny icons.


qwen-3.7-max
Tokens: ↑129k ↓16k
Cost: $0.450 (50 % deal)
Time: ~10mins
Result: Very similar to glm but with a real-time search.


gemini-3.5-flash
Tokens: ↑294k ↓34k
Cost: $0.906
Time: ~5mins
Result: Gemini went all-in. It added filters for unwatch/in progress/completed and a channel sidebar. On top of that real-time search, a reindex library button and many small improvements. Only the hamburger button was non-functional. But still, really good. Big problem: some videos don’t show at all. Also it included tailwind via link which requires an internet connection.


claude-opus-4-8
Tokens: ↑96 ↓33k
Cost: $1.820
Time: ~15mins
Result: Opus 4.8 had some kind of stroke here. It went on for 15mins and returned a pretty basic solution. We have a real-time search and suggestions.


claude-opus-4-6
Tokens: ↑7.2k ↓12k
Cost: $0.758
Time: ~5mins
Result: After 4.8s stroke I was curious how 4.6 would do and it turns out, pretty similar, but for a fraction of tokens and cost. We got a channel and in progress filter and real-time search. It was also the only one to use bun instead of node


And drumroll: claude-fable-5
Tokens: ↑58 ↓14k
Cost: $1.563
Time: ~5mins
Result: Very basic, similar to glm/qwen.


Bonus: qwen3.6:35b-a3b-coding (locale)
Tokens: ↑8.3M ↓78k
Cost: $0.00
Time: ~40min
Result: For local damn impressive. It shows and plays videos. The position is not restored, however, and thumbnails don’t show up. Also the videos open in a modal. What is nice: It added a sort option (newest, alphabetically, etc.) and a chapter list.


Verdict
I think all models did a decent job here. None failed completely. Gemini 3.5 Flash stood out in two ways: First, it was the one that included the most sensible features. On the other hand, it was also the most broken version.
So I might use it in the future for ideas, front-end design, etc., and then use another model for implementation. Also, I hear the obvious critique. In the prompt, I clearly state no fancy stuff, but then I complain about models not adding anything extra. Of course, you can argue that the better models just followed the prompt more faithfully.
On the other hand, a good model, like a good developer, can anticipate what you meant when you wrote something and can elaborate on it a little bit. Of course, without overdoing it. That’s the balance it has to keep.
Also, the crazy part: If qwen3.6:35b-a3b-coding had delivered something functional, I would probably rank it on the same level as Opus, because it added some cool features.
I ended up fixing and using Gemini 3.5 Flashs version.
Comments
habeebiii · 2026-06-10 · 55 points
wow, great writeup and even better that its not a wall of text from ai
wigl301 · 2026-06-10 · 8 points
yeah wtf
ReadersAreRedditors · 2026-06-10 · 2 points
The good ol’ days
gov218 · 2026-06-10 · 2 points
Maybe the real fable demo is the write up
Chonky-Bukwas · 2026-06-10 · 17 points
Nice write up. Thanks for sharing.
VIDGuide · 2026-06-10 · 10 points
Gemini running off doing way more than asked is 100% on brand with my experiences with it too.
Not that it’s bad at what it does, but the less specific a prompt is, the more it tends to try to do.
floriandotorg · 2026-06-10 · 2 points
I just feel that it should ask. Like 100% of its additions were awesome. I didn’t even think of them. But like a good developer, it should ask before going overboard.
VIDGuide · 2026-06-10 · 2 points
Yeah 100%. I used anti-gravity quite heavily before Google nerfed it, and this kind of thing happened a lot. I wasn’t usually upset, it was often positively surprising, but it was a bit of a shock that it didn’t ask.
floriandotorg · 2026-06-10 · 1 points
But can’t you prompt it to ask?
VIDGuide · 2026-06-10 · 1 points
It helps a bit, but it’s still very over-eager. Just seems to be a nature of its design. Grok is geared toward risk, Gemini seems to be geared to go that little extra. Prompts can only tune them so far when it’s baked in. It’s kinda fascinating how different some are, and how similar others are (as your test here proved)
Chriolant · 2026-06-10 · 1 points
If you use AG it has a /grill-me thing which has helped me out quite a few times when I’ve had writer’s block hah.
KnifeFed · 2026-06-10 · 5 points
Thank you for making this feel human-written and not like an AI markdown dump. Good read.
Automatic_Cookie42 · 2026-06-10 · 5 points
Thanks for sharing this great example of AI-driven content that doesn’t read like AI slop. Saving it to re-read later.
floriandotorg · 2026-06-10 · 1 points
that’s because I wrote every word myself
GodIsClose · 2026-06-10 · 4 points
I have an unpopular opinion here The comparison wasn’t really fair, the task was fairly simple for all models, so the time and tokens can vary from one run to another.
I think a better comparison would come by letting them compete on a highly sophisticated and feature rich project.
Also choosing speed as a metric in itself is questionable, I mean who said that higher models should be faster than lower models, however they definitely should be more capable.
And finally, Gemini didn’t follow your prompt accurately, you mentioned nothing fancy, so the fact that it bypassed it stands against it rather than for it.
marfzzz · 2026-06-10 · 1 points
Yes. Capability on complex tasks and in complex projects is good measure to show capability of SoTA model. But this also shows that if you engineer it well and give it small tasks you can achieve great things even with small models.
_TheWolfOfWalmart_ · 2026-06-10 · 3 points
Local models are getting quite good. I’ve had nice results with both Qwen3.6 and Gemma4. I recommend using similar sized dense models instead of MoE though for best quality results, at the cost of speed.
The best results from local I’ve seen are Qwen3.6 122B A10B (Q4) though.
FrailSong · 2026-06-10 · 1 points
What hardware/RAM are you running your local models on? I want to eventually run local models - hoping to one day get a Mac Mini or even a Studio.
doctorgroover · 2026-06-10 · 1 points
Could you share the code you ended up using please?
f12016 · 2026-06-10 · 1 points
Nice! Great idea and interesting results!
zeferrum · 2026-06-10 · 1 points
What quant of the local qwen ?
T0d0r0ki · 2026-06-10 · 1 points
Would be very interested to see how qwen3.6-27b and Gemma 31b would’ve performed in this test.
FabricationLife · 2026-06-10 · 1 points
Fun little test benchmark, I like it, surprised at how decently the local model actually did, very nice
Diastro · 2026-06-10 · 0 points
Cool experiment! The token usage per model is super interesting too (fable and opus have a surprising low input toekn count?).
Nearby_Yam286 · 2026-06-10 · -9 points
I do not believe you. And I believe your post is mostly generated.