Skip to content

Round 14 · Today · Small application

A weather app with a living animated sky

Same prompt, no human help: Claude Opus 5.5 and GPT-6 Astra each built a weather app with a living animated sky as a small working app.

Press Play on both and use them like real apps.

  1. Claude Opus 5.5AnthropicUnscored

    Time: 23m 55sCost: $5.12

  2. GPT-6 AstraOpenAIUnscored

    Time: 28m 35sCost: $2.36

  1. Claude Opus 5.50 votes
  2. GPT-6 Astra0 votes

Voting open · 47h left

The battle video

0:00 / 0:00
Left to right: Claude Opus 5.5, GPT-6 Astra

Which result do you think is best?

The community vote decides this battle's result. Voting closes Oct 29, 2026, 5:42 PM GMT+9.

Play it yourself

What each of the 2 models built, live in your browser

Claude Opus 5.5

Anthropic

Completed

  • Claude Opus 5.5's build, a few seconds into the animation
Time
23m 55s
Cost
$5.12est.
Tests
8/8
Tokens
2,767,780
Task: CompleteWorks: Works

Passed 8 of 8 standard checks.

Run record
Requested model
claude-opus-5-5
Resolved version
claude-opus-5-5
Tool / harness
Claude Code 2.1.311
Settings
effort: high
Attempts
1
Human help
None recorded
Tool access
Read, Write, Edit, ls, grep, wc, node --check
Environment
Linux server, a private empty folder (randomly named, not shared with the other model)
Limits
30-minute timeout
Input / output tokens
2,619,154 / 148,626
Token details
uncached_input: 36 · thinking_output: 82343 · cache_read_input: 2410743 · cache_creation_input: 208375 · cache_creation_1h_input: 208375 · cache_creation_5m_input: 0
Cost basis
Estimated
Measurement notes
Wall time measured by the daily worker (same method for both). Tokens from Claude Code's JSON result. Rules from the standard daily checks. Cost estimated from the recorded tokens × the provider's official list prices (checked 2026-10-10).
Executed
Oct 27, 2026, 4:45 PM GMT+9

GPT-6 Astra

OpenAI

CompletedUnknown version

  • GPT-6 Astra's build, a few seconds into the animation
Time
28m 35s
Cost
$2.36est.
Tests
8/8
Tokens
529,034
Task: CompleteWorks: Works

Passed 8 of 8 standard checks.

Run record
Requested model
gpt-6-astra
Resolved version
Not available
Tool / harness
Codex CLI 0.164.0
Settings
reasoning_effort: high
Attempts
1
Human help
None recorded
Tool access
Shell commands in a workspace-write sandbox (network off)
Environment
Linux server, a private empty folder (randomly named, not shared with the other model)
Limits
30-minute timeout
Input / output tokens
496,811 / 32,223
Token details
cached_input: 469248 · reasoning_output: 8243 · cache_write_input: 0
Cost basis
Estimated
Measurement notes
Wall time measured by the daily worker (same method for both). Tokens from codex exec --json (turn.completed usage). Rules from the standard daily checks. Cost estimated from the recorded tokens × the provider's official list prices (checked 2026-10-10).
Executed
Oct 27, 2026, 4:45 PM GMT+9

How the result is decided

The community vote decides: when the poll closes, the side with more votes wins. Equal votes is a draw, and fewer than 10 votes is too few to call.

  • Claude Opus 5.58/8 checks
  • GPT-6 Astra8/8 checks

The checks, time and cost are facts about each build, not a score. One observed run under stated conditions — not a universal ranking. How it works

Scoresheet

The same measures for every model

Every contender side by side
MeasureClaude Opus 5.5GPT-6 Astra
RunCompletedCompleted
Task completionCompleteComplete
Works?WorksWorks
Tests passed8/88/8
Time23m 55s28m 35s
Cost$5.12at list price$2.36at list price
Tokens2,767,780529,034
Tool / harnessClaude CodeCodex CLI
Attempts11
How the cost is calculated

Estimated API cost: the tokens each model used × its provider's official list price per million tokens. Reasoning tokens are billed as output. Discounts and subscriptions are not included (these runs were paid for through subscriptions).

Claude Opus 5.5: $5.12
Fresh input36× $4/M$0.0001
Cache reads2,410,743× $0.2/M$0.48
Cache writes (1 hour)208,375× $8/M$1.67
Output (incl. reasoning)148,626× $20/M$2.97
GPT-6 Astra: $2.36
Fresh input27,563× $10/M$0.28
Cache reads469,248× $1/M$0.47
Output (incl. reasoning)32,223× $50/M$1.61

Prices: platform.claude.com (checked 2026-10-10) · developers.openai.com (checked 2026-10-10)

The prompt

Every model received exactly this

Create a weather app with a living animated sky: a small, complete web app that someone would actually keep using.

What makes it great:
- It does its core job fully and correctly, including what a real user expects: sensible defaults, edge cases, and a friendly message for empty or invalid input.
- It looks like a polished product: a clear layout and hierarchy, consistent spacing, system fonts, a deliberate colour palette, smooth transitions, and visible hover, focus, active and disabled states.
- It is easy: the main action is obvious, everything is big enough to tap (at least 44 pixels), and it works with mouse, keyboard (visible focus, Enter submits) and touch.

What it must do:
- It opens ready to use with a realistic example already filled in, so the first screen shows what it does. The visitor can clear it and start fresh.
- Every button and control does something visible. The main controls are on the first screen without scrolling, and the first screen looks alive (for example a running timer, a live preview or a small chart), not an empty form.
- It saves what the user enters in localStorage (inside a try/catch) so it survives a reload, and still works if storage is unavailable.
- It uses the whole window: on a desktop it makes good use of the space (not a tiny box in the middle), and on a phone it becomes one column. The page itself never scrolls; a long list scrolls inside its own panel.
- It is accessible: real buttons and inputs with labels, good contrast, and it respects prefers-reduced-motion.

Make it astonishing. Both builds are shown side by side in a 30-second video on social media, where people decide in one second whether to stop scrolling:
- The very first frame is already striking: bold colour, light and motion, never an empty, plain or loading screen.
- Build to a signature moment within the first 10 seconds that makes people say "wow": a reveal, a transformation, an explosion of particles, a chain reaction.
- Go beyond the obvious version of the idea: choose a surprising, inventive take with its own world, mood and personality, not a generic template.
- Layer it: depth, glow and light, particles and trails, smooth easing, and detail that rewards both a glance and a closer look.
- It is watched at about half size on a phone: keep the important shapes big and high in contrast, and any key text large (at least 28 CSS pixels).
- Not a form: a visually rich, delightful product with an animated centrepiece (a live visual, a 3D object, a chart or an illustration that moves) and micro-interactions that feel magical.

Fixed rules (so every model is compared on the same terms):
- Exactly one file, index.html, in the current directory. Create no other files.
- Plain HTML, CSS and JavaScript. You may use three.js 0.170.0 from https://cdn.jsdelivr.net/npm/three@0.170.0/ (via an import map) if it helps. No other libraries, images, 3D models, fonts or network requests: build everything yourself in code (canvas, SVG, CSS or WebGL).
- It fills the browser window and works on a phone and on a desktop, with no page scrollbars.
- Animate with requestAnimationFrame and its timestamp so speed does not depend on the frame rate.

It must work in an ordinary browser on any graphics card. You cannot open a browser to look at it, so build it carefully:
- Every frame is fully drawn: no black, blank or flickering frames or patches. Keep any shader maths free of NaN and infinity (no division by a value that can reach zero, no pow() of a negative number, no normalize() of a zero-length vector), and clamp colours to a safe range before bloom or other post-processing.
- No errors in the browser console: if you use three.js, map "three" and "three/addons/" in the import map, and import everything you use.
- It runs smoothly on an ordinary laptop or phone: keep the pixel ratio at 2 or below, and avoid creating new objects every frame.
- It adapts when the window is resized or the phone is rotated.
- Do not hide errors: never wrap the main loop or whole functions in a try/catch that silently swallows them; fix the cause instead (a try/catch around storage or audio is fine).
- Unexpected input (empty, very long, negative or non-numeric values, rapid repeated clicks) never breaks it or shows NaN, undefined or a blank screen.

Before you finish, read your file once from top to bottom and make sure that:
- The first screen shows real example content, and every control works.
- A reload keeps what the user entered.
- It fits a 390×844 phone window and a 1280×720 desktop window with no page scrollbars.
- Nothing can throw an error in the browser console.

The battle video records about 30 seconds right after the page opens, with a click on a few of its buttons.

Everything else is your choice: the features beyond the core job, the layout, style and colour. Make it as useful, delightful and visually stunning as you can. Do not ask questions; make reasonable choices.
Run details: success criteria, conditions and notes

What counts as success

  • Exactly one file, index.html, and no other files
  • No libraries but three.js 0.170.0 (optional), and no images, models, fonts or requests
  • Fills the window on a phone and a desktop, with no scrollbars
  • A complete, polished app that opens ready to use with example content
  • Works with mouse, keyboard and touch, and every control does something
  • Keeps what the user enters after a reload
  • Fully drawn on any graphics card: no black, blank or flickering frames or patches
  • No errors in the browser console

Conditions

Time limit
30 minutes
Starting materials
An empty, private folder for each model; both started at the same moment so neither could see the other's work
Network access
Blocked
Tools
Claude Code: Read, Write, Edit, plus ls, grep, wc and node --check (no browser, no Python), effort high. Codex CLI: codex exec in a workspace-write sandbox (any shell command, no browser, network off), reasoning effort high. Neither can open a browser to look at its result.
Human assistance
None. No edits after the prompt.
Attempts
One attempt each. A build that is missing, blank, erroring or not animating gets one fresh retry, disclosed on the entry. The editor may re-run a broken build (at most 3 attempts in all), also disclosed with the reason.
Other rules
Both models start at the same moment, each in its own empty folder, with the identical prompt and no human help.

Notes

Prompt: AI Battle house template v3 (app); subject chosen by the editor.

Prompt fingerprint (SHA-256): 79d60fa7a5fb5a29c1bd90eb4b4cf869639ea3c4a8fd5910bc805275c810614a

  1. #13

    Aurora borealis over a frozen lake

    · 3D scene

    • Claude Opus 5.5Unscored
    • GPT-6 AstraUnscored

    Result: Result pending

  2. #12

    How a camera sensor captures colour

    · Visual explainer

    • Claude Opus 5.5Unscored
    • GPT-6 AstraUnscored

    Result: No winner

  3. #11

    A top-down asteroid shooter

    · Game

    • Claude Opus 5.5Unscored
    • GPT-6 AstraUnscored

    Result: No winner