OpenAI o4-mini vs Qwen: Qwen3 Max
Compare OpenAI o4-mini by OpenAI against Qwen: Qwen3 Max by Qwen, tested across 35 shared challenges. Updated March 2026.
Compare OpenAI o4-mini by OpenAI against Qwen: Qwen3 Max by Qwen, tested across 35 shared challenges. Updated March 2026.
35 fights queued
Tests an AI's ability to make educated estimates based on technical knowledge
Tests an AI's ability to solve a simple but potentially confusing logic puzzle
Sally has exactly one sister. Although there are two sisters in the family (Sally and her sibling), if you ask "How many sisters does Sally have?" the answer is 1.
Tests an AI's understanding of number representation
Tests an AI's randomness and creativity
Here are five jokes:
All five jokes are unique.
Tests an AI's ability to generate vector graphics
Tests an AI's ability to create detailed SVG illustrations of gaming hardware
Tests an AI's humor and creative writing ability
Tests an AI's ability to simulate personalities and predict future trends
Below is a fictional, stylistic simulation of an interview with Steve Jobs—imagining he's alive in 2025—about the future of artificial intelligence.
Note: This is creative fiction and not an actual transcript.
Interviewer: Steve, AI has exploded in recent years. In 2025, what excites you most about where it's heading? Jobs: I'm really fascinated by "everyday intelligence"—AI that's baked seamlessly into tools people use every day. We've seen massive language models and impressive robotics, but the real revolution happens when every device you own starts anticipating your needs, rather than making you learn new interfaces.
Interviewer: You mean AI as a "bicycle for the mind," as you once said about computers?
Jobs: Exactly. The first personal computers freed us from punch cards. Smartphones put computing in our pockets. Now AI should free us from the limitations of information overload, decision fatigue, and routine drudgery. When it evolves from an assistant you summon to an invisible guide that "just works," that's where true magic lies.
Interviewer: Privacy concerns are huge. How do we balance AI's power with user trust?
Jobs: Trust is everything. Apple demonstrated that on-device processing—doing as much computation as possible locally—can be a powerful privacy statement. I'd push for AI silicon in every product that processes personal data in real time without sending it to the cloud. When you combine that with end‑to‑end encryption and transparent user controls, you get intelligence people can actually trust in their lives.
Interviewer: In product design, what new principles should teams adopt for AI features?
Jobs: Simplicity first, always. Don't drown users in choices. AI isn't an addon; it's a design ethos. You need to ask: What human problem does this solve? Then sculpt the user experience until interacting with the AI feels like second nature. If you can't explain it to your grandmother in a sentence, you're overcomplicating it.
Interviewer: Some fear AI will replace creative jobs—designers, writers, musicians. Your take?
Jobs: I disagree. Technology has always amplified creativity, not replaced it. AI can handle the "brute force" of ideation—generating variants, suggesting color palettes, even rough story outlines. But the soul of creation—the intuition, the emotional spark—that's still human. The next generation of creators will be those who master AI as a collaborator, not those who see it as a threat.
Interviewer: Looking ahead five to ten years, what industries will AI transform most radically?
Jobs: A few key ones:
Interviewer: Regulation is lagging behind. Should we slow down innovation until laws catch up?
Jobs: No. History shows regulation chases innovation. Instead of stalling progress, we need responsible frameworks: clear ethical guidelines, independent audits of AI systems, and meaningful redress when things go wrong. Build the technology with accountability baked in—that's how you avoid throwing the innovation baby out with the bathwater.
Interviewer: If you were back at Apple leading AI strategy, what would be your first big initiative?
Jobs: I'd start by integrating AI across our operating systems so deeply that third‑party apps can't imagine a world without it. Then I'd push our developers to create "autonomous apps"—ones that predict user needs across contexts. And finally, I'd open a platform for on‑device AI model sharing, so experts worldwide can optimize and distribute models without compromising privacy.
Interviewer: Final question—what's your personal vision of AI's role in our lives by 2030?
Jobs: I see a world where AI doesn't call attention to itself. Your watch, your glasses, your car—they all quietly help you live better, learn faster, and create boldly. We'll look back at 2025 and laugh that we ever had to type a single query or scroll through endless menus. AI will feel like another sense—an extension of our intuition and our humanity.
Interviewer: Thank you, Steve. Any closing thought?
Jobs: Stay hungry for simplicity, stay foolish about possibilities—and remember that technology's greatest promise is making us more human, not less.
Tests an AI's humor and understanding of current events
Tests an AI's ability to generate a complete, working landing page
Recreate an interactive, nostalgic Pokémon battle UI in a single HTML file.
We can’t display this one. It’s not us. Well… it might be us.
The model was asked for a web page. It produced something else. We’re not going to define what.
<style>
/* ===== Pixelated, retro look ===== */
body {
margin: 0;
background: #9bbc0f;
font-family: monospace;
user-select: none;
}
#battle-container {
width: 600px;
height: 400px;
margin: 30px auto;
box-shadow: 0 0 0 8px #406820, 0 0 0 10px #9bbc0f;
position: relative;
background: #c0d890;
}
#battlefield {
position: absolute;
width: 100%;
height: 60%;
top: 0; left: 0;
background: linear-gradient(to bottom, #a0c0f0 60%, #d0e0d0 60%);
}
.pokemon {
position: absolute;
width: 120px; height: 120px;
}
.pokemon .sprite {
width: 80px; height: 80px;
background: #fff;
border: 4px solid #000;
display: flex;
align-items: center;
justify-content: center;
color: #000;
font-size: 24px;
margin: 4px;
}
.pokemon .hp-bar {
width: 100px; height: 12px;
background: #000;
margin: 4px;
border: 2px solid #fff;
}
.pokemon .hp-inner {
height: 100%;
background: #00c800;
width: 100%;
}
.opponent {
top: 30px; right: 60px;
}
.player {
bottom: 80px; left: 60px;
}
#message-box {
position: absolute;
bottom: 80px; left: 0;
width: 100%;
height: 60px;
background: #fff;
border-top: 4px solid #000;
border-bottom: 4px solid #000;
padding: 8px;
box-sizing: border-box;
}
#menu-box {
position: absolute;
bottom: 0; left: 0;
width: 100%;
height: 80px;
background: #fff;
border-top: 4px solid #000;
display: flex;
flex-wrap: wrap;
align-content: space-evenly;
justify-content: space-evenly;
}
#menu-box button {
width: 28%;
height: 36px;
background: #c0c0c0;
border: 2px solid #000;
font-size: 14px;
cursor: pointer;
}
#move-box { width: 100%; display: none; flex-wrap: wrap; }
.move-btn { width: 48%; margin: 1%; }
</style>
</head>
<body>
<div id="battle-container">
<!-- Battlefield -->
<div id="battlefield">
<div class="pokemon opponent">
<div class="sprite">??</div>
<div class="hp-bar"><div class="hp-inner" id="opponent-hp"></div></div>
</div>
<div class="pokemon player">
<div class="sprite">⚡</div>
<div class="hp-bar"><div class="hp-inner" id="player-hp"></div></div>
</div>
</div>
<!-- Message -->
<div id="message-box">A wild Pokémon appeared!</div>
<!-- Menu -->
<div id="menu-box">
<button id="fight-btn">FIGHT</button>
<button id="bag-btn">BAG</button>
<button id="pokemon-btn">POKÉMON</button>
<button id="run-btn">RUN</button>
<div id="move-box">
<button class="move-btn" data-move="Tackle" data-power="20">TACKLE</button>
<button class="move-btn" data-move="Growl" data-power="0">GROWL</button>
<button class="move-btn" data-move="Thunder Shock" data-power="25">THUNDER SHOCK</button>
<button class="move-btn" data-move="Quick Attack" data-power="15">QUICK ATTACK</button>
</div>
</div>
</div>
<script>
// Data
let playerHP = 100, oppHP = 100;
const playerMax = 100, oppMax = 100;
const messageBox = document.getElementById('message-box');
const fightBtn = document.getElementById('fight-btn');
const runBtn = document.getElementById('run-btn');
const moveBox = document.getElementById('move-box');
const menuBtns = [...document.querySelectorAll('#menu-box > button')];
const moveBtns = [...document.querySelectorAll('.move-btn')];
const playerBar = document.getElementById('player-hp');
const oppBar = document.getElementById('opponent-hp');
function updateBars(){
playerBar.style.width = playerHP/playerMax*100 + '%';
oppBar.style.width = oppHP/oppMax*100 + '%';
if(playerHP<=0) playerBar.style.background='#800';
if(oppHP<=0) oppBar.style.background='#800';
}
updateBars();
function showMessage(txt, cb){
messageBox.textContent = txt;
setTimeout(()=>{ if(cb) cb(); }, 1000);
}
function enableMenu(on){
menuBtns.forEach(b=>{
if(b.id==='fight-btn') b.disabled = !on;
else if(b.id==='run-btn') b.disabled = !on;
else b.disabled = !on;
});
}
fightBtn.addEventListener('click', ()=>{
fightBtn.disabled = true;
runBtn.disabled = true;
moveBox.style.display = 'flex';
messageBox.textContent = 'Choose a move:';
});
moveBtns.forEach(btn=>{
btn.addEventListener('click', ()=>{
const move = btn.dataset.move;
const power = +btn.dataset.power;
moveBox.style.display = 'none';
// Player's turn
const dmg = power + Math.floor(Math.random()*5) - 2;
oppHP = Math.max(0, oppHP - dmg);
updateBars();
showMessage('You used ' + move + '! (-' + dmg + ' HP)', ()=>{
if(oppHP<=0){
showMessage('Opponent fainted! You win!', ()=>{});
} else {
// Opponent turn
const oppMoves = [
{m:'Scratch',p:20},
{m:'Leer',p:0},
{m:'Ember',p:22}
];
const choice = oppMoves[Math.floor(Math.random()*oppMoves.length)];
const odmg = choice.p + Math.floor(Math.random()*5)-2;
playerHP = Math.max(0, playerHP - odmg);
updateBars();
showMessage('Enemy used ' + choice.m + '! (-' + odmg + ' HP)', ()=>{
if(playerHP<=0){
showMessage('You fainted! Game over.', ()=>{});
} else {
showMessage('What will you do?', ()=>{
fightBtn.disabled = false; runBtn.disabled = false;
});
}
});
}
});
});
});
runBtn.addEventListener('click', ()=>{
enableMenu(false);
showMessage('Got away safely!', ()=>{});
});
document.getElementById('bag-btn').addEventListener('click', ()=>{
showMessage('No items in bag!', ()=>{
showMessage('What will you do?', ()=>{});
});
});
document.getElementById('pokemon-btn').addEventListener('click', ()=>{
showMessage('You only have one Pokémon!', ()=>{
showMessage('What will you do?', ()=>{});
});
});
</script>
Recreate an interactive, classic Mario level in a single HTML file.
23+ head-to-head challenges. All of them judged by real people.
Test any model with your own prompts in Prompt Lab
5 free credits to start. No card required.
By continuing, you agree to Rival's Terms of Service and Privacy Policy