SPB Git forge

spb/ai-atlas

Public
41commits 1branches 0releases
4.6 MBsize
maindefault branch
12 days agolast push
HTML 77.2% TypeScript 10.5% Python 9.6% JavaScript 2.5%
5.5 KB · 80 lines tsx
Raw Blame History
1import type { Metadata } from 'next';2import Link from 'next/link';3import { LogoMark } from '@/components/brand/logo';4import { Container, PageHeader, Section, Stat, StatGrid } from '@/components/ui/section';5import { api, safe } from '@/lib/api';6import { fmtBytes, fmtDate, fmtInt } from '@/lib/format';7import { AUTHOR_NAME, CONTACT_EMAIL, HOST_NAME, HOST_URL, routes, SITE_URL } from '@/lib/site';89export const metadata: Metadata = {10  title: 'About AI Atlas',11  description: 'What AI Atlas is: a temporal knowledge graph of the AI ecosystem with field-level provenance and a permanent archive of every source document. Built by Simon-Pierre Boucher, hosted on MacLustr.',12  alternates: { canonical: '/about' },13};14export const revalidate = 600;1516const PILLARS = [17  { title: 'Temporal knowledge graph', text: 'Entities (models, organizations, papers, providers, benchmarks, hardware, frameworks, datasets, licences) and their relations form one graph. Every claim carries a validity interval: the atlas can be read as of any past date, and two dates can be diffed.' },18  { title: 'Field-level provenance', text: 'Every value answers who said it (source and tier), when (observation time), where (the exact URL) and how it was extracted (deterministic parser or local LLM, with confidence). Conflicts are stored side by side and flagged — never averaged.' },19  { title: 'Permanent archive', text: 'Each source document is snapshotted and kept, content-addressed. A better parser re-reads the archive instead of re-crawling; a fact can always be traced back to the page that stated it.' },20];2122export default async function AboutPage() {23  const stats = await safe(api.stats());24  return (25    <Container>26      <PageHeader eyebrow="About" title="A map of the AI ecosystem you can audit" lede="AI Atlas is the temporal knowledge graph of the AI ecosystem: models, organizations, research, providers and pricing, benchmarks, hardware, frameworks and datasets — continuously reconstructed from primary sources, with the provenance of every fact and a history that is never discarded." aside={<LogoMark size={64} />} />27      <div className="prose-atlas max-w-3xl text-[15px] leading-relaxed text-ink-2">28        <p>Think Bloomberg for AI: dense, current, sourced. Think Wikipedia: public, cross-linked, neutral. Think Crunchbase, Hugging Face and Papers With Code: organizations, models and research in one place. AI Atlas is none of these products — it is a dataset with a website and an API as its interfaces. It is not a directory: nothing here is typed in by hand, and nothing is overwritten.</p>29        <p>Public information stays public: no login is needed to read anything on this site. Everything is also available through the <Link href={routes.developers()} className="link">public API</Link> at <span className="mono text-ink">{SITE_URL.replace(/^https?:\/\//, '')}/api/v1</span>.</p>30      </div>3132      <Section eyebrow="What it is" title="Three commitments" hairline>33        <ol className="grid gap-6 md:grid-cols-3">34          {PILLARS.map((p, i) => (35            <li key={p.title} className="border-t-2 border-ink pt-3">36              <p className="mono text-xs text-ink-3">0{i + 1}</p>37              <p className="mt-1 font-semibold">{p.title}</p>38              <p className="mt-1.5 text-sm leading-relaxed text-ink-2">{p.text}</p>39            </li>40          ))}41        </ol>42        <p className="mt-5 text-sm text-ink-2">43          Missing data reads “Unavailable”. The only derived numbers (hardware fit) are labelled as estimates. Counters carry their definition. Read the <Link href={routes.methodology()} className="link">methodology</Link>, browse the <Link href={routes.sources()} className="link">sources</Link>, or learn about the <Link href={routes.bot()} className="link">crawler</Link>.44        </p>45      </Section>4647      {stats && (48        <Section eyebrow="Right now" title="The atlas in numbers">49          <StatGrid cols={6}>50            <Stat label="Entities" value={fmtInt(stats.entities_total)} />51            <Stat label="Claims" value={fmtInt(stats.claims)} hint={`${fmtInt(stats.claims_current)} current`} />52            <Stat label="Relations" value={fmtInt(stats.relations)} />53            <Stat label="Change events" value={fmtInt(stats.change_events)} />54            <Stat label="Snapshots archived" value={fmtInt(stats.snapshots)} hint={fmtBytes(stats.archive?.raw_bytes)} />55            <Stat label="Since" value={fmtDate(stats.first_entity_at)} />56          </StatGrid>57        </Section>58      )}5960      <Section eyebrow="Who" title={`Built by ${AUTHOR_NAME}`}>61        <div className="max-w-3xl space-y-3 text-sm leading-relaxed text-ink-2">62          <p>63            AI Atlas is designed, built and operated by <span className="text-ink">{AUTHOR_NAME}</span>. Questions, corrections and source suggestions:{' '}64            <a href={`mailto:${CONTACT_EMAIL}`} className="link">65              {CONTACT_EMAIL}66            </a>67            .68          </p>69          <p>70            It is hosted on <a href={HOST_URL} className="link" rel="noopener noreferrer">{HOST_NAME}</a> (<a href={HOST_URL} className="link" rel="noopener noreferrer">{HOST_URL.replace(/^https?:\/\//, '')}</a>), a private Apple-silicon cluster in Québec that also runs the local LLM factory used for extraction — no data leaves the cluster for third-party model APIs.71          </p>72          <p className="text-xs text-ink-3">73            Built by {AUTHOR_NAME} · {CONTACT_EMAIL} · Hosted on {HOST_NAME} ({HOST_URL.replace(/^https?:\/\//, '')})74          </p>75        </div>76      </Section>77    </Container>78  );79}80