// components/comparison.el - Neuron vs the field comparison section. extern fn el_section(attrs: String, children: String) -> String extern fn el_div(attrs: String, children: String) -> String extern fn el_span(attrs: String, children: String) -> String extern fn el_h2(attrs: String, text: String) -> String extern fn el_p(attrs: String, children: String) -> String extern fn el_img(src: String, alt: String, attrs: String) -> String extern fn el_em(children: String) -> String extern fn el_br() -> String fn comparison_header() -> String { el_div( "class=\"comparison-header\" style=\"text-align:center;margin-bottom:4rem\"", el_div( "style=\"display:flex;align-items:center;justify-content:center;gap:1.5rem;margin-bottom:2rem\"", el_div("class=\"navy-line-left\" style=\"width:4rem;flex-shrink:0;transform:scaleX(-1)\"", "") + el_span("class=\"label reveal\" style=\"color:var(--navy-85)\"", "How we compare") + el_div("class=\"navy-line-left\" style=\"width:4rem;flex-shrink:0\"", "") ) + el_h2( "class=\"display-lg reveal\" style=\"transition-delay:80ms;max-width:36rem;margin:0 auto 1.25rem\"", "Every other AI forgets you." + el_br() + el_span("class=\"gold\"", "Neuron doesn't.") ) + el_p("class=\"reveal\" style=\"transition-delay:160ms;font-family:var(--body);font-weight:300;font-size:1rem;color:var(--t2);line-height:1.7;max-width:32rem;margin:0 auto\"", "The others are tools. Neuron is a relationship. Here's the difference." ) ) } fn comparison_table_head() -> String { let neuron_th: String = "" + "
" + el_img("/assets/neuron-icon.png", "Neuron", "style=\"width:28px;height:28px\"") + "Neuron
" let chatgpt_th: String = "" + "
" + el_img("/assets/brand/openai.svg", "ChatGPT", "style=\"width:28px;height:28px\"") + "ChatGPT
" let claude_th: String = "" + "
" + el_img("/assets/brand/anthropic.svg", "Claude", "style=\"width:28px;height:28px\"") + "Claude
" let gemini_th: String = "" + "
" + el_img("/assets/brand/gemini.svg", "Gemini", "style=\"width:28px;height:28px\"") + "Gemini
" let copilot_th: String = "" + "
" + el_img("/assets/brand/copilot.svg", "Copilot", "style=\"width:28px;height:28px\"") + "Copilot
" "" + "Feature" + neuron_th + chatgpt_th + claude_th + gemini_th + copilot_th + "" } fn comparison_rows() -> String { let row1: String = "" + "Persistent memory" + "
Permanent, structured" + "
Limited memory" + "
Resets each session" + "
Resets each session" + "
Resets each session" + "" let row2: String = "" + "Your data stays local" + "
Runs on your device" + "
Cloud only" + "
Cloud only" + "
Cloud only" + "
Cloud only" + "" let row3: String = "" + "No training on your data" + "
Architecturally impossible" + "
Opt-out required" + "
Policy-based" + "
Policy-based" + "
Policy-based" + "" let row4: String = "" + "Works offline" + "
Coming soon" + "" + "" + "" + "" + "" let row5: String = "" + "Bring your own API keys" + "
OpenAI, Anthropic, Grok..." + "" + "" + "" + "" + "" let row6: String = "" + "Structured knowledge graph" + "
Your memories, organized" + "" + "" + "" + "" + "" let row7: String = "" + "Images & video generation" + "
Coming soon" + "" + "" + "" + "" + "" let row8: String = "" + "You own your outputs" + "
No platform claim, ever" + "
ToS-dependent" + "
ToS-dependent" + "
ToS-dependent" + "
ToS-dependent" + "" let row9: String = "" + "Price (with inference)" + "$19/mo
or $199 founding (first 1,000)" + "$20/mo
forgets you" + "$20/mo
no memory" + "Free–$20
no memory" + "$30/mo
Microsoft 365" + "" let row10: String = "" + "Free tier" + "
Full app, forever" + "
GPT-3.5 only" + "
Limited" + "
Limited" + "
Microsoft 365 required" + "" "" + row1 + row2 + row3 + row4 + row5 + row6 + row7 + row8 + row9 + row10 + "" } fn comparison() -> String { let table: String = el_div( "class=\"comparison-table reveal\" style=\"transition-delay:200ms;overflow-x:auto;-webkit-overflow-scrolling:touch\"", "" + comparison_table_head() + comparison_rows() + "
" ) let legend: String = el_div( "class=\"reveal\" style=\"transition-delay:300ms;margin-top:3rem;display:flex;align-items:center;justify-content:center;gap:3rem;flex-wrap:wrap\"", el_div("style=\"display:flex;align-items:center;gap:0.5rem;font-family:var(--body);font-size:0.75rem;color:var(--t3)\"", " Yes / Supported" ) + el_div("style=\"display:flex;align-items:center;gap:0.5rem;font-family:var(--body);font-size:0.75rem;color:var(--t3)\"", " Partial / Limited" ) + el_div("style=\"display:flex;align-items:center;gap:0.5rem;font-family:var(--body);font-size:0.75rem;color:var(--t3)\"", " No / Not supported" ) ) let closing: String = el_div( "class=\"reveal\" style=\"transition-delay:400ms;margin-top:4rem;padding:clamp(1.5rem,4vw,2.5rem) clamp(1.25rem,4vw,3rem);background:var(--card);border:1px solid rgba(0,82,160,.12);border-left:3px solid var(--navy)\"", el_p("style=\"font-family:var(--body);font-weight:300;font-size:1rem;color:var(--t2);line-height:1.8;margin-bottom:1rem\"", "The others are impressive. Some of them are extraordinary at what they do. But they are all built on the same assumption: " + el_em("your context lives in their cloud, session to session, at their discretion.") ) + el_p("style=\"font-family:var(--body);font-weight:300;font-size:1rem;color:var(--t2);line-height:1.8\"", "Neuron starts from a different premise. Your memory is yours. It lives on your machine. It compounds over time, not over sessions. The AI that knows you isn't an AI you borrowed from someone else's cloud - it's one that has been building with you, on your terms, since day one." ) ) el_section( "id=\"comparison\" aria-label=\"Comparison\" style=\"padding:8rem 2.5rem;background:var(--bg2)\"", el_div("class=\"container\"", comparison_header() + table + legend + closing) ) }