985 lines
74 KiB
HTML
985 lines
74 KiB
HTML
<!DOCTYPE html>
|
||
<html lang="en" data-theme="dark">
|
||
<head>
|
||
<meta charset="UTF-8">
|
||
<meta name="viewport" content="width=device-width,initial-scale=1.0">
|
||
<title>Inference-X — Intelligence for Everyone</title>
|
||
<meta name="description" content="305KB. Runs on anything. Your AI, your device, your rules. Free forever.">
|
||
<link rel="preconnect" href="https://fonts.googleapis.com">
|
||
<link href="https://fonts.googleapis.com/css2?family=Fraunces:ital,opsz,wght@0,9..144,300;0,9..144,700;0,9..144,900;1,9..144,600&family=JetBrains+Mono:wght@400;500&family=Nunito:wght@400;600;700;800&display=swap" rel="stylesheet">
|
||
<style>
|
||
:root {
|
||
--bg: #0C0A09;
|
||
--bg2: #151210;
|
||
--bg3: #1E1A17;
|
||
--card: #221E1A;
|
||
--border: #2E2825;
|
||
--copper: #C9622A;
|
||
--amber: #F0A030;
|
||
--teal: #2ECCB8;
|
||
--sand: #D9C8B0;
|
||
--text: #EDE0D0;
|
||
--muted: #8A7A6A;
|
||
--green: #4CAF6A;
|
||
--red: #E05050;
|
||
--font: 'Nunito', sans-serif;
|
||
--mono: 'JetBrains Mono', monospace;
|
||
--display: 'Fraunces', serif;
|
||
}
|
||
[data-theme="light"] {
|
||
--bg: #F8F4EF;
|
||
--bg2: #F0EBE3;
|
||
--bg3: #E8E0D5;
|
||
--card: #FFFCF8;
|
||
--border: #D5CCC0;
|
||
--text: #1A1410;
|
||
--muted: #6A5A4A;
|
||
--sand: #4A3A2A;
|
||
}
|
||
*{margin:0;padding:0;box-sizing:border-box}
|
||
html{scroll-behavior:smooth;font-size:16px}
|
||
body{background:var(--bg);color:var(--text);font-family:var(--font);line-height:1.6;overflow-x:hidden}
|
||
|
||
/* GRAIN */
|
||
body::before{content:'';position:fixed;inset:0;pointer-events:none;z-index:9999;opacity:.025;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 512 512' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='4'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}
|
||
|
||
/* NAV */
|
||
nav{position:fixed;top:0;left:0;right:0;z-index:1000;display:flex;align-items:center;justify-content:space-between;padding:.9rem 1.5rem;background:rgba(12,10,9,.88);backdrop-filter:blur(12px);border-bottom:1px solid var(--border)}
|
||
.nav-brand{font-family:var(--display);font-size:1.3rem;font-weight:700;color:var(--copper);letter-spacing:-.02em;text-decoration:none}
|
||
.nav-brand span{color:var(--amber)}
|
||
.nav-right{display:flex;align-items:center;gap:.8rem}
|
||
.nav-links{display:flex;gap:1.2rem;list-style:none}
|
||
.nav-links a{color:var(--muted);text-decoration:none;font-size:.85rem;font-weight:600;transition:color .2s}
|
||
.nav-links a:hover{color:var(--text)}
|
||
#tt{background:none;border:1px solid var(--border);color:var(--muted);cursor:pointer;padding:.35rem .6rem;border-radius:.4rem;font-size:.9rem;transition:all .2s}
|
||
#tt:hover{border-color:var(--amber);color:var(--amber)}
|
||
#lb{background:none;border:1px solid var(--border);color:var(--muted);cursor:pointer;padding:.35rem .6rem;border-radius:.4rem;font-size:.75rem;font-weight:600;font-family:var(--font);transition:all .2s}
|
||
#lb:hover{border-color:var(--teal);color:var(--teal)}
|
||
|
||
/* SECTIONS */
|
||
section{padding:5rem 0;max-width:1100px;margin:0 auto;padding-left:1.5rem;padding-right:1.5rem}
|
||
section.full{max-width:none;padding-left:0;padding-right:0}
|
||
.section-tag{font-size:.72rem;font-weight:800;letter-spacing:.15em;text-transform:uppercase;color:var(--copper);margin-bottom:.8rem}
|
||
h1{font-family:var(--display);font-size:clamp(2.5rem,6vw,5rem);font-weight:900;line-height:1.05;letter-spacing:-.03em}
|
||
h2{font-family:var(--display);font-size:clamp(1.8rem,4vw,3rem);font-weight:700;line-height:1.1;letter-spacing:-.02em}
|
||
h3{font-size:1.1rem;font-weight:700;margin-bottom:.5rem}
|
||
.sub{color:var(--muted);font-size:1rem;margin-top:.8rem;max-width:580px;line-height:1.7}
|
||
|
||
/* HERO */
|
||
#hero{min-height:100vh;display:flex;align-items:center;padding-top:5rem;position:relative;overflow:hidden}
|
||
.hero-glow{position:absolute;width:600px;height:600px;background:radial-gradient(circle,rgba(201,98,42,.15) 0%,transparent 70%);top:-100px;right:-100px;pointer-events:none}
|
||
.hero-glow2{position:absolute;width:400px;height:400px;background:radial-gradient(circle,rgba(46,204,184,.08) 0%,transparent 70%);bottom:0;left:0;pointer-events:none}
|
||
.hero-inner{position:relative;z-index:1;max-width:1100px;margin:0 auto;padding:0 1.5rem;width:100%}
|
||
.hero-eyebrow{display:inline-flex;align-items:center;gap:.5rem;background:var(--bg3);border:1px solid var(--border);border-radius:2rem;padding:.4rem 1rem;margin-bottom:2rem;font-size:.8rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--copper)}
|
||
.hero-eyebrow::before{content:'';width:6px;height:6px;background:var(--teal);border-radius:50%;animation:pulse 2s infinite}
|
||
@keyframes pulse{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(1.5)}}
|
||
.hero-title{font-family:var(--display);font-size:clamp(3rem,7vw,6rem);font-weight:900;line-height:1;letter-spacing:-.03em;margin-bottom:1.5rem}
|
||
.hero-title em{font-style:italic;color:var(--copper)}
|
||
.hero-sub{font-size:1.15rem;color:var(--muted);max-width:540px;line-height:1.7;margin-bottom:2.5rem}
|
||
.hero-stats{display:flex;flex-wrap:wrap;gap:2rem;margin-bottom:3rem}
|
||
.stat{display:flex;flex-direction:column}
|
||
.stat-n{font-family:var(--display);font-size:2.2rem;font-weight:900;color:var(--amber);line-height:1}
|
||
.stat-l{font-size:.78rem;color:var(--muted);font-weight:600;margin-top:.2rem}
|
||
.hero-ctas{display:flex;flex-wrap:wrap;gap:1rem}
|
||
.btn-primary{display:inline-flex;align-items:center;gap:.5rem;background:var(--copper);color:#fff;padding:.8rem 1.6rem;border-radius:.5rem;text-decoration:none;font-weight:800;font-size:.95rem;transition:all .2s;border:2px solid var(--copper)}
|
||
.btn-primary:hover{background:var(--amber);border-color:var(--amber)}
|
||
.btn-secondary{display:inline-flex;align-items:center;gap:.5rem;background:transparent;color:var(--text);padding:.8rem 1.6rem;border-radius:.5rem;text-decoration:none;font-weight:700;font-size:.95rem;border:2px solid var(--border);transition:all .2s}
|
||
.btn-secondary:hover{border-color:var(--copper);color:var(--copper)}
|
||
|
||
/* DISCOVER */
|
||
.disc-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.5rem;margin-top:2.5rem}
|
||
.disc-card{background:var(--card);border:1px solid var(--border);border-radius:.8rem;padding:1.8rem;transition:border-color .3s}
|
||
.disc-card:hover{border-color:var(--copper)}
|
||
.disc-icon{font-size:2.5rem;margin-bottom:1rem;display:block}
|
||
|
||
/* DEVICE GADGET */
|
||
.device-widget{background:var(--card);border:1px solid var(--border);border-radius:1rem;padding:2rem;margin-top:2rem}
|
||
.slider-wrap{margin:1.5rem 0}
|
||
.slider-labels{display:flex;justify-content:space-between;font-size:.75rem;color:var(--muted);margin-bottom:.5rem;font-family:var(--mono)}
|
||
#ramSlider{width:100%;accent-color:var(--copper);height:6px;cursor:pointer}
|
||
.ram-results{margin-top:1.5rem;display:grid;gap:.8rem}
|
||
.ram-item{display:flex;align-items:center;gap:1rem;padding:.8rem 1rem;border-radius:.5rem;border:1px solid var(--border);background:var(--bg2);font-size:.9rem;transition:all .3s}
|
||
.ram-item.active{border-color:var(--teal);background:rgba(46,204,184,.07)}
|
||
.ram-item .ri-icon{font-size:1.4rem;width:2rem;text-align:center}
|
||
.ram-item .ri-name{font-weight:700;flex:1}
|
||
.ram-item .ri-size{font-family:var(--mono);font-size:.78rem;color:var(--muted)}
|
||
.ram-item .ri-speed{font-size:.78rem;color:var(--green);font-weight:700}
|
||
|
||
/* PRIVACY */
|
||
.priv-compare{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;margin-top:2rem}
|
||
@media(max-width:600px){.priv-compare{grid-template-columns:1fr}}
|
||
.priv-card{border-radius:.8rem;padding:1.8rem;border:1px solid var(--border)}
|
||
.priv-cloud{background:linear-gradient(135deg,rgba(224,80,80,.08),transparent);border-color:rgba(224,80,80,.3)}
|
||
.priv-local{background:linear-gradient(135deg,rgba(76,175,106,.08),transparent);border-color:rgba(76,175,106,.3)}
|
||
.priv-title{font-size:1.1rem;font-weight:800;margin-bottom:.8rem;display:flex;align-items:center;gap:.5rem}
|
||
.cloud-dot{width:8px;height:8px;border-radius:50%;background:var(--red);display:inline-block}
|
||
.local-dot{width:8px;height:8px;border-radius:50%;background:var(--green);display:inline-block}
|
||
|
||
/* SIZE VIZ */
|
||
.size-viz{display:flex;align-items:flex-end;gap:.8rem;margin:2rem 0;padding:1.5rem;background:var(--card);border:1px solid var(--border);border-radius:.8rem;overflow:hidden}
|
||
.size-item{display:flex;flex-direction:column;align-items:center;gap:.5rem;font-size:.72rem;color:var(--muted);text-align:center}
|
||
.size-bar{border-radius:.3rem .3rem 0 0;min-width:40px;transition:all .5s}
|
||
.size-item.ix .size-bar{background:var(--copper)}
|
||
.size-item.ix .size-label{color:var(--copper);font-weight:800}
|
||
|
||
/* ENGINE */
|
||
.hw-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:.8rem;margin-top:2rem}
|
||
.hw-chip{background:var(--card);border:1px solid var(--border);border-radius:.5rem;padding:.8rem .6rem;text-align:center;font-size:.78rem;font-weight:700;font-family:var(--mono);transition:all .2s;cursor:default}
|
||
.hw-chip:hover{border-color:var(--copper);color:var(--copper);transform:translateY(-2px)}
|
||
.hw-chip .hw-cat{font-size:.62rem;color:var(--muted);font-weight:400;display:block;margin-top:.2rem}
|
||
.engine-feats{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;margin-top:1.5rem}
|
||
.feat{padding:1.2rem;background:var(--card);border:1px solid var(--border);border-radius:.6rem;font-size:.88rem}
|
||
.feat-name{font-weight:800;margin-bottom:.3rem;color:var(--amber)}
|
||
|
||
/* MODELS */
|
||
.models-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:1rem;margin-top:2rem}
|
||
.model-card{background:var(--card);border:1px solid var(--border);border-radius:.7rem;padding:1.3rem;display:flex;flex-direction:column;gap:.5rem;transition:border-color .2s}
|
||
.model-card:hover{border-color:var(--teal)}
|
||
.model-name{font-family:var(--mono);font-size:.85rem;font-weight:700;color:var(--teal)}
|
||
.model-desc{font-size:.82rem;color:var(--muted);flex:1}
|
||
.model-meta{display:flex;flex-wrap:wrap;gap:.4rem;margin-top:.5rem}
|
||
.model-tag{font-size:.68rem;background:var(--bg3);border:1px solid var(--border);border-radius:.3rem;padding:.15rem .4rem;color:var(--sand);font-family:var(--mono)}
|
||
|
||
/* COST */
|
||
.cost-compare{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;margin-top:2rem}
|
||
@media(max-width:600px){.cost-compare{grid-template-columns:1fr}}
|
||
.cost-card{border-radius:.8rem;padding:2rem;text-align:center}
|
||
.cost-cloud-card{background:var(--bg3);border:1px solid var(--border)}
|
||
.cost-local-card{background:linear-gradient(135deg,rgba(46,204,184,.08),transparent);border:1px solid rgba(46,204,184,.3)}
|
||
.cost-amount{font-family:var(--display);font-size:3.5rem;font-weight:900;line-height:1;margin:1rem 0}
|
||
.cost-cloud-card .cost-amount{color:var(--red)}
|
||
.cost-local-card .cost-amount{color:var(--teal)}
|
||
.cost-sub{font-size:.8rem;color:var(--muted)}
|
||
|
||
/* API */
|
||
.api-box{background:var(--bg2);border:1px solid var(--border);border-radius:.7rem;padding:1.5rem;margin-top:1.5rem;font-family:var(--mono);font-size:.82rem;line-height:1.8;overflow-x:auto}
|
||
.api-box .kw{color:var(--copper)}
|
||
.api-box .str{color:var(--teal)}
|
||
.api-box .cmt{color:var(--muted)}
|
||
.api-endpoints{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:1rem}
|
||
.api-ep{background:var(--card);border:1px solid var(--border);border-radius:.4rem;padding:.4rem .8rem;font-family:var(--mono);font-size:.75rem}
|
||
.ep-get{color:var(--green)}
|
||
.ep-post{color:var(--amber)}
|
||
|
||
/* QUICK START */
|
||
.qs-tabs{display:flex;gap:.5rem;margin-bottom:1.5rem;flex-wrap:wrap}
|
||
.qs-tab{background:none;border:1px solid var(--border);color:var(--muted);cursor:pointer;padding:.5rem 1rem;border-radius:.4rem;font-size:.85rem;font-weight:700;font-family:var(--font);transition:all .2s}
|
||
.qs-tab.active,.qs-tab:hover{border-color:var(--copper);color:var(--copper);background:rgba(201,98,42,.08)}
|
||
.qs-block{display:none}
|
||
.qs-block.active{display:block}
|
||
.step{display:flex;gap:1rem;margin-bottom:1.2rem;align-items:flex-start}
|
||
.step-num{flex-shrink:0;width:32px;height:32px;border-radius:50%;background:var(--copper);color:#fff;font-weight:900;font-size:.85rem;display:flex;align-items:center;justify-content:center;font-family:var(--display)}
|
||
code{background:var(--bg2);border:1px solid var(--border);border-radius:.35rem;padding:.2rem .5rem;font-family:var(--mono);font-size:.83rem;color:var(--teal)}
|
||
pre{background:var(--bg2);border:1px solid var(--border);border-radius:.5rem;padding:1rem;font-family:var(--mono);font-size:.8rem;overflow-x:auto;margin-top:.5rem;line-height:1.7}
|
||
pre .c{color:var(--muted)}
|
||
pre .v{color:var(--teal)}
|
||
pre .s{color:var(--amber)}
|
||
|
||
/* COMMUNITY TOOLS */
|
||
.tools-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:1.2rem;margin-top:2rem}
|
||
.tool-card{background:var(--card);border:1px solid var(--border);border-radius:.8rem;padding:1.5rem;position:relative;transition:all .25s;text-decoration:none;color:inherit;display:block}
|
||
.tool-card:hover{border-color:var(--copper);transform:translateY(-3px)}
|
||
.tool-badge{position:absolute;top:1rem;right:1rem;font-size:.62rem;font-weight:800;padding:.2rem .5rem;border-radius:2rem;font-family:var(--mono)}
|
||
.badge-live{background:rgba(76,175,106,.15);color:var(--green);border:1px solid rgba(76,175,106,.3)}
|
||
.badge-build{background:rgba(240,160,48,.15);color:var(--amber);border:1px solid rgba(240,160,48,.3)}
|
||
.badge-coming{background:var(--bg3);color:var(--muted);border:1px solid var(--border)}
|
||
.tool-icon{font-size:2rem;margin-bottom:.8rem}
|
||
.tool-name{font-weight:800;font-size:.95rem;margin-bottom:.3rem}
|
||
.tool-desc{font-size:.8rem;color:var(--muted);line-height:1.5}
|
||
|
||
/* ORGAN */
|
||
.organ-visual{display:flex;flex-wrap:wrap;gap:1rem;margin:2rem 0;align-items:center;justify-content:center}
|
||
.organ-node{background:var(--card);border:2px solid var(--border);border-radius:50%;width:80px;height:80px;display:flex;align-items:center;justify-content:center;font-size:1.8rem;cursor:pointer;transition:all .3s;position:relative}
|
||
.organ-node:hover{border-color:var(--copper);transform:scale(1.15)}
|
||
.organ-node.glow{border-color:var(--teal);box-shadow:0 0 20px rgba(46,204,184,.3);animation:glow-pulse 2s infinite}
|
||
@keyframes glow-pulse{0%,100%{box-shadow:0 0 20px rgba(46,204,184,.3)}50%{box-shadow:0 0 40px rgba(46,204,184,.5)}}
|
||
.organ-arrow{color:var(--muted);font-size:1.5rem}
|
||
.organ-desc{font-size:.88rem;color:var(--muted);max-width:600px;margin:0 auto;text-align:center;margin-top:1rem;line-height:1.7}
|
||
|
||
/* KHETTARA */
|
||
#khettara{background:linear-gradient(180deg,transparent,rgba(201,98,42,.05),transparent)}
|
||
.khettara-quote{font-family:var(--display);font-size:clamp(1.3rem,3vw,2rem);font-style:italic;color:var(--sand);line-height:1.5;max-width:700px;position:relative;padding:2rem}
|
||
.khettara-quote::before{content:'"';font-size:8rem;color:var(--copper);opacity:.15;position:absolute;top:-1rem;left:0;line-height:1;font-family:var(--display)}
|
||
|
||
/* HARDWARE SCOUT */
|
||
.scout-table{width:100%;border-collapse:collapse;margin-top:1.5rem;font-size:.85rem}
|
||
.scout-table th{text-align:left;padding:.8rem;border-bottom:2px solid var(--border);color:var(--muted);font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;font-weight:700}
|
||
.scout-table td{padding:.8rem;border-bottom:1px solid var(--border)}
|
||
.scout-table tr:last-child td{border-bottom:none}
|
||
.backend-chip{font-family:var(--mono);font-size:.72rem;background:var(--bg3);border:1px solid var(--border);border-radius:.3rem;padding:.15rem .4rem}
|
||
.load-bar{background:var(--bg3);border-radius:2rem;height:6px;overflow:hidden;width:80px;display:inline-block}
|
||
.load-fill{background:linear-gradient(90deg,var(--teal),var(--amber));height:100%;border-radius:2rem;transition:width .5s}
|
||
.live-dot{width:7px;height:7px;background:var(--teal);border-radius:50%;display:inline-block;margin-right:.4rem;animation:pulse 2s infinite}
|
||
|
||
/* DONATE */
|
||
.donate-widget{background:var(--card);border:1px solid var(--border);border-radius:1rem;padding:2rem;margin-top:2rem}
|
||
.donate-amounts{display:flex;flex-wrap:wrap;gap:.8rem;margin-bottom:1.5rem}
|
||
.donate-btn{background:var(--bg3);border:2px solid var(--border);border-radius:.5rem;padding:.7rem 1.3rem;cursor:pointer;font-weight:800;font-size:.9rem;font-family:var(--font);color:var(--muted);transition:all .2s}
|
||
.donate-btn:hover,.donate-btn.active{border-color:var(--copper);color:var(--copper);background:rgba(201,98,42,.08)}
|
||
.costs-breakdown{display:grid;gap:.5rem;margin-bottom:1.5rem}
|
||
.cost-line{display:flex;justify-content:space-between;font-size:.85rem;padding:.5rem .8rem;background:var(--bg2);border-radius:.4rem}
|
||
.cost-line span:last-child{font-family:var(--mono);color:var(--amber)}
|
||
.cost-total{border-top:2px solid var(--border);margin-top:.5rem;padding-top:.5rem;font-weight:800}
|
||
|
||
/* CRATONS */
|
||
.cratons-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:1rem;margin-top:2rem}
|
||
.craton-card{background:var(--card);border:1px solid var(--border);border-radius:.7rem;padding:1.2rem;transition:all .2s}
|
||
.craton-card.active{border-color:var(--copper);background:rgba(201,98,42,.05)}
|
||
.craton-card:not(.active):hover{border-color:var(--border);opacity:.8}
|
||
.craton-age{font-family:var(--mono);font-size:.68rem;color:var(--muted);margin-bottom:.3rem}
|
||
.craton-name{font-weight:800;margin-bottom:.2rem}
|
||
.craton-region{font-size:.78rem;color:var(--muted)}
|
||
.craton-status{font-size:.7rem;font-weight:800;margin-top:.5rem}
|
||
.craton-card.active .craton-status{color:var(--copper)}
|
||
.craton-card:not(.active) .craton-status{color:var(--teal);cursor:pointer;text-decoration:underline}
|
||
|
||
/* PRICING */
|
||
.pricing-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1.5rem;margin-top:2rem}
|
||
.pricing-card{background:var(--card);border:1px solid var(--border);border-radius:.8rem;padding:2rem;display:flex;flex-direction:column;gap:.8rem}
|
||
.pricing-card.featured{border-color:var(--copper)}
|
||
.pricing-tier{font-weight:900;font-size:1.1rem}
|
||
.pricing-who{font-size:.85rem;color:var(--muted);line-height:1.5;flex:1}
|
||
.pricing-price{font-family:var(--display);font-size:2rem;font-weight:900}
|
||
.pricing-price.free{color:var(--teal)}
|
||
.pricing-price.fair{color:var(--amber)}
|
||
.pricing-price.ind{color:var(--copper)}
|
||
|
||
/* FOOTER */
|
||
footer{background:var(--bg2);border-top:1px solid var(--border);padding:3rem 1.5rem;margin-top:4rem}
|
||
.footer-inner{max-width:1100px;margin:0 auto;display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:3rem}
|
||
@media(max-width:700px){.footer-inner{grid-template-columns:1fr 1fr}}
|
||
.footer-brand{font-family:var(--display);font-size:1.4rem;font-weight:900;color:var(--copper);margin-bottom:.8rem}
|
||
.footer-tagline{font-size:.85rem;color:var(--muted);line-height:1.6}
|
||
.footer-col h4{font-size:.75rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin-bottom:.8rem}
|
||
.footer-col a{display:block;color:var(--muted);text-decoration:none;font-size:.85rem;margin-bottom:.4rem;transition:color .2s}
|
||
.footer-col a:hover{color:var(--text)}
|
||
.footer-bottom{max-width:1100px;margin:2rem auto 0;padding-top:1.5rem;border-top:1px solid var(--border);display:flex;justify-content:space-between;font-size:.78rem;color:var(--muted);flex-wrap:wrap;gap:.5rem}
|
||
|
||
/* ANIMATIONS */
|
||
.reveal{opacity:0;transform:translateY(24px);transition:opacity .6s,transform .6s}
|
||
.reveal.visible{opacity:1;transform:none}
|
||
|
||
/* RESPONSIVE */
|
||
@media(max-width:768px){
|
||
nav .nav-links{display:none}
|
||
.hero-stats{gap:1.5rem}
|
||
.stat-n{font-size:1.8rem}
|
||
.cost-compare,.priv-compare{grid-template-columns:1fr}
|
||
.footer-inner{grid-template-columns:1fr 1fr}
|
||
}
|
||
</style>
|
||
</head>
|
||
<body>
|
||
|
||
<!-- NAV -->
|
||
<nav>
|
||
<a class="nav-brand" href="#">Inference<span>-X</span></a>
|
||
<ul class="nav-links">
|
||
<li><a href="#discover">Discover</a></li>
|
||
<li><a href="#engine">Engine</a></li>
|
||
<li><a href="#community">Community</a></li>
|
||
<li><a href="#organ">Organs</a></li>
|
||
<li><a href="#join">Join</a></li>
|
||
<li><a href="https://build.inference-x.com" target="_blank">SaaS</a></li>
|
||
</ul>
|
||
<div class="nav-right">
|
||
<button id="lb" onclick="cycleLang()">🇬🇧 EN</button>
|
||
<button id="tt">☾</button>
|
||
</div>
|
||
</nav>
|
||
|
||
<!-- ═══ HERO ═══ -->
|
||
<div id="hero">
|
||
<div class="hero-glow"></div>
|
||
<div class="hero-glow2"></div>
|
||
<div class="hero-inner">
|
||
<div class="hero-eyebrow">🌍 Built in Morocco for the world</div>
|
||
<h1 class="hero-title" id="ht">
|
||
Intelligence,<br><em>for everyone.</em><br>No permission needed.
|
||
</h1>
|
||
<p class="hero-sub" id="hsub">305KB. Runs on your phone, your laptop, your server. Free forever. No cloud, no account, no limit. The AI belongs to whoever runs it.</p>
|
||
<div class="hero-stats">
|
||
<div class="stat"><span class="stat-n">305<small style="font-size:1.2rem">KB</small></span><span class="stat-l">Entire engine</span></div>
|
||
<div class="stat"><span class="stat-n">19</span><span class="stat-l">Hardware backends</span></div>
|
||
<div class="stat"><span class="stat-n">23</span><span class="stat-l">Model formats</span></div>
|
||
<div class="stat"><span class="stat-n">∞</span><span class="stat-l">API calls · forever free</span></div>
|
||
<div class="stat"><span class="stat-n">$0</span><span class="stat-l">Per year · your hardware</span></div>
|
||
</div>
|
||
<div class="hero-ctas">
|
||
<a href="#discover" class="btn-primary">See how it works →</a>
|
||
<a href="https://build.inference-x.com" class="btn-secondary" target="_blank">Try the SaaS</a>
|
||
<a href="#join" class="btn-secondary">Join the builders</a>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
|
||
<!-- ═══ 01 DISCOVER ═══ -->
|
||
<section id="discover">
|
||
<div class="section-tag">What is this</div>
|
||
<h2 id="disc_title">Three things to know. Nothing more.</h2>
|
||
<p class="sub" id="disc_sub">No degree required. If you have a device, you have AI.</p>
|
||
<div class="disc-cards">
|
||
<div class="disc-card reveal">
|
||
<span class="disc-icon">📦</span>
|
||
<h3 id="d1t">It's a tiny file</h3>
|
||
<p id="d1p">305 kilobytes. Smaller than a photo on your phone. This file lets your computer run AI — any AI — without the internet. Download it, run it. That's it.</p>
|
||
</div>
|
||
<div class="disc-card reveal">
|
||
<span class="disc-icon">🔒</span>
|
||
<h3 id="d2t">Your words stay yours</h3>
|
||
<p id="d2p">When you use AI online, your questions travel to a distant server. Someone can read them. With Inference-X, nothing leaves your machine. Ever.</p>
|
||
</div>
|
||
<div class="disc-card reveal">
|
||
<span class="disc-icon">⚡</span>
|
||
<h3 id="d3t">It runs on anything</h3>
|
||
<p id="d3p">Old laptop, new phone, Raspberry Pi, datacenter. Same file. It detects your hardware and uses it. No configuration needed.</p>
|
||
</div>
|
||
</div>
|
||
</section>
|
||
|
||
<!-- ═══ 02 YOUR DEVICE ═══ -->
|
||
<section id="device">
|
||
<div class="section-tag">Your hardware</div>
|
||
<h2 id="dev_title">What can YOUR computer do?</h2>
|
||
<p class="sub" id="dev_sub">Move the slider to your RAM. See what's possible.</p>
|
||
<div class="device-widget reveal">
|
||
<div class="slider-wrap">
|
||
<div class="slider-labels">
|
||
<span>1 GB</span><span>4 GB</span><span>8 GB</span><span>16 GB</span><span>32 GB</span><span>64 GB</span><span>128+ GB</span>
|
||
</div>
|
||
<input type="range" id="ramSlider" min="1" max="128" value="8" step="1">
|
||
</div>
|
||
<p id="ramVal" style="font-family:var(--mono);font-size:.9rem;color:var(--amber);margin-bottom:1rem">RAM: <strong>8 GB</strong> — showing models that fit</p>
|
||
<div class="ram-results" id="ramResults"></div>
|
||
<p id="ram_hint" style="margin-top:1rem;font-size:.82rem;color:var(--muted)">Your AI runs locally. No internet. No account. Free forever.</p>
|
||
</div>
|
||
</section>
|
||
|
||
<!-- ═══ 03 PRIVACY ═══ -->
|
||
<section id="privacy">
|
||
<div class="section-tag">Privacy</div>
|
||
<h2 id="priv_title">Where do your words go?</h2>
|
||
<div class="priv-compare reveal">
|
||
<div class="priv-card priv-cloud">
|
||
<div class="priv-title"><span class="cloud-dot"></span><span id="priv_cloud_t">Cloud AI</span></div>
|
||
<p id="priv_cloud_p">Your question leaves your device, crosses the internet, reaches a server in another country, gets processed, stored, and analyzed. You pay per word.</p>
|
||
<div style="margin-top:1rem;font-size:.8rem;color:var(--red)">⚠ Your data · their server · their rules</div>
|
||
</div>
|
||
<div class="priv-card priv-local">
|
||
<div class="priv-title"><span class="local-dot"></span><span id="priv_local_t">Inference-X</span></div>
|
||
<p id="priv_local_p">Your question stays on your desk. The answer is computed by your own processor. Nothing leaves. Nothing is stored. You pay nothing.</p>
|
||
<div style="margin-top:1rem;font-size:.8rem;color:var(--green)">✓ Your data · your processor · your rules</div>
|
||
</div>
|
||
</div>
|
||
</section>
|
||
|
||
<!-- ═══ 04 SIZE ═══ -->
|
||
<section id="size">
|
||
<div class="section-tag">Footprint</div>
|
||
<h2 id="size_title">How small is 305 KB?</h2>
|
||
<p class="sub" id="size_sub">The entire AI engine — smaller than what you think.</p>
|
||
<div class="size-viz reveal">
|
||
<div class="size-item ix">
|
||
<div class="size-bar" style="height:35px;background:var(--copper)"></div>
|
||
<span class="size-label">Inference-X</span>
|
||
<span>305 KB</span>
|
||
</div>
|
||
<div class="size-item">
|
||
<div class="size-bar" style="height:65px;background:var(--bg3);border:1px solid var(--border)"></div>
|
||
<span>iPhone photo</span>
|
||
<span>~3 MB</span>
|
||
</div>
|
||
<div class="size-item">
|
||
<div class="size-bar" style="height:120px;background:var(--bg3);border:1px solid var(--border)"></div>
|
||
<span>Average app</span>
|
||
<span>~50 MB</span>
|
||
</div>
|
||
<div class="size-item">
|
||
<div class="size-bar" style="height:200px;background:rgba(224,80,80,.3);border:1px solid rgba(224,80,80,.4)"></div>
|
||
<span>Chrome</span>
|
||
<span>~200 MB</span>
|
||
</div>
|
||
</div>
|
||
<p id="size_note" style="font-size:.88rem;color:var(--muted);margin-top:1rem">All 19 hardware targets, all 23 formats — in less space than a single photo on your phone.</p>
|
||
</section>
|
||
|
||
<!-- ═══ 05 ENGINE ═══ -->
|
||
<section id="engine">
|
||
<div class="section-tag">The engine</div>
|
||
<h2>One binary to run them all.</h2>
|
||
<p class="sub">Written in C++. No dependencies. No runtime. No cloud. Any silicon, any OS, any AI model.</p>
|
||
<div class="hw-grid reveal">
|
||
<div class="hw-chip">CUDA<span class="hw-cat">NVIDIA GPU</span></div>
|
||
<div class="hw-chip">Metal<span class="hw-cat">Apple Silicon</span></div>
|
||
<div class="hw-chip">Vulkan<span class="hw-cat">Any GPU</span></div>
|
||
<div class="hw-chip">ROCm<span class="hw-cat">AMD GPU</span></div>
|
||
<div class="hw-chip">OpenCL<span class="hw-cat">Any GPU</span></div>
|
||
<div class="hw-chip">SYCL<span class="hw-cat">Intel GPU</span></div>
|
||
<div class="hw-chip">CPU x86<span class="hw-cat">Intel/AMD</span></div>
|
||
<div class="hw-chip">CPU ARM<span class="hw-cat">Mobile/Pi</span></div>
|
||
<div class="hw-chip">RISC-V<span class="hw-cat">Emerging</span></div>
|
||
<div class="hw-chip">WebGPU<span class="hw-cat">Browser</span></div>
|
||
<div class="hw-chip">TPU<span class="hw-cat">Google</span></div>
|
||
<div class="hw-chip">FPGA<span class="hw-cat">Custom HW</span></div>
|
||
<div class="hw-chip">Inferentia<span class="hw-cat">AWS</span></div>
|
||
<div class="hw-chip">Gaudi<span class="hw-cat">Intel</span></div>
|
||
<div class="hw-chip">Groq<span class="hw-cat">LPU</span></div>
|
||
<div class="hw-chip">Cerebras<span class="hw-cat">Wafer</span></div>
|
||
<div class="hw-chip">SambaNova<span class="hw-cat">RDU</span></div>
|
||
<div class="hw-chip">Graphcore<span class="hw-cat">IPU</span></div>
|
||
<div class="hw-chip">Custom<span class="hw-cat">+ your HW</span></div>
|
||
</div>
|
||
<div class="engine-feats reveal" style="margin-top:2rem">
|
||
<div class="feat"><div class="feat-name">Zero-Copy Inference</div>Dequantization and matrix multiply in one instruction loop. No intermediate buffer.</div>
|
||
<div class="feat"><div class="feat-name">Trillion-Parameter Native</div>Only active experts exist in memory. A 1T-parameter model runs on 64 GB RAM.</div>
|
||
<div class="feat"><div class="feat-name">Smart Precision</div>Simple questions get compressed layers. Complex reasoning gets full precision.</div>
|
||
<div class="feat"><div class="feat-name">Zero Telemetry</div>No network calls. No phone-home. Works on a plane, in a submarine, on the moon.</div>
|
||
<div class="feat"><div class="feat-name">Auto-Detect</div>Architecture, chat templates, EOS tokens — auto-detected from model metadata.</div>
|
||
<div class="feat"><div class="feat-name">Self-Configuring</div>The Makefile detects your hardware. You don't configure it — it configures itself.</div>
|
||
</div>
|
||
</section>
|
||
|
||
<!-- ═══ 06 MODELS ═══ -->
|
||
<section id="models">
|
||
<div class="section-tag">What runs on it</div>
|
||
<h2>Any GGUF model. Zero setup.</h2>
|
||
<p class="sub">Download a model from HuggingFace or Ollama. Drop it in. Run it. These are models we've benchmarked.</p>
|
||
<div class="models-grid reveal">
|
||
<div class="model-card">
|
||
<div class="model-name">LLaMA 3.2 · 1B</div>
|
||
<div class="model-desc">Quick answers. Tiny device. Lightning fast.</div>
|
||
<div class="model-meta"><span class="model-tag">1 GB RAM</span><span class="model-tag">mobile-ready</span><span class="model-tag">fast</span></div>
|
||
</div>
|
||
<div class="model-card">
|
||
<div class="model-name">Mistral · 7B</div>
|
||
<div class="model-desc">Smart conversations, code help, translations.</div>
|
||
<div class="model-meta"><span class="model-tag">5 GB RAM</span><span class="model-tag">multilingual</span></div>
|
||
</div>
|
||
<div class="model-card">
|
||
<div class="model-name">LLaMA 3.1 · 8B</div>
|
||
<div class="model-desc">Meta's compact model. Great reasoning at low cost.</div>
|
||
<div class="model-meta"><span class="model-tag">6 GB RAM</span><span class="model-tag">reasoning</span></div>
|
||
</div>
|
||
<div class="model-card">
|
||
<div class="model-name">Mistral · 22B</div>
|
||
<div class="model-desc">Creative writing, analysis, multilingual expert.</div>
|
||
<div class="model-meta"><span class="model-tag">16 GB RAM</span><span class="model-tag">creative</span></div>
|
||
</div>
|
||
<div class="model-card">
|
||
<div class="model-name">LLaMA 3.1 · 70B</div>
|
||
<div class="model-desc">Full-featured assistant. Code. Math. Logic.</div>
|
||
<div class="model-meta"><span class="model-tag">48 GB RAM</span><span class="model-tag">code</span><span class="model-tag">math</span></div>
|
||
</div>
|
||
<div class="model-card">
|
||
<div class="model-name">DeepSeek · 671B</div>
|
||
<div class="model-desc">Advanced reasoning. Expert-level answers. MoE architecture.</div>
|
||
<div class="model-meta"><span class="model-tag">64 GB RAM</span><span class="model-tag">expert</span><span class="model-tag">MoE</span></div>
|
||
</div>
|
||
<div class="model-card">
|
||
<div class="model-name">Phi-3 · 3.8B</div>
|
||
<div class="model-desc">Microsoft's small model. Punches far above its weight.</div>
|
||
<div class="model-meta"><span class="model-tag">3 GB RAM</span><span class="model-tag">efficient</span></div>
|
||
</div>
|
||
<div class="model-card">
|
||
<div class="model-name">Qwen 2.5 · 7B</div>
|
||
<div class="model-desc">Chinese-developed. Excellent for multilingual tasks.</div>
|
||
<div class="model-meta"><span class="model-tag">5 GB RAM</span><span class="model-tag">multilingual</span><span class="model-tag">code</span></div>
|
||
</div>
|
||
<div class="model-card" style="border-style:dashed;border-color:var(--muted)">
|
||
<div class="model-name" style="color:var(--muted)">+ any GGUF</div>
|
||
<div class="model-desc">Download from HuggingFace. Drop in folder. Done.</div>
|
||
<div class="model-meta"><span class="model-tag" style="color:var(--muted)">any size</span></div>
|
||
</div>
|
||
</div>
|
||
</section>
|
||
|
||
<!-- ═══ 07 COST ═══ -->
|
||
<section id="cost">
|
||
<div class="section-tag">The real cost</div>
|
||
<h2 id="cost_title">How much does AI cost?</h2>
|
||
<p class="sub" id="cost_sub">Using AI 1 hour per day, every day, for a year.</p>
|
||
<div class="cost-compare reveal">
|
||
<div class="cost-card cost-cloud-card">
|
||
<div class="section-tag" id="cost_cloud_l">Cloud API (GPT-4 class)</div>
|
||
<div class="cost-amount">$2,500+</div>
|
||
<div class="cost-sub">per year · and rising · your data = their product</div>
|
||
<div style="margin-top:1rem;font-size:.8rem;color:var(--muted)">API key required · Rate limited · Terms can change</div>
|
||
</div>
|
||
<div class="cost-card cost-local-card">
|
||
<div class="section-tag" id="cost_local_l">Inference-X (your hardware)</div>
|
||
<div class="cost-amount">$0</div>
|
||
<div class="cost-sub" id="cost_local_note">forever · electricity only · your data stays yours</div>
|
||
<div style="margin-top:1rem;font-size:.8rem;color:var(--teal)" id="cost_note">No API key. No subscription. No limit. Your hardware, your AI.</div>
|
||
</div>
|
||
</div>
|
||
</section>
|
||
|
||
<!-- ═══ 08 API ═══ -->
|
||
<section id="api">
|
||
<div class="section-tag">For developers</div>
|
||
<h2>OpenAI-compatible API</h2>
|
||
<p class="sub">Start with <code>--serve 8080</code>. Drop-in replacement. Any client library works.</p>
|
||
<div class="api-box reveal">
|
||
<span class="cmt"># Start the inference server</span><br>
|
||
<span class="kw">./inference-x</span> <span class="str">--model llama3.gguf --serve 8080</span><br><br>
|
||
<span class="cmt"># Works with any OpenAI SDK</span><br>
|
||
<span class="kw">curl</span> <span class="str">http://localhost:8080/v1/chat/completions</span> <span class="kw">-H</span> <span class="str">"Content-Type: application/json"</span> \<br>
|
||
<span class="kw">-d</span> '{"model":"llama3","messages":[{"role":"user","content":"Hello"}]}'
|
||
</div>
|
||
<div class="api-endpoints">
|
||
<span class="api-ep"><span class="ep-post">POST</span> /v1/chat/completions</span>
|
||
<span class="api-ep"><span class="ep-post">POST</span> /v1/completions</span>
|
||
<span class="api-ep"><span class="ep-get">GET</span> /v1/models</span>
|
||
<span class="api-ep"><span class="ep-get">GET</span> /health</span>
|
||
<span class="api-ep"><span class="ep-get">GET</span> /v1/embeddings</span>
|
||
</div>
|
||
</section>
|
||
|
||
<!-- ═══ 09 QUICK START ═══ -->
|
||
<section id="start">
|
||
<div class="section-tag">Get started</div>
|
||
<h2 id="start_title">Ready? Three steps.</h2>
|
||
<p class="sub" id="start_sub">Pick your system.</p>
|
||
<div class="qs-tabs">
|
||
<button class="qs-tab active" onclick="setQS('linux')">🐧 Linux</button>
|
||
<button class="qs-tab" onclick="setQS('mac')">🍎 macOS</button>
|
||
<button class="qs-tab" onclick="setQS('windows')">🪟 Windows</button>
|
||
<button class="qs-tab" onclick="setQS('pi')">🍓 Raspberry Pi</button>
|
||
</div>
|
||
<div class="qs-block active" id="qs-linux">
|
||
<div class="step"><div class="step-num">1</div><div><strong>Download the binary</strong><pre><span class="c"># x86_64 with CUDA/CPU</span>
|
||
<span class="v">curl</span> -LO <span class="s">https://git.inference-x.com/elmadani/inference-x/releases/download/v1.0/ix-linux-x64</span>
|
||
<span class="v">chmod</span> +x ix-linux-x64</pre></div></div>
|
||
<div class="step"><div class="step-num">2</div><div><strong>Get a model</strong><pre><span class="c"># Download any GGUF from HuggingFace</span>
|
||
<span class="v">wget</span> <span class="s">https://huggingface.co/bartowski/Llama-3.2-1B-Instruct-GGUF/resolve/main/Llama-3.2-1B-Instruct-Q4_K_M.gguf</span></pre></div></div>
|
||
<div class="step"><div class="step-num">3</div><div><strong>Run it</strong><pre><span class="v">./ix-linux-x64</span> --model Llama-3.2-1B-Instruct-Q4_K_M.gguf<br><span class="c"># or serve as API:</span><br><span class="v">./ix-linux-x64</span> --model Llama-3.2-1B-Instruct-Q4_K_M.gguf <span class="s">--serve 8080</span></pre></div></div>
|
||
</div>
|
||
<div class="qs-block" id="qs-mac">
|
||
<div class="step"><div class="step-num">1</div><div><strong>Download (Apple Silicon native)</strong><pre><span class="v">curl</span> -LO <span class="s">https://git.inference-x.com/elmadani/inference-x/releases/download/v1.0/ix-macos-arm64</span>
|
||
<span class="v">chmod</span> +x ix-macos-arm64</pre></div></div>
|
||
<div class="step"><div class="step-num">2</div><div><strong>Get a model</strong><pre><span class="c"># Metal GPU acceleration automatic on Apple Silicon</span>
|
||
<span class="v">wget</span> <span class="s">https://huggingface.co/bartowski/Llama-3.2-1B-Instruct-GGUF/resolve/main/Llama-3.2-1B-Instruct-Q4_K_M.gguf</span></pre></div></div>
|
||
<div class="step"><div class="step-num">3</div><div><strong>Run it</strong><pre><span class="v">./ix-macos-arm64</span> --model Llama-3.2-1B-Instruct-Q4_K_M.gguf</pre></div></div>
|
||
</div>
|
||
<div class="qs-block" id="qs-windows">
|
||
<div class="step"><div class="step-num">1</div><div><strong>Download</strong><pre><span class="c"># PowerShell</span>
|
||
<span class="v">Invoke-WebRequest</span> -Uri <span class="s">"https://git.inference-x.com/elmadani/inference-x/releases/download/v1.0/ix-windows-x64.exe"</span> -OutFile <span class="s">"ix.exe"</span></pre></div></div>
|
||
<div class="step"><div class="step-num">2</div><div><strong>Get a model</strong> — download any .gguf file from HuggingFace</div></div>
|
||
<div class="step"><div class="step-num">3</div><div><strong>Run it</strong><pre><span class="v">.\ix.exe</span> --model model.gguf</pre></div></div>
|
||
</div>
|
||
<div class="qs-block" id="qs-pi">
|
||
<div class="step"><div class="step-num">1</div><div><strong>ARM build for Raspberry Pi 4/5</strong><pre><span class="v">curl</span> -LO <span class="s">https://git.inference-x.com/elmadani/inference-x/releases/download/v1.0/ix-linux-arm64</span>
|
||
<span class="v">chmod</span> +x ix-linux-arm64</pre></div></div>
|
||
<div class="step"><div class="step-num">2</div><div><strong>Get a small model (fits in 1-4GB)</strong><pre><span class="v">wget</span> <span class="s">https://huggingface.co/bartowski/Llama-3.2-1B-Instruct-GGUF/resolve/main/Llama-3.2-1B-Instruct-Q4_K_M.gguf</span></pre></div></div>
|
||
<div class="step"><div class="step-num">3</div><div><strong>Run on Pi</strong><pre><span class="v">./ix-linux-arm64</span> --model Llama-3.2-1B-Instruct-Q4_K_M.gguf<br><span class="c"># Pi 4 4GB: runs 1B models at ~8 tok/s</span></pre></div></div>
|
||
</div>
|
||
</section>
|
||
|
||
<!-- ═══ 10 COMMUNITY TOOLS ═══ -->
|
||
<section id="community">
|
||
<div class="section-tag">Community</div>
|
||
<h2>The tools we built together.</h2>
|
||
<p class="sub">Inference-X is the core. Around it, the community builds the ecosystem. Here's what exists today — more is being forged every day.</p>
|
||
<div class="tools-grid reveal">
|
||
<a class="tool-card" href="https://git.inference-x.com/elmadani/inference-x" target="_blank">
|
||
<span class="tool-badge badge-live">LIVE</span>
|
||
<div class="tool-icon">⚡</div>
|
||
<div class="tool-name">IX Engine</div>
|
||
<div class="tool-desc">The core. 228KB C++ binary. 19 backends. Zero dependencies. The foundation everything runs on.</div>
|
||
</a>
|
||
<a class="tool-card" href="https://build.inference-x.com" target="_blank">
|
||
<span class="tool-badge badge-live">LIVE</span>
|
||
<div class="tool-icon">🛠</div>
|
||
<div class="tool-name">Community SaaS</div>
|
||
<div class="tool-desc">Cloud playground. Deploy models, test APIs, share with others. No installation. Donation-powered.</div>
|
||
</a>
|
||
<div class="tool-card">
|
||
<span class="tool-badge badge-live">LIVE</span>
|
||
<div class="tool-icon">📡</div>
|
||
<div class="tool-name">Hardware Scout</div>
|
||
<div class="tool-desc">See every IX node running globally. Real-time compute map. Who runs what, how fast.</div>
|
||
</div>
|
||
<div class="tool-card">
|
||
<span class="tool-badge badge-build">BUILDING</span>
|
||
<div class="tool-icon">🫀</div>
|
||
<div class="tool-name">Organ Store</div>
|
||
<div class="tool-desc">Extract, share and transplant AI model components. Attention heads, FFN layers, expert blocks. The future of open AI.</div>
|
||
</div>
|
||
<div class="tool-card">
|
||
<span class="tool-badge badge-build">BUILDING</span>
|
||
<div class="tool-icon">🔬</div>
|
||
<div class="tool-name">Organ Architect</div>
|
||
<div class="tool-desc">Analyze model internals. Visualize layers, heads, topology. Like an MRI for AI models.</div>
|
||
</div>
|
||
<div class="tool-card">
|
||
<span class="tool-badge badge-build">BUILDING</span>
|
||
<div class="tool-icon">🔥</div>
|
||
<div class="tool-name">The Forge</div>
|
||
<div class="tool-desc">Community fine-tuning platform. Contribute training data, improve models, share results. Collective intelligence.</div>
|
||
</div>
|
||
<div class="tool-card">
|
||
<span class="tool-badge badge-coming">COMING</span>
|
||
<div class="tool-icon">🎙</div>
|
||
<div class="tool-name">EchoNet</div>
|
||
<div class="tool-desc">Neural voice synthesis. Clone, create, share voice models. Same philosophy: local, private, yours.</div>
|
||
</div>
|
||
<div class="tool-card">
|
||
<span class="tool-badge badge-coming">COMING</span>
|
||
<div class="tool-icon">🌐</div>
|
||
<div class="tool-name">Echo Relay</div>
|
||
<div class="tool-desc">Federated inference network. Your idle hardware earns you compute credits. The khettara for AI power.</div>
|
||
</div>
|
||
</div>
|
||
</section>
|
||
|
||
<!-- ═══ 11 ORGAN ═══ -->
|
||
<section id="organ">
|
||
<div class="section-tag">The future</div>
|
||
<h2>AI organ transplants.</h2>
|
||
<p class="sub">Neural networks have anatomy. Layers. Attention heads. Expert blocks. We built tools to extract them, study them, and transplant them between models. The community will fill the store.</p>
|
||
<div class="organ-visual reveal">
|
||
<div class="organ-node glow" title="Source model">🧠</div>
|
||
<div class="organ-arrow">→</div>
|
||
<div class="organ-node" title="Extract organ" style="font-size:1.2rem">⚙️<br><small style="font-size:.5rem">extract</small></div>
|
||
<div class="organ-arrow">→</div>
|
||
<div class="organ-node" style="border-color:var(--amber);font-size:1.2rem" title="Organ">🫀</div>
|
||
<div class="organ-arrow">→</div>
|
||
<div class="organ-node" title="Transplant" style="font-size:1.2rem">💉<br><small style="font-size:.5rem">transplant</small></div>
|
||
<div class="organ-arrow">→</div>
|
||
<div class="organ-node glow" title="Enhanced model">🧬</div>
|
||
</div>
|
||
<div class="organ-desc">
|
||
<strong>Vision:</strong> A community marketplace where builders extract specialized capabilities from models — multilingual reasoning, code completion, visual understanding — and share them as components others can transplant. The Organ Store doesn't exist yet. The community will build it.
|
||
</div>
|
||
<div style="display:flex;gap:1rem;justify-content:center;margin-top:2rem;flex-wrap:wrap">
|
||
<div style="text-align:center;padding:1.2rem;background:var(--card);border:1px solid var(--border);border-radius:.7rem;min-width:140px">
|
||
<div style="font-size:1.5rem;margin-bottom:.4rem">🔍</div>
|
||
<div style="font-weight:800;font-size:.85rem">Analyze</div>
|
||
<div style="font-size:.75rem;color:var(--muted)">Map model internals</div>
|
||
</div>
|
||
<div style="text-align:center;padding:1.2rem;background:var(--card);border:1px solid var(--border);border-radius:.7rem;min-width:140px">
|
||
<div style="font-size:1.5rem;margin-bottom:.4rem">⚗️</div>
|
||
<div style="font-weight:800;font-size:.85rem">Extract</div>
|
||
<div style="font-size:.75rem;color:var(--muted)">Isolate components</div>
|
||
</div>
|
||
<div style="text-align:center;padding:1.2rem;background:var(--card);border:1px solid var(--border);border-radius:.7rem;min-width:140px">
|
||
<div style="font-size:1.5rem;margin-bottom:.4rem">📦</div>
|
||
<div style="font-weight:800;font-size:.85rem">Publish</div>
|
||
<div style="font-size:.75rem;color:var(--muted)">Share to the store</div>
|
||
</div>
|
||
<div style="text-align:center;padding:1.2rem;background:var(--card);border:1px solid var(--border);border-radius:.7rem;min-width:140px">
|
||
<div style="font-size:1.5rem;margin-bottom:.4rem">💉</div>
|
||
<div style="font-weight:800;font-size:.85rem">Transplant</div>
|
||
<div style="font-size:.75rem;color:var(--muted)">Enhance any model</div>
|
||
</div>
|
||
</div>
|
||
</section>
|
||
|
||
<!-- ═══ 12 KHETTARA ═══ -->
|
||
<section id="khettara" class="full" style="padding:5rem 1.5rem;background:linear-gradient(180deg,transparent,rgba(201,98,42,.04),transparent)">
|
||
<div style="max-width:1100px;margin:0 auto">
|
||
<div class="section-tag">The vision</div>
|
||
<div class="khettara-quote reveal">
|
||
"In the Moroccan desert, ancient builders carved underground canals — khettaras — that deliver water to entire villages using only gravity. No pump. No electricity. No central authority. They've worked for centuries. Inference-X is a khettara for intelligence: built by many, maintained by many, flowing to anyone who needs it."
|
||
</div>
|
||
<p style="color:var(--muted);font-size:.9rem;margin-top:1.5rem;max-width:600px">Inference-X has no enemies. Every researcher, every company, every government that processes AI is playing a role. We're not competing — we're building the infrastructure that makes all of it accessible to everyone who was left out.</p>
|
||
</div>
|
||
</section>
|
||
|
||
<!-- ═══ 13 HARDWARE SCOUT ═══ -->
|
||
<section id="scout">
|
||
<div class="section-tag">Community hardware</div>
|
||
<h2>Every IX node on Earth. Live.</h2>
|
||
<p class="sub">When you run Inference-X, you can optionally report your hardware telemetry. This is the network. Anonymous. Voluntary. Real.</p>
|
||
<table class="scout-table reveal">
|
||
<thead>
|
||
<tr>
|
||
<th>Backend</th>
|
||
<th>Nodes</th>
|
||
<th>Avg tok/s</th>
|
||
<th>Avg load</th>
|
||
<th>Status</th>
|
||
</tr>
|
||
</thead>
|
||
<tbody id="scoutBody">
|
||
<tr><td colspan="5" style="color:var(--muted);text-align:center;font-size:.82rem"><span class="live-dot"></span>Loading community hardware data...</td></tr>
|
||
</tbody>
|
||
</table>
|
||
</section>
|
||
|
||
<!-- ═══ 14 PRICING ═══ -->
|
||
<section id="pricing">
|
||
<div class="section-tag">License</div>
|
||
<h2>Free for those who need it. Fair for those who profit.</h2>
|
||
<p class="sub">No tricks. No hidden limits. The engine is the same everywhere.</p>
|
||
<div class="pricing-grid reveal">
|
||
<div class="pricing-card featured">
|
||
<div class="pricing-tier">Free Forever</div>
|
||
<div class="pricing-price free">$0</div>
|
||
<div class="pricing-who">Individuals, researchers, students, open-source projects, startups under $1M revenue. No registration. No expiry. No limits. This is the default.</div>
|
||
<div style="font-size:.8rem;color:var(--teal);margin-top:.5rem">✓ Full engine · All backends · All models</div>
|
||
</div>
|
||
<div class="pricing-card">
|
||
<div class="pricing-tier">Commercial Fair</div>
|
||
<div class="pricing-price fair">20% rev</div>
|
||
<div class="pricing-who">Companies with $1M+ annual revenue using IX in production. 20% of revenue attributed to IX-powered features goes to the community fund. Transparent. Auditable.</div>
|
||
<div style="font-size:.8rem;color:var(--amber);margin-top:.5rem">80% flows to community builders</div>
|
||
</div>
|
||
<div class="pricing-card">
|
||
<div class="pricing-tier">Industrial Embed</div>
|
||
<div class="pricing-price ind">Custom</div>
|
||
<div class="pricing-who">Hardware manufacturers embedding IX in products. Custom licensing for bulk distribution, signed binaries, hardware co-optimization. Contact us.</div>
|
||
<div style="font-size:.8rem;color:var(--copper);margin-top:.5rem">Redistribute · Co-brand · Optimize</div>
|
||
</div>
|
||
</div>
|
||
</section>
|
||
|
||
<!-- ═══ 15 JOIN / CRATONS ═══ -->
|
||
<section id="join">
|
||
<div class="section-tag">Join the builders</div>
|
||
<h2>11 seats. One per craton.</h2>
|
||
<p class="sub">The governance of Inference-X is anchored in geology. 11 ancient continental cratons — the most stable structures on Earth — give their names to 11 permanent Core Team seats. One per major civilization region. Designed to last as long as the rocks.</p>
|
||
<div class="cratons-grid reveal">
|
||
<div class="craton-card active">
|
||
<div class="craton-age">2.7 Ga · Africa</div>
|
||
<div class="craton-name">🪨 Anti-Atlas</div>
|
||
<div class="craton-region">Morocco · North Africa</div>
|
||
<div class="craton-status">⚒ Founder — Elmadani Salka</div>
|
||
</div>
|
||
<div class="craton-card"><div class="craton-age">3.6 Ga · Africa</div><div class="craton-name">💎 Kaapvaal</div><div class="craton-region">South Africa, Botswana</div><div class="craton-status"><a href="mailto:Elmadani.SALKA@proton.me?subject=Kaapvaal Craton" style="color:var(--teal);text-decoration:none">Apply →</a></div></div>
|
||
<div class="craton-card"><div class="craton-age">2.9 Ga · Africa</div><div class="craton-name">🌍 West African</div><div class="craton-region">Ghana, Senegal, Mali</div><div class="craton-status"><a href="mailto:Elmadani.SALKA@proton.me?subject=West African Craton" style="color:var(--teal);text-decoration:none">Apply →</a></div></div>
|
||
<div class="craton-card"><div class="craton-age">2.8 Ga · Africa</div><div class="craton-name">🌿 Congo</div><div class="craton-region">DRC, Republic of Congo</div><div class="craton-status"><a href="mailto:Elmadani.SALKA@proton.me?subject=Congo Craton" style="color:var(--teal);text-decoration:none">Apply →</a></div></div>
|
||
<div class="craton-card"><div class="craton-age">3.1 Ga · Americas</div><div class="craton-name">🍁 Superior</div><div class="craton-region">Canada, North America</div><div class="craton-status"><a href="mailto:Elmadani.SALKA@proton.me?subject=Superior Craton" style="color:var(--teal);text-decoration:none">Apply →</a></div></div>
|
||
<div class="craton-card"><div class="craton-age">2.5 Ga · Americas</div><div class="craton-name">🌳 Amazon</div><div class="craton-region">Brazil, South America</div><div class="craton-status"><a href="mailto:Elmadani.SALKA@proton.me?subject=Amazon Craton" style="color:var(--teal);text-decoration:none">Apply →</a></div></div>
|
||
<div class="craton-card"><div class="craton-age">3.1 Ga · Europe</div><div class="craton-name">🌊 Baltica</div><div class="craton-region">Scandinavia, Eastern Europe</div><div class="craton-status"><a href="mailto:Elmadani.SALKA@proton.me?subject=Baltica Craton" style="color:var(--teal);text-decoration:none">Apply →</a></div></div>
|
||
<div class="craton-card"><div class="craton-age">3.0 Ga · Asia</div><div class="craton-name">🌲 Siberian</div><div class="craton-region">Russia, Central Asia</div><div class="craton-status"><a href="mailto:Elmadani.SALKA@proton.me?subject=Siberian Craton" style="color:var(--teal);text-decoration:none">Apply →</a></div></div>
|
||
<div class="craton-card"><div class="craton-age">3.8 Ga · Asia</div><div class="craton-name">🏮 North China</div><div class="craton-region">China, East Asia</div><div class="craton-status"><a href="mailto:Elmadani.SALKA@proton.me?subject=North China Craton" style="color:var(--teal);text-decoration:none">Apply →</a></div></div>
|
||
<div class="craton-card"><div class="craton-age">3.0 Ga · Asia</div><div class="craton-name">🪷 Dharwar</div><div class="craton-region">India, South Asia</div><div class="craton-status"><a href="mailto:Elmadani.SALKA@proton.me?subject=Dharwar Craton" style="color:var(--teal);text-decoration:none">Apply →</a></div></div>
|
||
<div class="craton-card"><div class="craton-age">3.5 Ga · Oceania</div><div class="craton-name">🦘 Pilbara</div><div class="craton-region">Australia, Oceania</div><div class="craton-status"><a href="mailto:Elmadani.SALKA@proton.me?subject=Pilbara Craton" style="color:var(--teal);text-decoration:none">Apply →</a></div></div>
|
||
</div>
|
||
<div style="margin-top:2rem;padding:1.5rem;background:var(--card);border:1px solid var(--border);border-radius:.8rem;display:flex;flex-wrap:wrap;gap:1.5rem;align-items:center">
|
||
<div style="flex:1;min-width:200px">
|
||
<div style="font-weight:800;margin-bottom:.4rem">What craton leaders do</div>
|
||
<div style="font-size:.85rem;color:var(--muted)">Represent their region in project decisions. Connect local builders. Translate and adapt for local communities. No salary — compensation is access, visibility, and history.</div>
|
||
</div>
|
||
<a href="mailto:Elmadani.SALKA@proton.me?subject=Craton Application&body=Craton I want to represent: %0AWhy I fit: %0AMy background: " class="btn-primary">Apply for your craton →</a>
|
||
</div>
|
||
</section>
|
||
|
||
<!-- ═══ 16 DONATE ═══ -->
|
||
<section id="donate" style="max-width:700px;margin:0 auto;padding:5rem 1.5rem">
|
||
<div class="section-tag">Support the infrastructure</div>
|
||
<h2>Keep the khettara flowing.</h2>
|
||
<p class="sub">Inference-X costs about €53/month to keep running for the world. Everything is public. Surplus goes to community contributors.</p>
|
||
<div class="donate-widget reveal">
|
||
<div class="costs-breakdown">
|
||
<div class="cost-line"><span>Infomaniak VPS (site)</span><span>€15/mo</span></div>
|
||
<div class="cost-line"><span>Domains</span><span>€4/mo</span></div>
|
||
<div class="cost-line"><span>OneCloud Compute</span><span>€20/mo</span></div>
|
||
<div class="cost-line"><span>Hetzner Compute</span><span>€12/mo</span></div>
|
||
<div class="cost-line"><span>Backup Storage</span><span>€2/mo</span></div>
|
||
<div class="cost-line cost-total"><span>Total / month</span><span id="costsLive">€53/mo</span></div>
|
||
</div>
|
||
<div class="donate-amounts">
|
||
<button class="donate-btn" onclick="setDonation(5)">€5</button>
|
||
<button class="donate-btn active" onclick="setDonation(10)">€10</button>
|
||
<button class="donate-btn" onclick="setDonation(20)">€20</button>
|
||
<button class="donate-btn" onclick="setDonation(50)">€50</button>
|
||
<button class="donate-btn" onclick="setDonation(100)">€100</button>
|
||
</div>
|
||
<a id="donateLink" href="https://paypal.me/elmadanisalka/10" target="_blank" class="btn-primary" style="width:100%;justify-content:center;font-size:1rem">Donate €10 via PayPal →</a>
|
||
<p style="font-size:.75rem;color:var(--muted);text-align:center;margin-top:.8rem">No account needed. Quarterly transparency report published. Surplus → community contributors.</p>
|
||
</div>
|
||
</section>
|
||
|
||
<!-- FOOTER -->
|
||
<footer>
|
||
<div class="footer-inner">
|
||
<div>
|
||
<div class="footer-brand">Inference-X</div>
|
||
<p class="footer-tagline" id="footcopy">Built in Morocco for the world.<br>Intelligence flows where gravity takes it.</p>
|
||
<div style="margin-top:1rem;display:flex;gap:.8rem;flex-wrap:wrap">
|
||
<a href="https://git.inference-x.com/elmadani/inference-x" class="btn-secondary" style="font-size:.78rem;padding:.4rem .8rem">GitHub</a>
|
||
<a href="https://build.inference-x.com" class="btn-secondary" style="font-size:.78rem;padding:.4rem .8rem">SaaS</a>
|
||
<a href="https://git.inference-x.com" class="btn-secondary" style="font-size:.78rem;padding:.4rem .8rem">Gitea</a>
|
||
</div>
|
||
</div>
|
||
<div class="footer-col">
|
||
<h4>Engine</h4>
|
||
<a href="#discover">How it works</a>
|
||
<a href="#device">Your device</a>
|
||
<a href="#engine">Backends</a>
|
||
<a href="#models">Models</a>
|
||
<a href="#api">API docs</a>
|
||
</div>
|
||
<div class="footer-col">
|
||
<h4>Community</h4>
|
||
<a href="#community">Tools</a>
|
||
<a href="#organ">Organ Store</a>
|
||
<a href="#scout">Hardware Scout</a>
|
||
<a href="#join">11 Cratons</a>
|
||
<a href="#donate">Donate</a>
|
||
</div>
|
||
<div class="footer-col">
|
||
<h4>Legal</h4>
|
||
<a href="https://git.inference-x.com/elmadani/inference-x/src/branch/master/LICENSE" target="_blank">SALKA-IX License</a>
|
||
<a href="https://git.inference-x.com/elmadani/inference-x" target="_blank">Source Code</a>
|
||
<a href="mailto:Elmadani.SALKA@proton.me">Contact</a>
|
||
<a href="#pricing">Pricing</a>
|
||
</div>
|
||
</div>
|
||
<div class="footer-bottom">
|
||
<span>© 2025–2026 SALKA HOLDING SA (forming, Zug CH) · Elmadani Salka · SALKA-IX License v1.0</span>
|
||
<span>🇲🇦 Morocco → 🌍 World</span>
|
||
</div>
|
||
</footer>
|
||
<script>
|
||
// ═══ THEME ═══
|
||
function setTheme(t){document.documentElement.dataset.theme=t;document.getElementById('tt').textContent=t==='dark'?'☀':'☾';try{localStorage.setItem('ix-t',t)}catch(e){}}
|
||
document.getElementById('tt').onclick=function(){setTheme(document.documentElement.dataset.theme==='dark'?'light':'dark')};
|
||
try{var st=localStorage.getItem('ix-t');if(st)setTheme(st);else if(window.matchMedia('(prefers-color-scheme:light)').matches)setTheme('light')}catch(e){}
|
||
|
||
// ═══ i18n ═══
|
||
var LANGS=['en','fr','ar','es','de','zh','hi','pt','sw','ru','tr','ja','ko','nl','it','pl'];
|
||
var LNAMES={en:'EN 🇬🇧',fr:'FR 🇫🇷',ar:'AR 🇲🇦',es:'ES 🇪🇸',de:'DE 🇩🇪',zh:'ZH 🇨🇳',hi:'HI 🇮🇳',pt:'PT 🇧🇷',sw:'SW 🇰🇪',ru:'RU 🇷🇺',tr:'TR 🇹🇷',ja:'JA 🇯🇵',ko:'KO 🇰🇷',nl:'NL 🇳🇱',it:'IT 🇮🇹',pl:'PL 🇵🇱'};
|
||
var curLang=0;
|
||
|
||
var TRANS={
|
||
en:{disc_title:"Three things to know. Nothing more.",disc_sub:"No degree required. If you have a device, you have AI.",d1t:"It's a tiny file",d1p:"305 kilobytes. Smaller than a photo on your phone. This file lets your computer run AI — any AI — without the internet. Download it, run it. That's it.",d2t:"Your words stay yours",d2p:"When you use AI online, your questions travel to a distant server. Someone can read them. With Inference-X, nothing leaves your machine. Ever.",d3t:"It runs on anything",d3p:"Old laptop, new phone, Raspberry Pi, datacenter. Same file. It detects your hardware and uses it. No configuration needed.",dev_title:"What can YOUR computer do?",dev_sub:"Move the slider to your RAM. See what's possible.",ram_hint:"Your AI runs locally. No internet. No account. Free forever.",priv_title:"Where do your words go?",priv_cloud_t:"Cloud AI",priv_cloud_p:"Your question leaves your device, crosses the internet, reaches a server in another country, gets processed, stored, and analyzed. You pay per word.",priv_local_t:"Inference-X",priv_local_p:"Your question stays on your desk. The answer is computed by your own processor. Nothing leaves. Nothing is stored. You pay nothing.",size_title:"How small is 305 KB?",size_sub:"The entire AI engine — smaller than what you think.",cost_title:"How much does AI cost?",cost_sub:"Using AI 1 hour per day, every day, for a year.",cost_cloud_l:"Cloud API (GPT-4 class)",cost_local_l:"Inference-X (your hardware)",cost_local_note:"forever · electricity only · your data stays yours",cost_note:"No API key. No subscription. No limit. Your hardware, your AI.",start_title:"Ready? Three steps.",start_sub:"Pick your system.",footcopy:"Built in Morocco for the world.\nIntelligence flows where gravity takes it."},
|
||
fr:{disc_title:"Trois choses à savoir. Pas plus.",disc_sub:"Pas de diplôme requis. Si tu as un appareil, tu as l'IA.",d1t:"C'est un tout petit fichier",d1p:"305 kilo-octets. Plus petit qu'une photo sur ton téléphone. Ce fichier permet à ton ordinateur de faire tourner l'IA — n'importe laquelle — sans internet.",d2t:"Tes mots restent les tiens",d2p:"Quand tu utilises l'IA en ligne, tes questions voyagent vers un serveur lointain. Quelqu'un peut les lire. Avec Inference-X, rien ne sort de ta machine. Jamais.",d3t:"Ça tourne sur tout",d3p:"Vieux portable, téléphone récent, Raspberry Pi, datacenter. Même fichier. Il détecte ton matériel et l'utilise. Aucune configuration.",dev_title:"Que peut faire TON ordinateur ?",dev_sub:"Déplace le curseur sur ta RAM. Vois ce qui est possible.",ram_hint:"Ton IA tourne en local. Pas d'internet. Pas de compte. Gratuit pour toujours.",priv_title:"Où vont tes mots ?",priv_cloud_t:"IA Cloud",priv_cloud_p:"Ta question quitte ton appareil, traverse internet, arrive sur un serveur dans un autre pays. On peut la lire. Tu paies au mot.",priv_local_t:"Inference-X",priv_local_p:"Ta question reste sur ton bureau. La réponse est calculée par ton propre processeur. Rien ne sort. Tu ne paies rien.",size_title:"305 Ko, c'est si petit ?",size_sub:"Le moteur IA entier — plus petit que tu ne crois.",cost_title:"Combien coûte l'IA ?",cost_sub:"1h par jour, tous les jours, pendant un an.",cost_cloud_l:"API Cloud (classe GPT-4)",cost_local_l:"Inference-X (ton matériel)",cost_local_note:"pour toujours · électricité seulement",cost_note:"Pas de clé API. Pas d'abonnement. Pas de limite. Ton matériel, ton IA.",start_title:"Prêt ? Trois étapes.",start_sub:"Choisis ton système.",footcopy:"Construit au Maroc pour le monde.\nL'intelligence coule là où la gravité la mène."},
|
||
ar:{disc_title:"ثلاثة أشياء. لا أكثر.",disc_sub:"لا شهادة مطلوبة. إذا لديك جهاز، لديك ذكاء اصطناعي.",d1t:"ملف صغير جداً",d1p:"305 كيلوبايت. أصغر من صورة على هاتفك. هذا الملف يجعل حاسوبك يشغّل الذكاء الاصطناعي بدون إنترنت.",d2t:"كلماتك ملكك",d2p:"عند استخدام الذكاء الاصطناعي عبر الإنترنت، أسئلتك تسافر لخادم بعيد. مع Inference-X، لا شيء يغادر جهازك.",d3t:"يعمل على أي جهاز",d3p:"حاسوب قديم، هاتف جديد، Raspberry Pi. نفس الملف. يكتشف عتادك ويستخدمه.",dev_title:"ماذا يستطيع حاسوبك؟",dev_sub:"حرّك المؤشر لذاكرتك. انظر ما المتاح.",ram_hint:"ذكاؤك يعمل محلياً. بلا إنترنت. بلا حساب. مجاني للأبد.",priv_title:"أين تذهب كلماتك؟",priv_cloud_t:"ذكاء سحابي",priv_cloud_p:"سؤالك يغادر جهازك، يعبر الإنترنت، يصل خادماً في بلد آخر. تدفع لكل كلمة.",priv_local_t:"Inference-X",priv_local_p:"سؤالك يبقى على مكتبك. الجواب يحسبه معالجك. لا شيء يخرج. لا تدفع شيئاً.",size_title:"كم صغير 305 كيلوبايت؟",size_sub:"المحرك بالكامل — أصغر مما تظن.",cost_title:"كم يكلف الذكاء الاصطناعي؟",cost_sub:"ساعة يومياً، كل يوم، لمدة سنة.",cost_cloud_l:"واجهة سحابية (فئة GPT-4)",cost_local_l:"Inference-X (عتادك)",cost_local_note:"للأبد · كهرباء فقط",cost_note:"بلا مفتاح API. بلا اشتراك. بلا حدود.",start_title:"مستعد؟ ثلاث خطوات.",start_sub:"اختر نظامك.",footcopy:"صُنع في المغرب للعالم.\nالذكاء يتدفق حيث تأخذه الجاذبية."},
|
||
es:{disc_title:"Tres cosas. Nada más.",disc_sub:"Sin título requerido. Si tienes un dispositivo, tienes IA.",d1t:"Es un archivo diminuto",d1p:"305 kilobytes. Más pequeño que una foto de tu móvil. Este archivo permite que tu ordenador ejecute IA sin internet.",d2t:"Tus palabras son tuyas",d2p:"Con la IA en la nube, tus preguntas van a un servidor lejano. Con Inference-X, nada sale de tu máquina.",d3t:"Funciona en cualquier cosa",d3p:"Portátil viejo, teléfono nuevo, Raspberry Pi, datacenter. Mismo archivo. Sin configuración.",dev_title:"¿Qué puede hacer TU ordenador?",dev_sub:"Mueve el control a tu RAM.",ram_hint:"Tu IA corre localmente. Sin internet. Sin cuenta. Gratis para siempre.",priv_title:"¿Dónde van tus palabras?",priv_cloud_t:"IA en la nube",priv_cloud_p:"Tu pregunta viaja a un servidor lejano. Alguien puede leerla. Pagas por palabra.",priv_local_t:"Inference-X",priv_local_p:"Tu pregunta se queda en tu escritorio. La respuesta la calcula tu propio procesador. No pagas nada.",size_title:"¿Cuán pequeño es 305 KB?",size_sub:"El motor completo, más pequeño de lo que crees.",cost_title:"¿Cuánto cuesta la IA?",cost_sub:"1 hora al día, todos los días, durante un año.",cost_cloud_l:"API Cloud (clase GPT-4)",cost_local_l:"Inference-X (tu hardware)",cost_local_note:"para siempre · solo electricidad",cost_note:"Sin API key. Sin suscripción. Sin límites.",start_title:"¿Listo? Tres pasos.",start_sub:"Elige tu sistema.",footcopy:"Construido en Marruecos para el mundo."},
|
||
de:{disc_title:"Drei Dinge. Nicht mehr.",disc_sub:"Kein Studium nötig. Mit einem Gerät hast du KI.",d1t:"Eine winzige Datei",d1p:"305 Kilobyte. Kleiner als ein Foto. Diese Datei lässt deinen Computer KI ausführen — ohne Internet.",d2t:"Deine Worte bleiben deine",d2p:"Online-KI sendet deine Fragen an fremde Server. Mit Inference-X verlässt nichts deinen Rechner.",d3t:"Läuft auf allem",d3p:"Alter Laptop, neues Handy, Raspberry Pi, Rechenzentrum. Gleiche Datei. Keine Konfiguration.",dev_title:"Was kann DEIN Computer?",dev_sub:"Bewege den Regler auf deinen RAM.",ram_hint:"Deine KI läuft lokal. Kein Internet. Kein Konto. Für immer kostenlos.",priv_title:"Wohin gehen deine Worte?",priv_cloud_t:"Cloud-KI",priv_cloud_p:"Deine Frage reist zu einem fernen Server. Jemand kann sie lesen. Du zahlst pro Wort.",priv_local_t:"Inference-X",priv_local_p:"Deine Frage bleibt auf deinem Schreibtisch. Die Antwort berechnet dein eigener Prozessor. Du zahlst nichts.",size_title:"Wie klein sind 305 KB?",size_sub:"Die komplette KI-Engine — kleiner als du denkst.",cost_title:"Was kostet KI wirklich?",cost_sub:"1 Stunde täglich, jeden Tag, ein Jahr lang.",cost_cloud_l:"Cloud API (GPT-4-Klasse)",cost_local_l:"Inference-X (deine Hardware)",cost_local_note:"für immer · nur Strom",cost_note:"Kein API-Key. Kein Abo. Kein Limit.",start_title:"Bereit? Drei Schritte.",start_sub:"Wähle dein System.",footcopy:"Gebaut in Marokko für die Welt."},
|
||
zh:{disc_title:"三件事。仅此而已。",disc_sub:"无需学位。有设备就有AI。",d1t:"这只是一个小文件",d1p:"305 KB。比手机上的照片还小。这个文件让你的电脑在没有网络的情况下运行AI。",d2t:"你的话语属于你",d2p:"使用在线AI时,你的问题会传到遥远的服务器。有人可以读取它们。用Inference-X,没有任何东西离开你的设备。",d3t:"可在任何硬件上运行",d3p:"旧电脑、新手机、树莓派、数据中心。同一个文件。无需配置。",dev_title:"你的电脑能做什么?",dev_sub:"拖动滑块到你的内存大小。",ram_hint:"你的AI在本地运行。无网络。无账号。永久免费。",priv_title:"你的话语去了哪里?",priv_cloud_t:"云AI",priv_cloud_p:"你的问题离开设备,穿越互联网,到达另一个国家的服务器,被处理、储存和分析。你按字付费。",priv_local_t:"Inference-X",priv_local_p:"你的问题留在你的桌上。答案由你自己的处理器计算。什么都没有离开。你不付任何费用。",size_title:"305 KB有多小?",size_sub:"整个AI引擎,比你想象的还要小。",cost_title:"AI到底花多少钱?",cost_sub:"每天1小时,每天,一整年。",cost_cloud_l:"云API(GPT-4级别)",cost_local_l:"Inference-X(你的硬件)",cost_local_note:"永久 · 仅电费",cost_note:"无需API密钥。无订阅。无限制。",start_title:"准备好了?三个步骤。",start_sub:"选择你的系统。",footcopy:"在摩洛哥为世界而建。"},
|
||
hi:{disc_title:"तीन बातें। बस इतना।",disc_sub:"कोई डिग्री नहीं चाहिए। अगर डिवाइस है तो AI है।",d1t:"यह एक छोटी सी फ़ाइल है",d1p:"305 किलोबाइट। आपके फ़ोन की तस्वीर से भी छोटा। यह फ़ाइल आपके कंप्यूटर को बिना इंटरनेट के AI चलाने देती है।",d2t:"आपके शब्द आपके हैं",d2p:"ऑनलाइन AI आपके सवाल दूर के सर्वर पर भेजता है। Inference-X के साथ, कुछ भी आपकी मशीन नहीं छोड़ता।",d3t:"हर डिवाइस पर चलता है",d3p:"पुराना लैपटॉप, नया फ़ोन, Raspberry Pi। एक ही फ़ाइल। कोई सेटअप नहीं।",dev_title:"आपका कंप्यूटर क्या कर सकता है?",dev_sub:"स्लाइडर को अपनी RAM पर ले जाएं।",ram_hint:"आपका AI लोकल चलता है। इंटरनेट नहीं। अकाउंट नहीं। हमेशा के लिए मुफ़्त।",priv_title:"आपके शब्द कहाँ जाते हैं?",priv_cloud_t:"क्लाउड AI",priv_cloud_p:"आपका सवाल इंटरनेट पार करके दूसरे देश के सर्वर पर जाता है। कोई पढ़ सकता है। आप प्रति शब्द भुगतान करते हैं।",priv_local_t:"Inference-X",priv_local_p:"आपका सवाल आपकी मेज पर रहता है। जवाब आपका प्रोसेसर देता है। कुछ नहीं जाता। कुछ नहीं देते।",size_title:"305 KB कितना छोटा है?",size_sub:"पूरा AI इंजन — सोच से भी छोटा।",cost_title:"AI की असली कीमत?",cost_sub:"रोज 1 घंटे, पूरे साल।",cost_cloud_l:"क्लाउड API (GPT-4 श्रेणी)",cost_local_l:"Inference-X (आपका हार्डवेयर)",cost_local_note:"हमेशा के लिए · सिर्फ बिजली",cost_note:"कोई API key नहीं। कोई सब्सक्रिप्शन नहीं।",start_title:"तैयार? तीन कदम।",start_sub:"अपना सिस्टम चुनें।",footcopy:"मोरक्को में दुनिया के लिए बनाया गया।"}
|
||
};
|
||
|
||
function applyLang(l){
|
||
var t=TRANS[l]||TRANS['en'];
|
||
for(var k in t){var el=document.getElementById(k);if(el){if(k==='footcopy')el.innerHTML=t[k].replace('\n','<br>');else el.textContent=t[k];}}
|
||
document.documentElement.lang=l;
|
||
// RTL for Arabic
|
||
document.body.dir=(l==='ar')?'rtl':'ltr';
|
||
}
|
||
|
||
function cycleLang(){
|
||
curLang=(curLang+1)%LANGS.length;
|
||
var l=LANGS[curLang];
|
||
document.getElementById('lb').textContent=LNAMES[l]||l.toUpperCase();
|
||
applyLang(l);
|
||
}
|
||
|
||
// Auto-detect language
|
||
try{
|
||
var bl=navigator.language.split('-')[0];
|
||
var idx=LANGS.indexOf(bl);
|
||
if(idx>0){curLang=idx-1;cycleLang();}
|
||
}catch(e){}
|
||
|
||
// ═══ RAM SLIDER ═══
|
||
var MODELS=[
|
||
{min:1,max:3,icon:'⚡',name:'LLaMA 3.2 1B',size:'~1 GB',speed:'~15 tok/s',cat:'Chat · Fast'},
|
||
{min:2,max:5,icon:'🧠',name:'Phi-3 Mini 3.8B',size:'~2.5 GB',speed:'~12 tok/s',cat:'Smart · Efficient'},
|
||
{min:4,max:8,icon:'🌐',name:'Mistral 7B',size:'~5 GB',speed:'~8 tok/s',cat:'Multilingual · Code'},
|
||
{min:6,max:10,icon:'🔬',name:'LLaMA 3.1 8B',size:'~6 GB',speed:'~7 tok/s',cat:'Reasoning · General'},
|
||
{min:10,max:20,icon:'✨',name:'Qwen 2.5 14B',size:'~9 GB',speed:'~5 tok/s',cat:'Analysis · Multilingual'},
|
||
{min:14,max:24,icon:'🎯',name:'Mistral 22B',size:'~14 GB',speed:'~3 tok/s',cat:'Expert · Creative'},
|
||
{min:24,max:56,icon:'🚀',name:'LLaMA 3.1 70B',size:'~45 GB',speed:'~1.5 tok/s',cat:'Professional · Math'},
|
||
{min:56,max:200,icon:'🌟',name:'DeepSeek V3 671B',size:'~60 GB (MoE)',speed:'~0.8 tok/s',cat:'Expert · Research'}
|
||
];
|
||
|
||
function updateRAM(){
|
||
var ram=parseInt(document.getElementById('ramSlider').value);
|
||
document.getElementById('ramVal').innerHTML='RAM: <strong>'+ram+' GB</strong> — models that fit on your device';
|
||
var html='';
|
||
var shown=0;
|
||
MODELS.forEach(function(m){
|
||
var fits=ram>=m.min;
|
||
if(fits||ram>=m.min-2){
|
||
html+='<div class="ram-item'+(fits?' active':'') +'">';
|
||
html+='<span class="ri-icon">'+m.icon+'</span>';
|
||
html+='<span class="ri-name">'+m.name+'</span>';
|
||
html+='<span class="ri-size">'+m.size+'</span>';
|
||
if(fits)html+='<span class="ri-speed">'+m.speed+'</span>';
|
||
else html+='<span class="ri-speed" style="color:var(--red)">Need '+m.min+'GB</span>';
|
||
html+='</div>';
|
||
shown++;
|
||
}
|
||
});
|
||
if(shown===0)html='<div style="color:var(--muted);font-size:.85rem;padding:.8rem">Move slider to see what models fit →</div>';
|
||
document.getElementById('ramResults').innerHTML=html;
|
||
}
|
||
document.getElementById('ramSlider').oninput=updateRAM;
|
||
updateRAM();
|
||
|
||
// ═══ QUICK START TABS ═══
|
||
function setQS(os){
|
||
document.querySelectorAll('.qs-tab').forEach(function(t){t.classList.remove('active')});
|
||
document.querySelectorAll('.qs-block').forEach(function(b){b.classList.remove('active')});
|
||
event.target.classList.add('active');
|
||
document.getElementById('qs-'+os).classList.add('active');
|
||
}
|
||
|
||
// ═══ DONATION ═══
|
||
function setDonation(amt){
|
||
document.querySelectorAll('.donate-btn').forEach(function(b){b.classList.remove('active')});
|
||
event.target.classList.add('active');
|
||
document.getElementById('donateLink').href='https://paypal.me/elmadanisalka/'+amt;
|
||
document.getElementById('donateLink').textContent='Donate €'+amt+' via PayPal →';
|
||
}
|
||
|
||
// ═══ HARDWARE SCOUT ═══
|
||
function loadScout(){
|
||
fetch('/api/community/scout').then(function(r){return r.json()}).then(function(d){
|
||
var b=d.backends||{};
|
||
var rows='';
|
||
if(Object.keys(b).length===0){
|
||
rows='<tr><td colspan="5" style="color:var(--muted);text-align:center;font-size:.82rem;padding:2rem">No nodes reporting yet. Run IX with <code>--scout</code> to join.</td></tr>';
|
||
}else{
|
||
for(var bk in b){
|
||
var bd=b[bk];
|
||
var load=Math.round((bd.avg_load_pct||0));
|
||
rows+='<tr>';
|
||
rows+='<td><span class="backend-chip">'+bk+'</span></td>';
|
||
rows+='<td>'+(bd.node_count||0)+'</td>';
|
||
rows+='<td>'+(bd.avg_tokens_per_sec||0).toFixed(1)+'</td>';
|
||
rows+='<td><div class="load-bar"><div class="load-fill" style="width:'+load+'%"></div></div> '+load+'%</td>';
|
||
rows+='<td><span class="live-dot"></span>live</td>';
|
||
rows+='</tr>';
|
||
}
|
||
}
|
||
document.getElementById('scoutBody').innerHTML=rows;
|
||
}).catch(function(){
|
||
document.getElementById('scoutBody').innerHTML='<tr><td colspan="5" style="color:var(--muted);font-size:.82rem;text-align:center">Network loading...</td></tr>';
|
||
});
|
||
}
|
||
loadScout();
|
||
setInterval(loadScout,30000);
|
||
|
||
// ═══ LIVE COSTS ═══
|
||
fetch('/api/community/costs').then(function(r){return r.json()}).then(function(d){
|
||
if(d.total_eur_month){document.getElementById('costsLive').textContent='€'+d.total_eur_month+'/mo';}
|
||
}).catch(function(){});
|
||
|
||
// ═══ SCROLL REVEAL ═══
|
||
var observer=new IntersectionObserver(function(entries){
|
||
entries.forEach(function(e){if(e.isIntersecting)e.target.classList.add('visible')});
|
||
},{threshold:0.1,rootMargin:'0px 0px -40px 0px'});
|
||
document.querySelectorAll('.reveal').forEach(function(el){observer.observe(el)});
|
||
|
||
// ═══ NAV ACTIVE ═══
|
||
window.addEventListener('scroll',function(){
|
||
var sections=document.querySelectorAll('section[id]');
|
||
var pos=window.scrollY+100;
|
||
sections.forEach(function(s){
|
||
if(s.offsetTop<=pos&&s.offsetTop+s.offsetHeight>pos){
|
||
document.querySelectorAll('.nav-links a').forEach(function(a){
|
||
a.style.color=a.getAttribute('href')==='#'+s.id?'var(--amber)':'';
|
||
});
|
||
}
|
||
});
|
||
});
|
||
</script>
|
||
</body>
|
||
</html>
|