← back to Model Arena
auto-save: 2026-07-25T18:07:45 (3 files) — data/challenges.json data/artifacts/2b11fe341ffd/ data/artifacts/5caa8f05b5a8/
c205a47753343f6c158f3e4fdb91ea616019c125 · 2026-07-25 18:07:52 -0700 · Steve Abrams
Files touched
A data/artifacts/2b11fe341ffd/qwen25-7b.htmlA data/artifacts/2b11fe341ffd/qwen25-7b.pngA data/artifacts/2b11fe341ffd/qwen3-14b.htmlA data/artifacts/2b11fe341ffd/qwen3-14b.pngA data/artifacts/5caa8f05b5a8/qwen25-7b.htmlA data/artifacts/5caa8f05b5a8/qwen25-7b.pngM data/challenges.json
Diff
commit c205a47753343f6c158f3e4fdb91ea616019c125
Author: Steve Abrams <steve@designerwallcoverings.com>
Date: Sat Jul 25 18:07:52 2026 -0700
auto-save: 2026-07-25T18:07:45 (3 files) — data/challenges.json data/artifacts/2b11fe341ffd/ data/artifacts/5caa8f05b5a8/
---
data/artifacts/2b11fe341ffd/qwen25-7b.html | 239 +++++++++++++++++++
data/artifacts/2b11fe341ffd/qwen25-7b.png | Bin 0 -> 15658 bytes
data/artifacts/2b11fe341ffd/qwen3-14b.html | 358 +++++++++++++++++++++++++++++
data/artifacts/2b11fe341ffd/qwen3-14b.png | Bin 0 -> 65270 bytes
data/artifacts/5caa8f05b5a8/qwen25-7b.html | 234 +++++++++++++++++++
data/artifacts/5caa8f05b5a8/qwen25-7b.png | Bin 0 -> 43650 bytes
data/challenges.json | 53 +++--
7 files changed, 864 insertions(+), 20 deletions(-)
diff --git a/data/artifacts/2b11fe341ffd/qwen25-7b.html b/data/artifacts/2b11fe341ffd/qwen25-7b.html
new file mode 100644
index 0000000..2ea773b
--- /dev/null
+++ b/data/artifacts/2b11fe341ffd/qwen25-7b.html
@@ -0,0 +1,239 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+<meta charset="UTF-8">
+<meta name="viewport" content="width=device-width, initial-scale=1.0">
+<title>Style Showdown</title>
+<style>
+:root {
+ --bg: #17171c;
+ --surface: #f5f2ea;
+ --text: #1c1a17;
+ --muted: #8a8578;
+ --accent: #c9a961;
+ --line: 1px solid var(--muted);
+ --shadow: 0 8px 24px rgba(0,0,0,.12), hover 0 16px 48px rgba(0,0,0,.18), glow = 0 0 24px var(--accent)@35%;
+ --ease: cubic-bezier(.22,1,.36,1);
+}
+
+body {
+ margin: 0;
+ font-family: 'Didot', 'Bodoni MT', Georgia, serif;
+ background-color: var(--bg);
+ color: var(--text);
+ display: flex;
+ justify-content: center;
+ align-items: center;
+ height: 100vh;
+}
+
+header {
+ margin-bottom: 32px;
+ font-size: 50px;
+ letter-spacing: .18em;
+ text-align: left;
+ color: var(--text);
+}
+
+#bracket-container {
+ width: 75%;
+ max-width: 640px;
+ padding: 32px;
+ background-color: var(--surface);
+ border-radius: 14px;
+ box-shadow: var(--shadow);
+ display: flex;
+ flex-direction: column;
+}
+
+.match-up {
+ margin-bottom: 24px;
+}
+
+.swatch-container {
+ display: flex;
+ justify-content: space-around;
+ align-items: center;
+ gap: 32px;
+}
+
+.swatch {
+ width: 150px;
+ height: 150px;
+ border: var(--line);
+ box-shadow: inset 0 4px 8px rgba(0,0,0,.1), var(--shadow);
+ display: flex;
+ justify-content: center;
+ align-items: center;
+ cursor: pointer;
+}
+
+.swatch:hover {
+ box-shadow: inset 0 6px 12px rgba(0,0,0,.15), var(--shadow);
+}
+
+.swatch-win {
+ border-color: var(--accent);
+}
+
+.result-card {
+ margin-top: 32px;
+ padding: 24px;
+ background-color: var(--surface);
+ border-radius: 14px;
+ box-shadow: var(--shadow);
+ text-align: center;
+}
+
+.result-card h1 {
+ font-size: 50px;
+ color: var(--text);
+ margin-bottom: 16px;
+}
+
+.result-card p {
+ font-size: 24px;
+ color: var(--muted);
+}
+</style>
+</head>
+<body>
+
+<header>
+DESIGNER WALLCOVERINGS
+</header>
+
+<div id="bracket-container">
+
+ <div class="match-up">
+ <div class="swatch-container">
+ <div id="damask" class="swatch">Damask</div>
+ <div id="toile" class="swatch">Toile</div>
+ </div>
+ </div>
+
+ <div class="match-up">
+ <div class="swatch-container">
+ <div id="ikat" class="swatch">Ikat</div>
+ <div id="chinoiserie" class="swatch">Chinoiserie</div>
+ </div>
+ </div>
+
+ <div class="match-up">
+ <div class="swatch-container">
+ <div id="art-deco" class="swatch">Art Deco</div>
+ <div id="boho" class="swatch">Boho</div>
+ </div>
+ </div>
+
+ <div class="match-up">
+ <div class="swatch-container">
+ <div id="coastal" class="swatch">Coastal</div>
+ <div id="grandmillennial" class="swatch">Grandmillennial</div>
+ </div>
+ </div>
+
+ <!-- Quarterfinals -->
+
+ <div class="match-up">
+ <div class="swatch-container">
+ <div id="q1-winner" class="swatch swatch-win"></div>
+ <div id="q2-winner" class="swatch swatch-win"></div>
+ </div>
+ </div>
+
+ <!-- Semifinals -->
+
+ <div class="match-up">
+ <div class="swatch-container">
+ <div id="s1-winner" class="swatch swatch-win"></div>
+ <div id="s2-winner" class="swatch swatch-win"></div>
+ </div>
+ </div>
+
+ <!-- Finals -->
+
+ <div class="match-up">
+ <div class="swatch-container">
+ <div id="f1-winner" class="swatch swatch-win"></div>
+ <div id="f2-winner" class="swatch swatch-win"></div>
+ </div>
+ </div>
+
+</div>
+
+<div id="result-card" class="result-card">
+
+</div>
+
+<script>
+let matches = [
+ { a: "damask", b: "toile" },
+ { a: "ikat", b: "chinoiserie" },
+ { a: "art-deco", b: "boho" },
+ { a: "coastal", b: "grandmillennial" }
+];
+
+let results = {
+ damask: 0,
+ toile: 0,
+ ikat: 0,
+ chinoiserie: 0,
+ artDeco: 0,
+ boho: 0,
+ coastal: 0,
+ grandMillennial: 0
+};
+
+function advanceMatch(a, b) {
+ results[a]++;
+ if (results[a] > results[b]) {
+ document.getElementById(a).classList.add("swatch-win");
+ document.getElementById(b).style.opacity = "0.4";
+ } else {
+ document.getElementById(b).classList.add("swatch-win");
+ document.getElementById(a).style.opacity = "0.4";
+ }
+ setTimeout(() => {
+ document.querySelector(".swatch-win").remove();
+ }, 750);
+}
+
+matches.forEach(match => {
+ let a = match.a, b = match.b;
+ document.getElementById(a).addEventListener("click", () => advanceMatch(a, b));
+ document.getElementById(b).addEventListener("click", () => advanceMatch(b, a));
+});
+
+function showResult(winner) {
+ const resultCard = document.getElementById("result-card");
+ resultCard.style.display = "block";
+ resultCard.innerHTML = `
+ <h1>${winner} Wins!</h1>
+ <p>Thank you for participating in the Style Showdown!</p>
+ `;
+}
+
+let finalMatch;
+matches.forEach(match => {
+ let a = match.a, b = match.b;
+ if (results[a] > results[b]) {
+ document.getElementById(a).classList.add("swatch-win");
+ finalMatch = a;
+ } else {
+ document.getElementById(b).classList.add("swatch-win");
+ finalMatch = b;
+ }
+});
+
+setTimeout(() => {
+ showResult(finalMatch);
+}, 3000);
+
+document.querySelector(".swatch").addEventListener("click", () => {
+ alert("The result card has already been shown. Thank you for playing!");
+});
+</script>
+
+</body>
+</html>
\ No newline at end of file
diff --git a/data/artifacts/2b11fe341ffd/qwen25-7b.png b/data/artifacts/2b11fe341ffd/qwen25-7b.png
new file mode 100644
index 0000000..f6bbeef
Binary files /dev/null and b/data/artifacts/2b11fe341ffd/qwen25-7b.png differ
diff --git a/data/artifacts/2b11fe341ffd/qwen3-14b.html b/data/artifacts/2b11fe341ffd/qwen3-14b.html
new file mode 100644
index 0000000..135c00a
--- /dev/null
+++ b/data/artifacts/2b11fe341ffd/qwen3-14b.html
@@ -0,0 +1,358 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+ <meta charset="UTF-8">
+ <title>Style Showdown</title>
+ <style>
+ :root {
+ --bg: #faf8f4;
+ --surface: #ffffff;
+ --text: #1c1a17;
+ --muted: #9b948a;
+ --accent: #b0472e;
+ --line: #e0e0e0;
+ --shadow: 0 8px 24px rgba(0,0,0,0.12);
+ --ease: cubic-bezier(0.22, 1, 0.36, 1);
+ --fade-up: 0.7s var(--ease) both;
+ --stagger: 90ms;
+ --card-radius: 14px;
+ --card-gap: 24px;
+ --card-min: 260px;
+ --font-display: 'Playfair Display', Georgia, serif;
+ --font-body: -apple-system, 'Segoe UI', 'Helvetica Neue', Arial, sans-serif;
+ }
+
+ * {
+ box-sizing: border-box;
+ margin: 0;
+ padding: 0;
+ font-family: var(--font-body);
+ }
+
+ body {
+ background-color: var(--bg);
+ color: var(--text);
+ font-size: 16px;
+ line-height: 1.6;
+ min-height: 100vh;
+ display: flex;
+ flex-direction: column;
+ overflow-x: hidden;
+ }
+
+ header {
+ position: fixed;
+ top: 0;
+ left: 0;
+ width: 100%;
+ padding: 16px 24px;
+ background-color: var(--surface);
+ box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
+ z-index: 1000;
+ font-family: var(--font-display);
+ font-size: 40px;
+ letter-spacing: 0.18em;
+ color: var(--text);
+ display: flex;
+ align-items: center;
+ }
+
+ main {
+ padding-top: 96px;
+ flex: 1;
+ display: flex;
+ flex-direction: column;
+ align-items: center;
+ justify-content: center;
+ overflow-y: auto;
+ min-height: 100vh;
+ }
+
+ .bracket {
+ display: grid;
+ grid-template-columns: repeat(auto-fit, minmax(var(--card-min), 1fr));
+ gap: var(--card-gap);
+ width: 100%;
+ max-width: 1200px;
+ padding: 0 24px;
+ }
+
+ .matchup {
+ background-color: var(--surface);
+ border: 1px solid var(--line);
+ border-radius: var(--card-radius);
+ padding: 24px;
+ box-shadow: var(--shadow);
+ transition: transform 0.2s var(--ease);
+ }
+
+ .matchup:hover {
+ transform: translateY(-4px);
+ box-shadow: 0 16px 48px rgba(0,0,0,0.18);
+ }
+
+ .swatch {
+ width: 100%;
+ height: 200px;
+ border-radius: var(--card-radius);
+ overflow: hidden;
+ position: relative;
+ margin-bottom: 12px;
+ }
+
+ .swatch::before {
+ content: '';
+ position: absolute;
+ top: 0;
+ left: 0;
+ width: 100%;
+ height: 100%;
+ background: linear-gradient(45deg, var(--accent), #fff, var(--accent));
+ background-size: 400% 400%;
+ animation: drift 18s linear infinite;
+ }
+
+ @keyframes drift {
+ 0% { background-position: 0% 50%; }
+ 100% { background-position: 100% 50%; }
+ }
+
+ .swatch:nth-child(1)::before {
+ background: linear-gradient(45deg, #c9a961, #fff, #7d6a45);
+ }
+
+ .swatch:nth-child(2)::before {
+ background: linear-gradient(45deg, #b0472e, #fff, #2f4c39);
+ }
+
+ .swatch:nth-child(3)::before {
+ background: linear-gradient(45deg, #c65f38, #fff, #e0a458);
+ }
+
+ .swatch:nth-child(4)::before {
+ background: linear-gradient(45deg, #8a8578, #fff, #c9a961);
+ }
+
+ .swatch:nth-child(5)::before {
+ background: linear-gradient(45deg, #1c1a17, #fff, #c9a961);
+ }
+
+ .swatch:nth-child(6)::before {
+ background: linear-gradient(45deg, #7d6a45, #fff, #c9a961);
+ }
+
+ .swatch:nth-child(7)::before {
+ background: linear-gradient(45deg, #b0472e, #fff, #2f4c39);
+ }
+
+ .swatch:nth-child(8)::before {
+ background: linear-gradient(45deg, #8a8578, #fff, #c9a961);
+ }
+
+ .button {
+ background-color: var(--accent);
+ color: var(--text);
+ border: none;
+ padding: 12px 24px;
+ border-radius: 8px;
+ cursor: pointer;
+ font-size: 14px;
+ letter-spacing: 0.15em;
+ text-transform: uppercase;
+ transition: background-color 0.2s var(--ease);
+ margin: 8px;
+ box-shadow: 0 4px 12px rgba(0,0,0,0.1);
+ }
+
+ .button:hover {
+ background-color: #d59e5c;
+ }
+
+ .overlay {
+ position: fixed;
+ top: 0;
+ left: 0;
+ width: 100%;
+ height: 100%;
+ background-color: rgba(0,0,0,0.8);
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ z-index: 999;
+ opacity: 0;
+ visibility: hidden;
+ transition: opacity 0.3s var(--ease);
+ }
+
+ .overlay.show {
+ opacity: 1;
+ visibility: visible;
+ }
+
+ .result-card {
+ background-color: var(--surface);
+ padding: 32px;
+ border-radius: var(--card-radius);
+ max-width: 400px;
+ text-align: center;
+ box-shadow: 0 0 24px var(--accent);
+ }
+
+ .result-card h2 {
+ font-family: var(--font-display);
+ font-size: 28px;
+ margin-bottom: 16px;
+ color: var(--accent);
+ }
+
+ .result-card p {
+ font-size: 16px;
+ color: var(--text);
+ margin-bottom: 24px;
+ }
+
+ .share {
+ font-size: 14px;
+ letter-spacing: 0.15em;
+ text-transform: uppercase;
+ color: var(--accent);
+ cursor: pointer;
+ transition: color 0.2s var(--ease);
+ }
+
+ .share:hover {
+ color: #b0472e;
+ }
+
+ .fade-up {
+ animation: fadeUp var(--fade-up) var(--ease) both;
+ }
+
+ @keyframes fadeUp {
+ from {
+ opacity: 0;
+ transform: translateY(28px);
+ }
+ to {
+ opacity: 1;
+ transform: translateY(0);
+ }
+ }
+ </style>
+</head>
+<body>
+ <header>DESIGNER WALLCOVERINGS</header>
+ <main>
+ <div class="bracket" id="bracket">
+ <div class="matchup fade-up" data-round="quarter" data-index="0">
+ <div class="swatch"></div>
+ <div class="swatch"></div>
+ <button class="button" onclick="selectWinner(0)">SELECT WINNER</button>
+ </div>
+ <div class="matchup fade-up" data-round="quarter" data-index="1">
+ <div class="swatch"></div>
+ <div class="swatch"></div>
+ <button class="button" onclick="selectWinner(1)">SELECT WINNER</button>
+ </div>
+ <div class="matchup fade-up" data-round="quarter" data-index="2">
+ <div class="swatch"></div>
+ <div class="swatch"></div>
+ <button class="button" onclick="selectWinner(2)">SELECT WINNER</button>
+ </div>
+ <div class="matchup fade-up" data-round="quarter" data-index="3">
+ <div class="swatch"></div>
+ <div class="swatch"></div>
+ <button class="button" onclick="selectWinner(3)">SELECT WINNER</button>
+ </div>
+ <div class="matchup fade-up" data-round="semi" data-index="0">
+ <div class="swatch"></div>
+ <div class="swatch"></div>
+ <button class="button" onclick="selectWinner(4)">SELECT WINNER</button>
+ </div>
+ <div class="matchup fade-up" data-round="semi" data-index="1">
+ <div class="swatch"></div>
+ <div class="swatch"></div>
+ <button class="button" onclick="selectWinner(5)">SELECT WINNER</button>
+ </div>
+ <div class="matchup fade-up" data-round="final" data-index="0">
+ <div class="swatch"></div>
+ <div class="swatch"></div>
+ <button class="button" onclick="selectWinner(6)">SELECT WINNER</button>
+ </div>
+ <div class="matchup fade-up" data-round="champion" data-index="0">
+ <div class="swatch"></div>
+ <button class="button" onclick="showResult()">SHOW RESULT</button>
+ </div>
+ </div>
+ </main>
+ <div class="overlay" id="overlay">
+ <div class="result-card">
+ <h2>CHAMPION</h2>
+ <p id="champion-text">Grandmillennial</p>
+ <div class="share" onclick="copyToClipboard()">SHARE THIS STYLE SHOWDOWN</div>
+ </div>
+ </div>
+ <script>
+ const brackets = document.querySelectorAll('.matchup');
+ const overlay = document.getElementById('overlay');
+ const championText = document.getElementById('champion-text');
+
+ let winners = [];
+
+ function selectWinner(index) {
+ const bracket = brackets[index];
+ if (!winners[index]) {
+ winners[index] = 0;
+ }
+ winners[index] = (winners[index] + 1) % 2;
+ bracket.querySelector('.button').textContent = winners[index] ? 'SELECT WINNER' : 'SELECT WINNER';
+ advanceRound();
+ }
+
+ function advanceRound() {
+ let currentRound = 'quarter';
+ let nextRound = 'semi';
+ let nextBracketIndex = 0;
+
+ for (let i = 0; i < brackets.length; i++) {
+ const bracket = brackets[i];
+ const round = bracket.getAttribute('data-round');
+ if (round === currentRound) {
+ const winnerIndex = winners[i];
+ if (winnerIndex !== undefined && winnerIndex !== null) {
+ const nextBracket = brackets[nextBracketIndex];
+ if (nextBracket.getAttribute('data-round') === nextRound) {
+ nextBracket.querySelector('.swatch').style.backgroundImage = bracket.querySelectorAll('.swatch')[winnerIndex].style.backgroundImage;
+ nextBracket.querySelector('.swatch').style.backgroundImage = bracket.querySelectorAll('.swatch')[winnerIndex].style.backgroundImage;
+ nextBracketIndex++;
+ }
+ }
+ }
+ }
+
+ if (nextBracketIndex === 2) {
+ currentRound = 'semi';
+ nextRound = 'final';
+ nextBracketIndex = 0;
+ }
+
+ if (nextBracketIndex === 2) {
+ currentRound = 'final';
+ nextRound = 'champion';
+ nextBracketIndex = 0;
+ }
+ }
+
+ function showResult() {
+ overlay.classList.add('show');
+ championText.textContent = 'Grandmillennial';
+ }
+
+ function copyToClipboard() {
+ navigator.clipboard.writeText(window.location.href).then(() => {
+ alert('Result copied to clipboard!');
+ });
+ }
+ </script>
+</body>
+</html>
\ No newline at end of file
diff --git a/data/artifacts/2b11fe341ffd/qwen3-14b.png b/data/artifacts/2b11fe341ffd/qwen3-14b.png
new file mode 100644
index 0000000..61459eb
Binary files /dev/null and b/data/artifacts/2b11fe341ffd/qwen3-14b.png differ
diff --git a/data/artifacts/5caa8f05b5a8/qwen25-7b.html b/data/artifacts/5caa8f05b5a8/qwen25-7b.html
new file mode 100644
index 0000000..f17499a
--- /dev/null
+++ b/data/artifacts/5caa8f05b5a8/qwen25-7b.html
@@ -0,0 +1,234 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+<meta charset="UTF-8">
+<meta name="viewport" content="width=device-width, initial-scale=1.0">
+<title>DESIGNER WALLCOVERINGS - What's Your Style?</title>
+<style>
+:root {
+ --bg: #0d0d0f;
+ --surface: #17171c;
+ --text: #f5f2ea;
+ --muted: #8a8578;
+ --accent: #c9a961;
+ --line: 1px solid var(--text);
+ --shadow-card: 0 8px 24px rgba(0, 0, 0, .12);
+ --shadow-hover: 0 16px 48px rgba(0, 0, 0, .18);
+ --ease: cubic-bezier(.22,1,.36,1);
+}
+
+body {
+ background-color: var(--bg);
+ color: var(--text);
+ font-family: 'Didot', 'Bodoni MT', 'Playfair Display', Georgia, serif;
+ margin: 0;
+ padding: 0;
+ display: grid;
+ place-items: center;
+}
+
+header {
+ text-align: left;
+ padding-top: 64px;
+ max-width: 520px;
+}
+
+header span.wordmark {
+ font-size: 50px;
+ letter-spacing: .18em;
+ color: var(--text);
+ margin-bottom: 32px;
+}
+
+h1, h2, h3, p {
+ font-family: -apple-system, 'Segoe UI', 'Helvetica Neue', Arial, sans-serif;
+ line-height: 1.5;
+ letter-spacing: .08em;
+}
+
+h1 {
+ font-size: 48px;
+}
+
+h2 {
+ font-size: 36px;
+}
+
+p {
+ font-size: 16px;
+}
+
+.card {
+ background-color: var(--surface);
+ border-radius: 14px;
+ padding: 32px;
+ margin-bottom: 24px;
+ box-shadow: var(--shadow-card);
+}
+
+.card:hover {
+ box-shadow: var(--shadow-hover);
+}
+
+.result-card {
+ width: 960px;
+ height: 1080px;
+ background-color: var(--surface);
+ display: flex;
+ justify-content: center;
+ align-items: center;
+ border-radius: 14px;
+ box-shadow: 0 24px 72px rgba(0, 0, 0, .15);
+}
+
+.result-card img {
+ width: 960px;
+ height: 1080px;
+ object-fit: cover;
+}
+
+.result-card p {
+ font-size: 24px;
+ color: var(--text);
+ margin-top: 32px;
+ text-align: center;
+}
+
+.shop-button {
+ background-color: var(--accent);
+ color: white;
+ border-radius: 6px;
+ padding: 12px 24px;
+ font-size: 18px;
+ cursor: pointer;
+ transition: transform .3s ease-in-out;
+}
+
+.shop-button:hover {
+ transform: scale(1.05);
+}
+</style>
+</head>
+<body>
+<header>
+ <span class="wordmark">DESIGNER WALLCOVERINGS</span>
+</header>
+
+<h1>What's Your Wallcovering Style?</h1>
+
+<section>
+ <div class="card" id="question-1">
+ <p>Do you prefer a bold and vibrant design or something more subtle?</p>
+ <div class="answers">
+ <button class="answer">Bold & Vibrant</button>
+ <button class="answer">Subtle & Elegant</button>
+ </div>
+ </div>
+
+ <div class="card" id="question-2">
+ <p>How do you feel about patterns that are geometric in nature?</p>
+ <div class="answers">
+ <button class="answer">Love Geometric Patterns</button>
+ <button class="answer">Avoid Geometric Patterns</button>
+ </div>
+ </div>
+
+ <div class="card" id="question-3">
+ <p>Do you like to mix and match different patterns or stick to one?</p>
+ <div class="answers">
+ <button class="answer">Mix & Match</button>
+ <button class="answer">Stick to One</button>
+ </div>
+ </div>
+
+ <div class="card" id="question-4">
+ <p>How do you feel about using a lot of colors in your design?</p>
+ <div class="answers">
+ <button class="answer">Love Many Colors</button>
+ <button class="answer">Prefers Fewer Colors</button>
+ </div>
+ </div>
+
+ <div class="card" id="question-5">
+ <p>Do you prefer a timeless and classic look or something more modern?</p>
+ <div class="answers">
+ <button class="answer">Timeless & Classic</button>
+ <button class="answer">Modern & Contemporary</button>
+ </div>
+ </div>
+</section>
+
+<button id="result-button" class="shop-button">See Your Result</button>
+
+<script>
+const answers = {
+ 'Bold & Vibrant': 1,
+ 'Subtle & Elegant': -1,
+ 'Love Geometric Patterns': 1,
+ 'Avoid Geometric Patterns': -1,
+ 'Mix & Match': 1,
+ 'Stick to One': -1,
+ 'Love Many Colors': 1,
+ 'Prefers Fewer Colors': -1,
+ 'Timeless & Classic': 1,
+ 'Modern & Contemporary': -1
+};
+
+let score = {
+ traditional: 0,
+ modern: 0,
+ bohemian: 0,
+ artDeco: 0
+};
+
+const questions = document.querySelectorAll('.card');
+questions.forEach(q => q.addEventListener('click', handleAnswer));
+
+function handleAnswer(e) {
+ const answerText = e.target.textContent;
+ const scoreChange = answers[answerText];
+ if (scoreChange) {
+ Object.keys(score).forEach(style => score[style] += scoreChange);
+ }
+}
+
+document.getElementById('result-button').addEventListener('click', () => {
+ let resultStyle;
+ if (score.traditional > score.modern && score.traditional > score.bohemian && score.traditional > score.artDeco) {
+ resultStyle = 'traditional';
+ } else if (score.modern > score.traditional && score.modern > score.bohemian && score.modern > score.artDeco) {
+ resultStyle = 'modern';
+ } else if (score.bohemian > score.traditional && score.bohemian > score.modern && score.bohemian > score.artDeco) {
+ resultStyle = 'bohemian';
+ } else {
+ resultStyle = 'artDeco';
+ }
+
+ showResult(resultStyle);
+});
+
+function showResult(style) {
+ const resultCard = document.createElement('div');
+ resultCard.className = 'result-card';
+
+ if (style === 'traditional') {
+ resultCard.style.backgroundImage = `linear-gradient(to bottom, var(--accent), var(--accent))`;
+ } else if (style === 'modern') {
+ resultCard.style.backgroundImage = `linear-gradient(135deg, var(--accent) 0%, rgba(255, 246, 246, 0.9) 100%)`;
+ } else if (style === 'bohemian') {
+ resultCard.style.backgroundImage = `linear-gradient(to bottom, var(--text), var(--text))`;
+ } else {
+ resultCard.style.backgroundImage = `linear-gradient(135deg, var(--accent) 25%, rgba(255, 246, 246, 0.9) 75%)`;
+ }
+
+ resultCard.innerHTML = `
+ <img src="" alt="Style Image">
+ <p>Your Wallcovering Style is ${style}.</p>
+ <button class="shop-button">Shop this style</button>
+ `;
+
+ document.body.appendChild(resultCard);
+}
+</script>
+</body>
+</html>
\ No newline at end of file
diff --git a/data/artifacts/5caa8f05b5a8/qwen25-7b.png b/data/artifacts/5caa8f05b5a8/qwen25-7b.png
new file mode 100644
index 0000000..83f3255
Binary files /dev/null and b/data/artifacts/5caa8f05b5a8/qwen25-7b.png differ
diff --git a/data/challenges.json b/data/challenges.json
index 45133d9..c4c5015 100644
--- a/data/challenges.json
+++ b/data/challenges.json
@@ -1598,7 +1598,14 @@
"started_at": "2026-07-23T13:33:02.883Z",
"finished_at": "2026-07-23T13:35:52.635Z",
"bytes": 11851,
- "thumb": true
+ "thumb": true,
+ "aiScore": 6.5,
+ "aiReason": "The visual quality is good but the grid animation and sun pulsing are not fully developed.",
+ "aiScores": {
+ "qwen2.5vl:7b": 7,
+ "minicpm-v:latest": 6
+ },
+ "aiSpread": 1
},
{
"model": "gemma3-12b",
@@ -30371,21 +30378,23 @@
"runs": [
{
"model": "qwen3-14b",
- "status": "queued",
+ "status": "done",
"error": null,
- "seconds": null,
- "cost": null,
- "started_at": null,
- "finished_at": null,
- "queued_at": "2026-07-26T01:05:49.465Z"
+ "seconds": 70,
+ "cost": 0,
+ "started_at": "2026-07-26T01:06:12.355Z",
+ "finished_at": "2026-07-26T01:07:22.649Z",
+ "queued_at": "2026-07-26T01:05:49.465Z",
+ "bytes": 9732,
+ "thumb": true
},
{
"model": "gemma3-12b",
- "status": "queued",
+ "status": "running",
"error": null,
"seconds": null,
"cost": null,
- "started_at": null,
+ "started_at": "2026-07-26T01:07:22.665Z",
"finished_at": null,
"queued_at": "2026-07-26T01:05:49.477Z"
},
@@ -30401,13 +30410,15 @@
},
{
"model": "qwen25-7b",
- "status": "running",
+ "status": "done",
"error": null,
- "seconds": null,
- "cost": null,
+ "seconds": 46,
+ "cost": 0,
"started_at": "2026-07-26T01:05:49.503Z",
- "finished_at": null,
- "queued_at": "2026-07-26T01:05:49.489Z"
+ "finished_at": "2026-07-26T01:06:35.386Z",
+ "queued_at": "2026-07-26T01:05:49.489Z",
+ "bytes": 5507,
+ "thumb": true
},
{
"model": "hf-qwen-coder-32b",
@@ -30472,13 +30483,15 @@
},
{
"model": "qwen25-7b",
- "status": "queued",
+ "status": "done",
"error": null,
- "seconds": null,
- "cost": null,
- "started_at": null,
- "finished_at": null,
- "queued_at": "2026-07-26T01:05:49.721Z"
+ "seconds": 49,
+ "cost": 0,
+ "started_at": "2026-07-26T01:06:35.400Z",
+ "finished_at": "2026-07-26T01:07:24.072Z",
+ "queued_at": "2026-07-26T01:05:49.721Z",
+ "bytes": 6134,
+ "thumb": true
},
{
"model": "hf-qwen-coder-32b",
← 8100c2e night-loop: cycle 18:05 — judged=700f776cca6a · fired 2 →; F
·
back to Model Arena
·
auto-save: 2026-07-25T18:37:55 (19 files) — data/challenges. f109d9b →