<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>Roadmap — GEO Optimizer</title>
<meta name="description" content="GEO Optimizer roadmap: what we're building now, what's next, and what we're exploring.">
<link href="https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=JetBrains+Mono:wght@400;500&display=swap" rel="stylesheet">
<style>
:root{--bg:#06080f;--bg-card:#0d1117;--border:#1b2332;--text:#e2e8f0;--text-dim:#64748b;--text-muted:#475569;
--accent:#3b82f6;--accent2:#8b5cf6;--green:#22c55e;--font:'DM Sans',system-ui,sans-serif;--mono:'JetBrains Mono',monospace;--radius:12px}
*{margin:0;padding:0;box-sizing:border-box}
body{font-family:var(--font);background:var(--bg);color:var(--text);min-height:100vh}
body::before{content:'';position:fixed;inset:0;pointer-events:none;z-index:9999;opacity:.03;
background:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}
a{color:var(--accent);text-decoration:none}
.wrapper{position:relative;z-index:1;max-width:700px;margin:0 auto;padding:2rem 1.5rem}
nav{position:sticky;top:0;z-index:100;display:flex;align-items:center;justify-content:space-between;padding:.65rem 1rem;margin-bottom:2.5rem;background:rgba(6,8,15,.88);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-bottom:1px solid var(--border);border-radius:0 0 12px 12px}
.nav-logo{display:flex;align-items:center;gap:.5rem;font-weight:700;font-size:.95rem;color:var(--text);white-space:nowrap;text-decoration:none}
.nav-logo .dot{width:8px;height:8px;border-radius:50%;background:var(--green);flex-shrink:0;box-shadow:0 0 6px var(--green)}
.nav-logo .ver{font-family:var(--mono);font-size:.65rem;color:var(--accent);background:rgba(59,130,246,.1);border:1px solid rgba(59,130,246,.2);padding:.1rem .4rem;border-radius:20px;margin-left:.25rem}
.nav-links{display:flex;align-items:center;gap:1.25rem}
.nav-links a{color:var(--text-dim);font-size:.82rem;font-weight:500;letter-spacing:.02em;transition:color .2s;white-space:nowrap}
.nav-links a:hover,.nav-links a.active{color:var(--text)}
.nav-cta{display:flex;align-items:center;gap:.4rem;color:var(--text-dim);font-size:.82rem;font-weight:500;border:1px solid var(--border);padding:.3rem .7rem;border-radius:20px;transition:all .2s;white-space:nowrap}
.nav-cta:hover{color:var(--text)}
.nav-cta svg{width:14px;height:14px;fill:currentColor;flex-shrink:0}
.nav-cta .star-count{font-family:var(--mono);font-size:.75rem}
.nav-hamburger{display:none;background:none;border:1px solid var(--border);color:var(--text-dim);padding:.3rem .5rem;border-radius:6px;cursor:pointer;font-size:1.1rem;line-height:1;transition:all .2s}
.nav-hamburger:hover{border-color:var(--border-hover);color:var(--text)}
@media(max-width:768px){
  nav{flex-wrap:wrap;gap:.5rem;padding:.6rem .75rem}
  .nav-links{display:none;width:100%;flex-direction:column;gap:0;border-top:1px solid var(--border);padding-top:.5rem;margin-top:.25rem}
  .nav-links.open{display:flex}
  .nav-links a{padding:.55rem .25rem;border-bottom:1px solid var(--border);font-size:.9rem}
  .nav-links a:last-child{border-bottom:none}
  .nav-hamburger{display:block}
  .nav-logo .ver{display:none}
  .nav-cta .star-count{display:none}
}
@media(max-width:480px){
  .nav-cta span:not(.star-count){font-size:.8rem}
}
.hero{text-align:center;margin-bottom:2.5rem}
.hero h1{font-size:2.4rem;font-weight:700;letter-spacing:-.03em;background:linear-gradient(135deg,#60a5fa,#a78bfa);-webkit-background-clip:text;-webkit-text-fill-color:transparent}
.hero p{color:var(--text-dim);margin-top:.4rem}
.phase{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:1.5rem;margin-bottom:1.25rem;border-left:3px solid}
.phase-now{border-left-color:var(--green)}.phase-next{border-left-color:var(--accent)}.phase-later{border-left-color:var(--text-muted)}
.phase h2{font-size:1.1rem;margin-bottom:.75rem;display:flex;align-items:center;gap:.5rem}
.tag{font-size:.65rem;font-weight:600;padding:.15rem .5rem;border-radius:12px;text-transform:uppercase;letter-spacing:.05em}
.tag-now{background:rgba(34,197,94,.15);color:var(--green)}.tag-next{background:rgba(59,130,246,.15);color:var(--accent)}.tag-later{background:rgba(100,116,139,.15);color:var(--text-muted)}
.phase ul{list-style:none}
.phase li{padding:.35rem 0;color:var(--text-dim);font-size:.9rem;padding-left:1.25rem;position:relative}
.phase li::before{content:'';position:absolute;left:0;top:.6rem;width:6px;height:6px;border-radius:50%}
.phase-now li::before{background:var(--green)}.phase-next li::before{background:var(--accent)}.phase-later li::before{background:var(--text-muted)}
.note{text-align:center;color:var(--text-muted);font-size:.85rem;margin-top:1.5rem}
footer{text-align:center;padding:2rem 0 1rem;border-top:1px solid var(--border);margin-top:2rem;color:var(--text-muted);font-size:.8rem}
footer a{color:var(--text-muted)}
</style>
</head>
<body>
<div class="wrapper">
  <nav>
    <div class="nav-logo">
      <span class="dot"></span>
      <span>GEO Optimizer</span>
      <span class="ver">v3.18.5</span>
    </div>
    <button class="nav-hamburger" id="nav-ham" aria-label="Menu">&#9776;</button>
    <div class="nav-links">
      <a href="/">Audit</a>
      <a href="/compare">Compare</a>
      <a href="/research">Research</a>
      <a href="/roadmap" class="active">Roadmap</a>
      <a href="https://auriti-labs.github.io/geo-optimizer-skill/">Docs</a>
      <a href="/manifesto">Manifesto</a>
    </div>
    <a class="nav-cta" href="https://github.com/Auriti-Labs/geo-optimizer-skill" target="_blank" rel="noopener">
      <svg viewBox="0 0 16 16" xmlns="http://www.w3.org/2000/svg"><path d="M8 .25a7.75 7.75 0 1 0 0 15.5A7.75 7.75 0 0 0 8 .25Zm3.89 4.74-1.67 7.9c-.12.54-.44.67-.9.42L7.9 11.84l-1.16 1.12c-.13.13-.24.24-.49.24l.18-2.5 4.56-4.12c.2-.17-.04-.27-.3-.1L3.43 11.1 1.13 10.4c-.53-.16-.54-.53.11-.78l10.57-4.08c.44-.16.83.11.08.4Z"/></svg>
      GitHub
      <span class="star-count" id="nav-stars"></span>
    </a>
  </nav>
  <div class="hero"><h1>Roadmap</h1><p>Where GEO Optimizer is heading. No dates, just direction.</p></div>

  <div class="phase phase-now">
    <h2><span class="tag tag-now">Now</span> In Development</h2>
    <ul>
      <li>AI Visibility Checker — are you being cited by ChatGPT, Perplexity, Claude?</li>
      <li>Visual audit dashboard with radar charts</li>
      <li>Scheduled monitoring with trend tracking</li>
      <li>REST API for third-party integrations</li>
    </ul>
  </div>
  <div class="phase phase-next">
    <h2><span class="tag tag-next">Next</span> Planned</h2>
    <ul>
      <li>WordPress plugin with admin dashboard</li>
      <li>Server log analysis for AI crawler activity</li>
      <li>Multi-site batch audit with CSV export</li>
      <li>Competitor comparison reports</li>
      <li>Slack/Discord notifications on score changes</li>
    </ul>
  </div>
  <div class="phase phase-later">
    <h2><span class="tag tag-later">Later</span> Exploring</h2>
    <ul>
      <li>WebMCP agent-readiness audit</li>
      <li>Topical cluster architecture analysis</li>
      <li>Trust Stack — 5-layer trust signal aggregation</li>
      <li>Prompt injection detection (GEO security)</li>
      <li>Multi-language GEO optimization</li>
    </ul>
  </div>

  <p class="note">Want to influence the roadmap? <a href="https://github.com/Auriti-Labs/geo-optimizer-skill/issues">Open an issue</a> or <a href="https://github.com/Auriti-Labs/geo-optimizer-skill/discussions">start a discussion</a>.</p>
  <footer><a href="https://github.com/auriti-labs/geo-optimizer-skill">GitHub</a> &middot; <a href="https://auriti-labs.github.io/geo-optimizer-skill/">Docs</a> &middot; <a href="https://pypi.org/project/geo-optimizer-skill/">PyPI</a></footer>
</div>
<script__NONCE_ATTR__>
fetch('/api/stats').then(function(r){return r.json()}).then(function(d){var ns=document.getElementById('nav-stars');if(ns&&d.github_stars)ns.textContent='★ '+d.github_stars}).catch(function(){});
document.getElementById('nav-ham').addEventListener('click',function(){
  document.querySelector('.nav-links').classList.toggle('open');
  this.textContent=this.textContent==='☰'?'✕':'☰';
});
</script>
</body>
</html>
