README / index.html
HassanB4's picture
Fix: hardcode button green bg, add white-space:pre-wrap to citation block
669e3d4 verified
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Haakkim — Arabic LLM Arena</title>
<style>
:root {
--bg: #0b0e14;
--surface: #131720;
--surface2: #1c2132;
--border: #252c42;
--brand: #4ade80;
--brand-dark: #16a34a;
--brand-glow: rgba(74,222,128,0.15);
--text: #e2e8f0;
--muted: #8492b0;
--radius: 14px;
}
* { box-sizing: border-box; margin: 0; padding: 0; }
body {
font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
background: var(--bg);
color: var(--text);
line-height: 1.65;
}
/* ── Hero ──────────────────────────────────────── */
.hero {
background: linear-gradient(175deg, #081008 0%, #0a160c 50%, #0b0e14 100%);
border-bottom: 1px solid var(--border);
padding: 80px 24px 64px;
text-align: center;
position: relative;
overflow: hidden;
}
.hero::before {
content: '';
position: absolute;
top: -80px; left: 50%; transform: translateX(-50%);
width: 600px; height: 400px;
background: radial-gradient(ellipse, rgba(74,222,128,0.18) 0%, transparent 70%);
pointer-events: none;
}
.hero::after {
content: '';
position: absolute;
inset: 0;
background: repeating-linear-gradient(
0deg, transparent, transparent 39px,
rgba(74,222,128,0.025) 40px
);
pointer-events: none;
}
.hero-logo-wrap {
position: relative;
z-index: 1;
margin-bottom: 24px;
}
.hero-logo {
height: 80px;
display: block;
margin: 0 auto;
object-fit: contain;
filter: drop-shadow(0 0 24px rgba(74,222,128,0.35));
}
.hero-logo-fallback {
display: none;
flex-direction: column;
align-items: center;
gap: 4px;
}
.hero-logo-fallback .wordmark {
font-size: 3rem;
font-weight: 900;
letter-spacing: -0.03em;
color: var(--brand);
line-height: 1;
}
.hero-logo-fallback .ar {
font-size: 1.4rem;
color: rgba(74,222,128,0.6);
direction: rtl;
}
.hero-tagline {
position: relative;
z-index: 1;
font-size: 1.05rem;
color: var(--muted);
max-width: 520px;
margin: 0 auto 36px;
}
.hero-badges {
position: relative;
z-index: 1;
display: flex;
gap: 10px;
justify-content: center;
flex-wrap: wrap;
}
.badge {
display: inline-flex;
align-items: center;
gap: 7px;
padding: 9px 20px;
border-radius: 999px;
font-size: 0.88rem;
font-weight: 600;
text-decoration: none;
transition: transform 0.18s, box-shadow 0.18s;
}
.badge:hover { transform: translateY(-2px); }
.badge-primary {
background: #4ade80;
color: #071a0d;
box-shadow: 0 0 20px rgba(74,222,128,0.3);
}
.badge-primary:hover { background: #22c55e; box-shadow: 0 4px 30px rgba(74,222,128,0.5); }
.badge-outline {
background: rgba(255,255,255,0.04);
color: var(--text);
border: 1px solid var(--border);
}
.badge-outline:hover { border-color: var(--brand); color: var(--brand); }
.badge-dataset {
background: rgba(74,222,128,0.1);
color: var(--brand);
border: 1px solid rgba(74,222,128,0.25);
}
.badge-dataset:hover { background: rgba(74,222,128,0.18); }
/* ── Layout ────────────────────────────────────── */
.wrap { max-width: 1080px; margin: 0 auto; padding: 0 24px; }
section {
padding: 64px 0;
border-bottom: 1px solid var(--border);
}
section:last-child { border-bottom: none; }
.s-label {
font-size: 0.7rem;
font-weight: 700;
letter-spacing: 0.12em;
text-transform: uppercase;
color: var(--brand);
margin-bottom: 8px;
}
.s-title {
font-size: 1.6rem;
font-weight: 800;
color: var(--text);
margin-bottom: 6px;
letter-spacing: -0.02em;
}
.s-sub {
font-size: 0.9rem;
color: var(--muted);
margin-bottom: 36px;
max-width: 600px;
}
/* ── Evaluation mode cards ─────────────────────── */
.mode-grid {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(270px, 1fr));
gap: 16px;
}
.mode-card {
background: var(--surface);
border: 1px solid var(--border);
border-radius: var(--radius);
padding: 28px 24px;
transition: border-color 0.2s, transform 0.2s, box-shadow 0.2s;
position: relative;
overflow: hidden;
}
.mode-card::before {
content: '';
position: absolute;
top: 0; left: 0; right: 0;
height: 2px;
background: linear-gradient(90deg, transparent, var(--brand), transparent);
opacity: 0;
transition: opacity 0.2s;
}
.mode-card:hover { border-color: rgba(74,222,128,0.4); transform: translateY(-3px); box-shadow: 0 8px 32px rgba(0,0,0,0.3); }
.mode-card:hover::before { opacity: 1; }
.mode-icon { font-size: 1.6rem; margin-bottom: 14px; }
.mode-card h3 { font-size: 1rem; font-weight: 700; margin-bottom: 8px; }
.mode-card p { font-size: 0.85rem; color: var(--muted); margin-bottom: 16px; line-height: 1.6; }
.tag {
display: inline-flex;
align-items: center;
gap: 5px;
padding: 4px 12px;
border-radius: 999px;
font-size: 0.73rem;
font-weight: 700;
}
.tag-yes { background: rgba(74,222,128,0.12); color: var(--brand); border: 1px solid rgba(74,222,128,0.25); }
.tag-no { background: rgba(100,116,139,0.1); color: var(--muted); border: 1px solid var(--border); }
/* ── Dataset callout ───────────────────────────── */
.ds-callout {
background: linear-gradient(135deg, rgba(74,222,128,0.07), rgba(74,222,128,0.02));
border: 1px solid rgba(74,222,128,0.22);
border-radius: var(--radius);
padding: 32px 36px;
display: flex;
align-items: center;
gap: 28px;
flex-wrap: wrap;
}
.ds-icon { font-size: 2.8rem; flex-shrink: 0; }
.ds-body { flex: 1; min-width: 200px; }
.ds-body h3 { font-size: 1.05rem; font-weight: 700; margin-bottom: 5px; }
.ds-body p { font-size: 0.85rem; color: var(--muted); }
.ds-meta {
display: flex;
gap: 10px;
flex-wrap: wrap;
margin-top: 12px;
}
.ds-pill {
background: var(--surface2);
border: 1px solid var(--border);
border-radius: 999px;
padding: 3px 12px;
font-size: 0.75rem;
color: var(--muted);
}
/* ── Team ──────────────────────────────────────── */
.team-grid {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
gap: 16px;
}
.team-card {
background: var(--surface);
border: 1px solid var(--border);
border-radius: var(--radius);
padding: 32px 24px 24px;
text-align: center;
transition: border-color 0.2s, transform 0.2s;
display: flex;
flex-direction: column;
align-items: center;
gap: 4px;
}
.team-card:hover { border-color: rgba(74,222,128,0.35); transform: translateY(-2px); }
.avatar {
width: 64px;
height: 64px;
border-radius: 50%;
background: linear-gradient(135deg, #1a3a25, #0f2018);
border: 2px solid rgba(74,222,128,0.3);
display: flex;
align-items: center;
justify-content: center;
font-size: 1.1rem;
font-weight: 800;
color: var(--brand);
margin-bottom: 14px;
letter-spacing: 0.02em;
}
.team-name { font-size: 1rem; font-weight: 700; }
.team-role {
font-size: 0.7rem;
font-weight: 700;
letter-spacing: 0.1em;
text-transform: uppercase;
color: var(--brand);
margin-top: 2px;
}
.team-affil { font-size: 0.78rem; color: var(--muted); margin-top: 2px; margin-bottom: 14px; }
.team-email {
display: inline-flex;
align-items: center;
gap: 5px;
font-size: 0.76rem;
color: var(--muted);
text-decoration: none;
border: 1px solid var(--border);
border-radius: 999px;
padding: 5px 14px;
transition: border-color 0.15s, color 0.15s;
}
.team-email:hover { border-color: var(--brand); color: var(--brand); }
/* ── Citation ──────────────────────────────────── */
.cite-block {
background: #131720;
border: 1px solid #252c42;
border-radius: 14px;
padding: 24px 28px;
font-family: 'SFMono-Regular', 'Fira Code', Consolas, monospace;
font-size: 0.8rem;
line-height: 1.8;
color: #8492b0;
overflow-x: auto;
white-space: pre-wrap;
}
.cite-block .k { color: #c084fc; }
.cite-block .v { color: #86efac; }
.cite-block .p { color: #8492b0; }
/* ── Footer ────────────────────────────────────── */
footer {
padding: 32px 24px;
text-align: center;
font-size: 0.8rem;
color: var(--muted);
border-top: 1px solid var(--border);
}
footer a { color: var(--brand); text-decoration: none; }
footer a:hover { text-decoration: underline; }
@media (max-width: 600px) {
.hero { padding: 56px 16px 48px; }
.ds-callout { padding: 22px 20px; }
}
</style>
</head>
<body>
<!-- HERO -->
<div class="hero">
<div class="hero-logo-wrap">
<img
src="https://huggingface.co/spaces/Haakkim/README/resolve/main/haakkim-logo-withname.png"
alt="Haakkim"
class="hero-logo"
onerror="this.style.display='none'; document.querySelector('.hero-logo-fallback').style.display='flex';"
/>
<div class="hero-logo-fallback">
<div class="wordmark">Haakkim</div>
<div class="ar">حَكِّم</div>
</div>
</div>
<p class="hero-tagline">
An open arena-style human preference evaluation platform for Arabic large language models,
covering 11 dialect varieties and ranked by a statistically rigorous Bradley–Terry model.
</p>
<div class="hero-badges">
<a href="https://haakkim.tech" class="badge badge-primary">🌐 Live Platform</a>
<a href="https://haakkim.tech/#leaderboard" class="badge badge-outline">🏆 Leaderboard</a>
<a href="https://huggingface.co/datasets/Haakkim/Haakkim-1.0v" class="badge badge-dataset">📦 Dataset v1.0</a>
</div>
</div>
<div class="wrap">
<!-- EVALUATION MODES -->
<section>
<div class="s-label">How It Works</div>
<div class="s-title">Evaluation Modes</div>
<div class="s-sub">Three ways to compare Arabic LLMs — only Ranked Arena feeds the official leaderboard.</div>
<div class="mode-grid">
<div class="mode-card">
<div class="mode-icon">⚔️</div>
<h3>Ranked Arena</h3>
<p>Random model pairing, single-turn MSA, matched system instruction. The only mode that feeds the official Bradley–Terry leaderboard.</p>
<span class="tag tag-yes">✓ BT Leaderboard</span>
</div>
<div class="mode-card">
<div class="mode-icon">↔️</div>
<h3>Side-by-Side</h3>
<p>User-selected model pair, any dialect. Useful for targeted comparisons — excluded from ranked scoring to prevent selection bias.</p>
<span class="tag tag-no">Win-rate only</span>
</div>
<div class="mode-card">
<div class="mode-icon"></div>
<h3>10 Questions</h3>
<p>Fixed Arabic prompt pool, any dialect. Provides consistent benchmarking within a curated question set.</p>
<span class="tag tag-no">Win-rate only</span>
</div>
</div>
</section>
<!-- DATASET -->
<section>
<div class="s-label">Open Data</div>
<div class="s-title">Battle Dataset</div>
<div class="s-sub">First public release of Haakkim battle data — fully open, PII-scrubbed, ready to use.</div>
<div class="ds-callout">
<div class="ds-icon">📦</div>
<div class="ds-body">
<h3>Haakkim / Haakkim-1.0v</h3>
<p>
Battle records covering all 11 dialect varieties and all 3 evaluation modes.
Includes full conversation transcripts, sampling weights, and category annotations.
</p>
<div class="ds-meta">
<span class="ds-pill">1,273 battles</span>
<span class="ds-pill">67 models</span>
<span class="ds-pill">11 dialects</span>
<span class="ds-pill">CC BY 4.0</span>
<span class="ds-pill">Parquet · PII-scrubbed</span>
</div>
</div>
<a href="https://huggingface.co/datasets/Haakkim/Haakkim-1.0v" class="badge badge-dataset" style="white-space:nowrap;">View Dataset →</a>
</div>
</section>
<!-- TEAM -->
<section>
<div class="s-label">People</div>
<div class="s-title">Team</div>
<div class="s-sub">College of Computing, Umm Al-Qura University — Mecca, Saudi Arabia</div>
<div class="team-grid">
<div class="team-card">
<div class="avatar">MM</div>
<div class="team-name">Dr. Mourad Mars</div>
<div class="team-role">Principal Investigator</div>
<div class="team-affil">Umm Al-Qura University</div>
<a href="mailto:msmars@uqu.edu.sa" class="team-email">✉ msmars@uqu.edu.sa</a>
</div>
<div class="team-card">
<div class="avatar">HB</div>
<div class="team-name">Hassan Barmandah</div>
<div class="team-role">AI Researcher</div>
<div class="team-affil">Umm Al-Qura University</div>
<a href="mailto:hassanhbarmandah@gmail.com" class="team-email">✉ hassanhbarmandah@gmail.com</a>
</div>
<div class="team-card">
<div class="avatar">AA</div>
<div class="team-name">Abdulrhman Alassaf</div>
<div class="team-role">Software Engineer</div>
<div class="team-affil">Umm Al-Qura University</div>
<a href="mailto:aaalassaf@outlook.com" class="team-email">✉ aaalassaf@outlook.com</a>
</div>
</div>
</section>
<!-- CITATION -->
<section>
<div class="s-label">Research</div>
<div class="s-title">Citation</div>
<div class="s-sub">If you use Haakkim or this dataset in your research, please cite:</div>
<div class="cite-block"><span class="k">@misc</span><span class="p">{</span>mars2026haakkim<span class="p">,</span>
<span class="k">title</span> <span class="p">=</span> <span class="v">{Haakkim: An Arena-Style Human Preference Evaluation Platform for Arabic {LLMs}}</span><span class="p">,</span>
<span class="k">author</span> <span class="p">=</span> <span class="v">{Mars, Mourad and Barmandah, Hassan and Alassaf, Abdulrhman}</span><span class="p">,</span>
<span class="k">year</span> <span class="p">=</span> <span class="v">{2026}</span><span class="p">,</span>
<span class="k">howpublished</span> <span class="p">=</span> <span class="v">{\url{https://huggingface.co/datasets/Haakkim/Haakkim-1.0v}}</span><span class="p">,</span>
<span class="k">note</span> <span class="p">=</span> <span class="v">{College of Computing, Umm Al-Qura University, Mecca, Saudi Arabia}</span>
<span class="p">}</span></div>
</section>
</div>
<footer>
<a href="https://haakkim.tech">haakkim.tech</a> &nbsp;·&nbsp;
<a href="https://haakkim.tech/#leaderboard">Leaderboard</a> &nbsp;·&nbsp;
<a href="https://huggingface.co/datasets/Haakkim/Haakkim-1.0v">Dataset</a>
<br><br>
College of Computing, Umm Al-Qura University · Mecca, Saudi Arabia · CC BY 4.0
</footer>
</body>
</html>