SPB Git

spb/llmindex Public

The discriminative, contamination-resistant, fully transparent LLM ranking — updated live.

TypeScript 77.9% TeX 15.2% Python 3.7% SQL 1.4% JavaScript 1.1% Shell 0.5%
3.1 KB · 90 lines tsx
Raw Blame History
1/**2 * llmindex.io — home: hero + live global leaderboard + efficiency frontier3 * Author:  Simon-Pierre Boucher4 * Contact: contact@spboucher.ai5 * License: Proprietary — © Simon-Pierre Boucher, all rights reserved6 */7import Link from 'next/link';8import { DOMAINS, INDEX_VERSION } from '@llmindex/scoring';9import { LiveLeaderboard, type ApiEntry, type ApiRun } from '@/components/LiveLeaderboard';10import { EfficiencyLive, HomeStats, type EffPoint } from '@/components/EfficiencyLive';11import { getEfficiencyData, getLeaderboard } from '@/lib/data';1213export const revalidate = 300;1415export default async function HomePage() {16  const [data, efficiency] = await Promise.all([getLeaderboard('global'), getEfficiencyData()]);1718  const initialRun: ApiRun | null = data19    ? {20        id: data.run.id,21        kind: data.run.kind,22        status: data.run.status,23        created_at: new Date(data.run.createdAt).toISOString(),24        notes: data.run.notes,25      }26    : null;27  const initialEntries: ApiEntry[] = (data?.entries ?? []).map((e) => ({28    rank: e.rank,29    model: e.slug,30    name: e.name,31    provider: e.provider,32    score: e.score,33    score_low: e.scoreLow,34    score_high: e.scoreHigh,35  }));36  const initialEfficiency: EffPoint[] = efficiency.map((p) => ({37    model: p.slug,38    name: p.name,39    score: p.score,40    cost_per_1k_items: p.costPer1kItems,41    on_frontier: p.onFrontier,42  }));4344  return (45    <div className="space-y-10 sm:space-y-14">46      <section className="space-y-4">47        <h1 className="max-w-3xl text-3xl font-bold leading-tight tracking-tight text-zinc-900 sm:text-4xl">48          The{' '}49          <span className="bg-gradient-to-r from-emerald-600 to-cyan-500 bg-clip-text text-transparent">50            discriminative51          </span>{' '}52          LLM index53        </h1>54        <p className="max-w-3xl text-sm leading-relaxed text-zinc-600 sm:text-base">55          IRT-scored, contamination-resistant rankings on dynamically generated items — with56          confidence intervals, consistency, calibration, and an efficiency frontier. No saturated57          benchmarks, no leaked test sets. Results stream in live as each model finishes its58          evaluation.59        </p>60        <HomeStats61          initialCount={initialEntries.length}62          domains={DOMAINS.length}63          version={INDEX_VERSION}64        />65        <div className="flex flex-wrap gap-2 pt-1">66          {DOMAINS.map((d) => (67            <Link68              key={d}69              href={`/leaderboard/${d}`}70              className="rounded-full border border-zinc-300 px-3 py-1 text-xs capitalize text-zinc-700 transition-colors hover:border-emerald-400 hover:text-emerald-600"71            >72              {d.replaceAll('_', ' ')}73            </Link>74          ))}75        </div>76      </section>7778      <section>79        <LiveLeaderboard80          initialRun={initialRun}81          initialEntries={initialEntries}82          indexVersion={data?.run.indexVersion ?? INDEX_VERSION}83        />84      </section>8586      <EfficiencyLive initial={initialEfficiency} />87    </div>88  );89}90