HALL OF SHAME
the worst cats that still counted, and the ones that couldn't even render.
LOWEST SURVIVING SCORES
these passed validation. that was the high point.
GPT-3.5 Turbo · realistic · attempt 1 · score 1.5
the actual svg, as the machine wrote it:
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100">
<!-- Cat body -->
<g id="body">
<path d="M50,60 C35,50 30,40 30,30 C30,20 38,15 50,15 C62,15 70,20 70,30 C70,40 65,50 50,60 Z" fill="#666666" />
<!-- Cat face -->
<ellipse cx="50" cy="30" rx="20" ry="25" fill="#666666" />
<!-- Ears -->
<path d="M30,20 L35,10 L40,20 Z" fill="#666666" />
<path d="M60,20 L65,10 L70,20 Z" fill="#666666" />
<!-- Eyes -->
<circle cx="43" cy="30" r="3" fill="#333333" />
<circle cx="57" cy="30" r="3" fill="#333333" />
<!-- Nose -->
<circle cx="50" cy="35" r="2" fill="#333333" />
</g>
<!-- Fur shading -->
<defs>
<radialGradient id="furGradient" cx="0.5" cy="0.5" r="0.5">
<stop offset="0%" stop-color="#ffffff" />
<stop offset="100%" stop-color="#666666" />
</radialGradient>
</defs>
<rect x="0" y="0" width="100" height="100" fill="url(#furGradient)" />
</svg>GPT-4 (original) · realistic · attempt 4 · score 1.8
the actual svg, as the machine wrote it:
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">
<path d="M11.05 2.794A4.75 4.75 0 0 1 16.008 6.1a4.745 4.745 0 0 1-.297 8.284C15.66 14.768 15.324 15 15 15s-.659-.232-.71-.615A4.75 4.75 0 0 1 7.986 6.1a4.745 4.745 0 0 1 .297-8.284A4.72 4.72 0 0 1 12 2c.274 0 .54.025.8.074.957-.922 2.32-1.28 3.55-1.278a5.477 5.477 0 0 1-5.3 7.978 5.519 5.519 0 0 1-5.3-7.978c1.23.002 2.593.357 3.55 1.28A4.72 4.72 0 0 1 11.05 2.794zm.704-.729A4.247 4.247 0 0 0 12 2a4.247 4.247 0 0 0-.754.065A5.488 5.488 0 0 1 7.986 6.6a5.404 5.404 0 0 0 7.026 0A5.488 5.488 0 0 1 11.754 2.065zm7.802 5.6a1 1 0 0 1-1 1h-3.139a4.982 4.982 0 0 0 1.34 6h1.799a1 1 0 0 1 0 2h-2a1 1 0 0 1 0-2h.261A6.978 6.978 0 0 1 12 10a6.978 6.978 0 0 1-6.906 6.936h.261a1 1 0 0 1 0 2h-2a1.001 1.001 0 0 1-.836-1.543l1.06-1.904c-1.928-.348-3.381-1.992-3.223-3.935a3.976 3.976 0 0 1 2.732-3.686 1 1 0 1 1 .597 1.93 1.984 1.984 0 0 0-1.36 1.756c-.062.723.406 1.401 1.096 1.657L8 14l3-5-3-5-1.745.992c.69-.256 1.159-.934 1.096-1.657a1.983 1.983 0 0 0-1.36-1.756 1 1 0 1 1 .596-1.93 3.98 3.98 0 0 1 2.733 3.686c.158 1.943-1.294 3.587-3.223 3.935l1.061 1.904a1 1 0 0 1-.835 1.543h-2a1 1 0 0 1 0-2h1.799a4.982 4.982 0 0 0 1.34-6H6.196a.998.998 0 0 1-1-1h-.439a1 1 0 0 1 0-2h.439a.998.998 0 0 1 1 1h3.14A4.982 4.982 0 0 0 9.988 4H7.19a1 1 0 0 1 0-2h2a1.001 1.001 0 0 1 .836 1.544L8.966 3.567l1.254-2.254a1.001 1.001 0 0 1 1.758 0l1.254 2.254-1.061 1.977A1 1 0 0 1 14.81 4h2a1 1 0 0 1 0 2h-1.799a5 5 0 0 0-1.34 6h3.139a.998.998 0 0 1 1-1h.44a1 1 0 0 1 0 2h-.439z" />
</svg>Claude 3 Haiku · minimal · attempt 3 · score 1.8
the actual svg, as the machine wrote it:
<svg width="100" height="100" viewBox="0 0 100 100" xmlns="http://www.w3.org/2000/svg">
<g fill="#333333">
<circle cx="50" cy="50" r="40" />
<circle cx="35" cy="40" r="7" />
<circle cx="65" cy="40" r="7" />
<path d="M 35 70 Q 50 85 65 70" stroke-width="6" stroke-linecap="round" fill="none" />
</g>
</svg>Claude 3 Haiku · action · attempt 4 · score 1.8
the actual svg, as the machine wrote it:
<svg width="400" height="400" viewBox="0 0 100 100" xmlns="http://www.w3.org/2000/svg">
<g transform="translate(50,80)">
<g transform="scale(0.4)">
<path d="M-20,0 C-15,15 15,15 20,0 C15,-15 -15,-15 -20,0 Z" fill="#333" />
<path d="M-15,0 C-10,10 10,10 15,0 C10,-10 -10,-10 -15,0 Z" fill="#fff" />
<path d="M0,-20 C10,-15 10,15 0,20 C-10,15 -10,-15 0,-20 Z" fill="#333" />
<path d="M-10,-10 L10,-10 L10,10 L-10,10 Z" fill="#333" />
<path d="M-5,-5 L5,-5 L5,5 L-5,5 Z" fill="#fff" />
<g transform="translate(0,-20)">
<path d="M-10,-10 L10,-10 L10,10 L-10,10 Z" fill="#333" />
<path d="M-5,-5 L5,-5 L5,5 L-5,5 Z" fill="#fff" />
</g>
</g>
<g transform="translate(-20,-10) scale(0.3)">
<path d="M0,0 L40,0 L40,60 L0,60 Z" fill="#333" />
<path d="M10,10 L30,10 L30,50 L10,50 Z" fill="#fff" />
<path d="M20,0 L40,20 L20,40 L0,20 Z" fill="#333" />
</g>
</g>
</svg>GPT-3.5 Turbo · animation · attempt 4 · score 2.0
the actual svg, as the machine wrote it:
<svg width="200" height="200" xmlns="http://www.w3.org/2000/svg">
<circle cx="100" cy="100" r="50" fill="yellow"/>
<ellipse cx="80" cy="90" rx="10" ry="20" fill="black" />
<ellipse cx="120" cy="90" rx="10" ry="20" fill="black" />
<path d="M90,110 Q100,130 110,110" stroke="black" fill="transparent"/>
<rect x="95" y="120" width="10" height="5" fill="black"/>
<animateTransform attributeName="transform" attributeType="XML" type="rotate"
from="0 100 100" to="360 100 100" dur="1s" repeatCount="indefinite" />
</svg>Claude 3 Haiku · realistic · attempt 3 · score 2.0
the actual svg, as the machine wrote it:
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 600 400">
<g fill-rule="evenodd">
<path d="M335.7,155.2c-5.4-14.3-20.7-22.1-35-16.7c-14.3,5.4-22.1,20.7-16.7,35c5.4,14.3,20.7,22.1,35,16.7C333.3,184.8,341.1,169.5,335.7,155.2z" fill="#8c6239"/>
<path d="M320.4,194.8c-6.8-18-26-27.8-43.9-21c-17.9,6.8-27.8,26-21,43.9c6.8,18,26,27.8,43.9,21C317.3,231.9,327.2,212.8,320.4,194.8z" fill="#4e342e"/>
<path d="M290.5,212.9c-4.6-12.1-17.4-18.7-29.4-14.1c-12.1,4.6-18.7,17.4-14.1,29.4c4.6,12.1,17.4,18.7,29.4,14.1C288.5,237.7,295.1,225,290.5,212.9z" fill="#8c6239"/>
<path d="M271,228.2c-5.2-13.7-19.7-21.2-33.3-16c-13.7,5.2-21.2,19.7-16,33.3c5.2,13.7,19.7,21.2,33.3,16C268.7,256.3,276.2,241.9,271,228.2z" fill="#4e342e"/>
<path d="M244.8,242.9c-3.5-9.1-13-14.1-21.9-10.6c-9.1,3.5-14.1,13-10.6,21.9c3.5,9.1,13,14.1,21.9,10.6C243.3,261.3,248.3,252,244.8,242.9z" fill="#8c6239"/>
<path d="M234.3,252.9c-4-10.3-15-15.9-25.1-12c-10.3,4-15.9,15-12,25.1c4,10.3,15,15.9,25.1,12C232.6,273.9,238.3,263.2,234.3,252.9z" fill="#4e342e"/>
<path d="M211.5,264.4c-2.6-6.8-9.7-10.5-16.4-7.9c-6.8,2.6-10.5,9.7-7.9,16.4c2.6,6.8,9.7,10.5,16.4,7.9C210.4,277.2,214.1,271.2,211.5,264.4z" fill="#8c6239"/>
<path d="M206.4,273.1c-3-7.7-11.2-11.9-18.8-9c-7.7,3-11.9,11.2-9,18.8c3,7.7,11.2,11.9,18.8,9C205,285.9,209.4,280.8,206.4,273.1z" fill="#4e342e"/>
<path d="M291.3,132.1c-4.1-10.8-15.8-16.7-26.6-12.6c-10.8,4.1-16.7,15.8-12.6,26.6c4.1,10.8,15.8,16.7,26.6,12.6C289.5,154.6,295.4,142.9,291.3,132.1z" fill="#8c6239"/>
<path d="M279.5,148.5c-5.1-13.5-19.6-20.9-33.1-15.8c-13.5,5.1-20.9,19.6-15.8,33.1c5.1,13.5,19.6,20.9,33.1,15.8C277.2,176.5,284.6,162,279.5,148.5z" fill="#4e342e"/>
<path d="M256.1,162.7c-3.4-9-13-13.9-21.8-10.5c-9,3.4-13.9,13-10.5,21.8c3.4,9,13,13.9,21.8,10.5C254.6,181.1,259.5,171.7,256.1,162.7z" fill="#8c6239"/>
<path d="M248.9,171.6c-3.9-10.2-14.9-15.8-25-11.9c-10.2,3.9-15.8,14.9-11.9,25c3.9,10.2,14.9,15.8,25,11.9C247.2,192.7,252.8,181.8,248.9,171.6z" fill="#4e342e"/>
<path d="M231.5,182.7c-2.5-6.7-9.6-10.4-16.2-7.8c-6.7,2.5-10.4,9.6-7.8,16.2c2.5,6.7,9.6,10.4,16.2,7.8C230.4,195,234,189.4,231.5,182.7z" fill="#8c6239"/>
<path d="M227.7,189.4c-2.9-7.6-11-11.8-18.6-8.9c-7.6,2.9-11.8,11-8.9,18.6c2.9,7.6,11,11.8,18.6,8.9C226.4,201.5,230.6,197,227.7,189.4z" fill="#4e342e"/>
<path d="M353.4,137.6c-4.1-10.7-15.7-16.6-26.4-12.5c-10.7,4.1-16.6,15.7-12.5,26.4c4.1,10.7,15.7,16.6,26.4,12.5C351.6,159.9,357.5,148.3,353.4,137.6z" fill="#8c6239"/>
<path d="M342.5,153.3c-5,13.4-19.5,20.7-32.8,15.6c-13.4-5-20.7-19.5-15.6-32.8c5-13.4,19.5-20.7,32.8-15.6C339.3,125.5,347.5,139.9,342.5,153.3z" fill="#4e342e"/>
<path d="M320.9,167.1c-3.3,8.9-12.9,13.8-21.6,10.4c-8.9-3.3-13.8-12.9-10.4-21.6c3.3-8.9,12.9-13.8,21.6-10.4C309.4,148.8,324.2,158.2,320.9,167.1z" fill="#8c6239"/>
<path d="M314.6,174.8c-3.8,10.1-14.8,15.7-24.8,11.8c-10.1-3.8-15.7-14.8-11.8-24.8c3.8-10.1,14.8-15.7,24.8-11.8C313,195.8,318.4,184.9,314.6,174.8z" fill="#4e342e"/>
<path d="M300.1,184.6c-2.4,6.6-9.5,10.3-16,7.7c-6.6-2.4-10.3-9.5-7.7-16c2.4-6.6,9.5-10.3,16-7.7C299.1,170.1,302.5,178,300.1,184.6z" fill="#8c6239"/>
<path d="M297.3,190c-2.8,7.5-10.9,11.7-18.4,8.8c-7.5-2.8-11.7-10.9-8.8-18.4c2.8-7.5,10.9-11.7,18.4-8.8C296.1,201.4,300.1,197.5,297.3,190z" fill="#4e342e"/>
</g>
</svg>Qwen2.5 72B · realistic · attempt 4 · score 2.0
the actual svg, as the machine wrote it:
<svg width="500" height="500" viewBox="0 0 500 500" xmlns="http://www.w3.org/2000/svg">
<defs>
<linearGradient id="fur" x1="0%" y1="0%" x2="100%" y2="0%">
<stop offset="0%" style="stop-color:rgb(224,224,224);stop-opacity:1" />
<stop offset="50%" style="stop-color:rgb(192,192,192);stop-opacity:1" />
<stop offset="100%" style="stop-color:rgb(160,160,160);stop-opacity:1" />
</linearGradient>
</defs>
<path d="M150 50c0-27.61 22.39-50 50-50s50 22.39 50 50l-30 250-130 50-110-50 30-250zM200 250q0-20-15-35t-35-15-35 15-15 35 15 35 35 15 35-15 15-35zm100 0q0-20-15-35t-35-15-35 15-15 35 15 35 35 15 35-15 15-35zm-50-100q-20 0-35-15t-15-35 15-35 35-15 35 15 15 35-15 35-35 15zm0 200q-30 0-52.5-20.5t-31.5-54.5q0-22 12.5-40.5t37-28.5 37-12 28.5-37 12-37q0-28-15.5-50t-46.5-32-46.5 32-15.5 50q-22 22-33 48.5t-11 54.5 11 54.5 33 48.5q28 28 50 15.5t32-46.5 32 46.5 15.5 50q20 0 38.5-11.5t33.5-28.5 23-37q22-22 22-48.5z" fill="url(#fur)" stroke="#000" stroke-width="2" />
</svg>GPT-3.5 Turbo · realistic · attempt 2 · score 2.3
the actual svg, as the machine wrote it:
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" width="400" height="400" viewBox="0 0 24 24">
<defs>
<filter id="fur" x="-20%" y="-20%" width="140%" height="140%">
<feTurbulence type="fractalNoise" baseFrequency="0.02" numOctaves="2" result="turbulence"/>
<feDiffuseLighting in="turbulence" surfaceScale="3" lighting-color="#333" result="diffuseLighting">
<feDistantLight azimuth="225" elevation="45"/>
</feDiffuseLighting>
<feComposite in="SourceGraphic" in2="diffuseLighting" operator="atop"/>
</filter>
</defs>
<path fill="#322F20" d="M6.5 8.7C5.7 10.1 2 15.9 1 18.5c-.2.6-.1 1.1.3 1.5.3.3.9.4 1.5-.2.5-.5 6.8-7.6 7.7-9.1.2-.7.1-1.1-.5-1.5z"/>
<circle cx="6.5" cy="8.5" r="1" fill="#322F20"/>
<path fill="none" stroke="#322F20" stroke-width=".5" d="M9 11.8c.9.1 4.5 1 5.1 1.4.6.5.6 1.1.3 1.9"/>
<path fill="#322F20" d="M18.7 9.6c1.3 1.4 2.3 3.3 2.9 5.2.3.8.2 1.5-.3 1.9-.6.5-2.6.8-4.2.3-.7-.3-4.2-1.5-4.8-2.6-.5-1.1-.3-1.9.6-2.8 1.3-1.4 3.5-1.7 5.8-2z"/>
<circle cx="18.6" cy="9.7" r="1" fill="#322F20"/>
<path fill="none" stroke="#322F20" stroke-width=".5" d="M12 13.4c.6 1 .9 2.3 1.3 3.5"/>
<circle cx="12.1" cy="13.4" r=".8" fill="#322F20"/>
<path fill="none" stroke="#322F20" stroke-width=".5" d="M4 22.6c.7 1.1 1.5 1.3 2.5 1.5"/>
<path fill="none" stroke="#322F20" stroke-width=".5" d="M20 23.5c-.9-.2-1.7-.4-2.7-1.3"/>
<path fill="#322F20" d="M12 2C5.4 2 1 3.6 1 8c0 2 .7 5.4 2.4 6.8 0 0 .2.7.9 1 .7.2 1.4-.3 1.7-.9.9-2 2-3.5 5-4.7 3.3-1.3 8.5-.5 11.8 1.8.4.3.7.4 1 .2s.5-.6.2-1c-.8-1.1-3.9-2.2-7.2-2.5-.5 0-.9-.1-1.3-.2C15 2.8 13.8 2 12 2zM16 0c.2 0 .3 0 .5.1.6.3 1.4 1.5 1.3 2.8-.2 4-2.3 6.2-6.8 7.6-2.9.8-6 .9-8.4.2-.2-.1-.4-.2-.6-.2-.3-.2-.5-.2-.7-.2-.2.1-.4.1-.7.2-2.6.9-5.5 1.4-7.7 2.6-.5.4-.8 1-1 1.7 1.1.5 2.4.9 4.2.5 4.5-.8 7.9-2.6 8-4.8.1-2.3-2.2-3.4-4.2-4-1.9-.6-4-1.1-5.9-1.5C3 1 .1 0 .3 0c.1 0 10.3 2.4 12.7 2zM10.9 11.7c.2 0 .5 0 .7.2 1.6 1.1 3.4 1.9 4.6 2.4 1.7.7 3.7 1 5.7.8.1 0 .3 0 .4.1-.9-.8-4.6-2.1-5.6-2.6-1.8-.7-3.6-1-5.4-.9-1.5 0-3 .4-4.5 1-.2.1-.3.1-.3.3.1.1.2.3.3.4"/>
<path fill="none" d="M16.8 21.3c-.1-.1-.1-.3-.2-.4-1.4-.5-3.5-1.1-5.1-2.3-1.8-1.4-4-4.5-4.2-6.9-.2-2.8 2.3-4.6 3.3-5.2 2.3-1.6 6-2.2 10.1-1 .8.2 1.6.5 2.4.9-.6-.4-3.2-.9-5.3-.8-2 .1-4 .6-5.8 1.4-1.2.5-2.2 1.1-3 1.7-.4.3-.7.6-1 1.1-.1.1-.2.1-.3.2-1 .9-2.2 2.3-1.9 3.5.2 1 2.3-.1 3.5-1 .1-.1.2-.2.2-.3.5-.5.9-1 .6-1.4z" filter="url(#fur)"/>
</svg>DID NOT FINISH
21 attempts that never scored. nobody refused the assignment. they just fumbled it.
DeepSeek V4 Pro
animation: wasn't valid XML
GLM-5.2
minimal: wasn't valid XML
GPT-3.5 Turbo
animation: wouldn't render
GPT-4o
animation: wouldn't render
GPT-5
action: tried to phone home for a remote asset
GPT-5
action: tried to phone home for a remote asset
GPT-5
style: tried to phone home for a remote asset
GPT-5.5
realistic: tried to phone home for a remote asset
Kimi K2
style: wasn't valid XML
Kimi K2.6
minimal: smuggled in a <script> tag
Kimi K2.6
realistic: tried to phone home for a remote asset
Llama 3.1 70B
constraint: wouldn't render
Llama 3.1 70B
constraint: wouldn't render
Llama 3.1 70B
minimal: wouldn't render
Llama 3.1 70B
minimal: wouldn't render
Llama 4 Maverick
animation: wouldn't render
MiniMax M3
action: wasn't valid XML
MiniMax M3
action: wasn't valid XML
MiniMax M3
constraint: wasn't valid XML
MiniMax M3
minimal: wouldn't render
MiniMax M3
realistic: wasn't valid XML