diff --git a/index.html b/index.html index 18f0499..d5b445f 100644 --- a/index.html +++ b/index.html @@ -4,17 +4,17 @@ Inference Cooperative — Our AI, governed together - + - + - + @@ -66,6 +66,7 @@ --green-mid: #6ba86b; --green-light: #7ab87a; --border: #e8e2d8; + --wash: #eef4ea; } * { margin: 0; padding: 0; box-sizing: border-box; } @@ -74,55 +75,87 @@ background: var(--cream); color: var(--ink); font-family: 'Figtree', sans-serif; - min-height: 100vh; - display: flex; - flex-direction: column; - align-items: center; - justify-content: center; - padding: 64px 32px; - text-align: center; + line-height: 1.6; + -webkit-font-smoothing: antialiased; } + a { color: var(--green-deep); text-decoration: none; } + a:hover { text-decoration: underline; } + .wrap { width: 100%; - max-width: 1080px; + max-width: 1120px; + margin: 0 auto; + padding: 0 32px; } - .logo { - margin-bottom: 28px; + section { padding: 72px 0; } + section.alt { background: var(--wash); } + + .kicker { + font-size: 13px; + font-weight: 700; + letter-spacing: 0.08em; + text-transform: uppercase; + color: var(--green-deep); + margin-bottom: 14px; } - h1 { - font-size: 40px; + h2 { + font-size: 32px; font-weight: 700; letter-spacing: -0.02em; - margin-bottom: 8px; + line-height: 1.2; + margin-bottom: 16px; } - .url { + .lede { + font-size: 19px; + font-weight: 500; + color: var(--muted); + max-width: 680px; + margin-bottom: 40px; + } + + /* ---------- Hero ---------- */ + .hero { + text-align: center; + padding: 88px 0 64px; + } + .hero .logo { margin-bottom: 28px; } + .hero h1 { + font-size: 44px; + font-weight: 700; + letter-spacing: -0.02em; + margin-bottom: 6px; + } + .hero .url { font-size: 16px; font-weight: 500; color: var(--green-deep); margin-bottom: 24px; } - - .tagline { - font-size: 22px; + .hero .tagline { + font-size: 24px; font-weight: 500; + color: var(--ink); + max-width: 660px; + margin: 0 auto 16px; + line-height: 1.4; + } + .hero .sub { + font-size: 17px; color: var(--muted); max-width: 640px; - margin: 0 auto 48px; - line-height: 1.6; + margin: 0 auto 40px; } - .features { display: flex; - gap: 14px; + gap: 12px; flex-wrap: wrap; justify-content: center; - margin-bottom: 56px; + margin-bottom: 44px; } - .tag { display: inline-block; padding: 8px 18px; @@ -132,327 +165,513 @@ background: #e8f5e8; color: var(--green-deep); } - - .cta { - display: inline-block; - padding: 14px 36px; - border-radius: 10px; - font-size: 16px; - font-weight: 600; - background: var(--green-deep); - color: var(--white); - text-decoration: none; - transition: opacity 0.2s; - } - - .cta:hover { opacity: 0.9; } - - .cta-secondary { - display: inline-block; - padding: 14px 36px; - border-radius: 10px; - font-size: 16px; - font-weight: 600; - background: transparent; - color: var(--green-deep); - text-decoration: none; - border: 2px solid var(--green-deep); - transition: background 0.2s; - } - - .cta-secondary:hover { background: #e8f5e8; } - .cta-row { display: flex; gap: 16px; flex-wrap: wrap; justify-content: center; - margin: 40px 0; } + .cta { + display: inline-block; + padding: 15px 38px; + border-radius: 10px; + font-size: 16px; + font-weight: 600; + background: var(--green-deep); + color: var(--white); + transition: opacity 0.2s; + } + .cta:hover { opacity: 0.9; text-decoration: none; } + .cta-secondary { + display: inline-block; + padding: 15px 38px; + border-radius: 10px; + font-size: 16px; + font-weight: 600; + background: transparent; + color: var(--green-deep); + border: 2px solid var(--green-deep); + transition: background 0.2s; + } + .cta-secondary:hover { background: #e8f5e8; text-decoration: none; } - /* Prominent notices — how-it-works and beta, styled to stand out. */ - .notices { - display: flex; - flex-direction: column; - gap: 16px; + /* ---------- Why ---------- */ + .why { text-align: center; } + .why p { + font-size: 18px; + color: var(--ink); max-width: 720px; margin: 0 auto; } + .why p + p { margin-top: 18px; color: var(--muted); } - .notice { + /* ---------- Cogovernance ---------- */ + .cogov-grid { display: flex; - align-items: flex-start; - gap: 16px; - background: #e8f5e8; - border: 1px solid var(--green-mid); - border-radius: 14px; - padding: 18px 24px; - text-align: left; - box-shadow: 0 1px 2px rgba(45, 51, 39, 0.04); + gap: 56px; + align-items: center; } - - .notice--beta { - background: #fdf3e3; - border-color: #e0b36a; + .cogov-copy { flex: 1 1 55%; } + .cogov-copy p { + font-size: 17px; + color: var(--muted); + margin-bottom: 24px; } - - .notice-label { - flex-shrink: 0; - display: inline-block; - padding: 4px 14px; - border-radius: 14px; - font-size: 13px; - font-weight: 700; - letter-spacing: 0.02em; - background: var(--green-deep); - color: var(--white); - white-space: nowrap; - } - - /* Mobile: stack the pill above centered text (no flex side-by-side). */ - @media (max-width: 600px) { - .notice { - flex-direction: column; - align-items: center; - gap: 10px; - text-align: center; - } - - .notice p { - margin: 0; - } - } - - .notice-label--beta { - background: #c98a2b; - } - - .notice p { - font-size: 15px; + .decide-list { list-style: none; margin-bottom: 28px; } + .decide-list li { + font-size: 16px; + padding: 10px 0 10px 30px; + position: relative; color: var(--ink); - line-height: 1.5; + } + .decide-list li::before { + content: ""; + position: absolute; + left: 0; + top: 16px; + width: 9px; + height: 9px; + border-radius: 50%; + background: var(--green-mid); + } + .cogov-visual { flex: 0 0 260px; text-align: center; } + .cogov-visual svg { display: block; margin: 0 auto; } + .cogov-visual .caption { + font-size: 13px; + color: var(--light-muted); + margin-top: 10px; } - .benefits { - display: flex; + .flow { + display: grid; + grid-template-columns: repeat(4, 1fr); + gap: 20px; + margin-top: 40px; + } + .flow-step { + background: var(--white); + border: 1px solid var(--border); + border-radius: 14px; + padding: 22px 20px; + } + .flow-step .num { + font-size: 12px; + font-weight: 700; + letter-spacing: 0.06em; + color: var(--green-deep); + margin-bottom: 8px; + } + .flow-step h3 { font-size: 16px; font-weight: 700; margin-bottom: 6px; } + .flow-step p { font-size: 14px; color: var(--muted); } + + /* ---------- Membership ---------- */ + .membership-grid { + display: grid; + grid-template-columns: repeat(2, 1fr); gap: 24px; - flex-wrap: wrap; - justify-content: center; - margin: 64px 0 8px; - max-width: 1080px; + margin-top: 40px; } + .mcard { + background: var(--white); + border: 1px solid var(--border); + border-radius: 16px; + padding: 28px; + } + .mcard h3 { font-size: 18px; font-weight: 700; margin-bottom: 8px; } + .mcard p { font-size: 15px; color: var(--muted); } - .benefit-card { - flex: 1 1 300px; - max-width: 340px; + /* ---------- Values ---------- */ + .values-grid { + display: grid; + grid-template-columns: repeat(3, 1fr); + gap: 24px; + margin-top: 40px; + } + .value-card { background: var(--white); border: 1px solid var(--border); border-radius: 16px; padding: 32px 28px; + } + .value-card .icon { margin-bottom: 18px; } + .value-card h3 { font-size: 19px; font-weight: 700; margin-bottom: 10px; } + .value-card p { font-size: 15px; color: var(--muted); } + .value-note { + font-size: 15px; + color: var(--muted); + margin-top: 28px; text-align: center; } - .benefit-card .icon { - width: 40px; - height: 40px; - margin: 0 auto 16px; - display: block; + .use-grid { + display: grid; + grid-template-columns: repeat(2, 1fr); + gap: 24px; + margin-top: 40px; } - - .benefit-card h2 { - font-size: 18px; - font-weight: 700; - margin-bottom: 8px; + .use-card { + background: var(--white); + border: 1px solid var(--border); + border-radius: 16px; + padding: 32px 28px; } - - .benefit-card p { - font-size: 14px; - color: var(--muted); - line-height: 1.5; - margin-bottom: 14px; - } - - .benefit-card ul { - list-style: none; - padding: 0; - display: inline-block; - text-align: left; - } - - .benefit-card li { - font-size: 14px; + .use-card h3 { font-size: 20px; font-weight: 700; margin-bottom: 10px; } + .use-card p { font-size: 15px; color: var(--muted); margin-bottom: 16px; } + .use-card ul { list-style: none; } + .use-card li { + font-size: 15px; color: var(--ink); - padding-left: 20px; + padding: 6px 0 6px 24px; position: relative; - margin-bottom: 6px; } - - .benefit-card li::before { + .use-card li::before { content: ""; position: absolute; left: 0; - top: 6px; + top: 12px; width: 8px; height: 8px; border-radius: 50%; background: var(--green-mid); } - .footer { - margin-top: 72px; - font-size: 13px; - color: var(--light-muted); - display: flex; - flex-direction: column; - align-items: center; - gap: 18px; + /* ---------- Built ---------- */ + .built p { + font-size: 17px; + color: var(--muted); + max-width: 680px; + } + .built ul { list-style: none; margin-top: 24px; } + .built li { + font-size: 16px; + padding: 8px 0 8px 28px; + position: relative; + color: var(--ink); + } + .built li::before { + content: ""; + position: absolute; + left: 0; + top: 14px; + width: 9px; + height: 9px; + border-radius: 50%; + background: var(--green-mid); } + /* ---------- Final CTA ---------- */ + .final { text-align: center; } + .final h2 { margin-bottom: 8px; } + .final p { font-size: 17px; color: var(--muted); margin-bottom: 32px; } + + /* ---------- Footer ---------- */ + .footer { + padding: 40px 0 56px; + text-align: center; + font-size: 13px; + color: var(--light-muted); + border-top: 1px solid var(--border); + } .footer .made-for { display: flex; align-items: center; + justify-content: center; gap: 8px; font-size: 14px; color: var(--muted); + margin-bottom: 16px; } - .footer .made-for img { width: 18px; height: 18px; border-radius: 50%; vertical-align: middle; } - - .footer .made-for a { - color: var(--green-deep); - font-weight: 600; - } - + .footer .made-for a { color: var(--green-deep); font-weight: 600; } .footer .links { display: flex; gap: 8px; flex-wrap: wrap; justify-content: center; } + .footer .links a { color: var(--muted); } + .footer .links a:hover { text-decoration: underline; } - .footer a { - color: var(--muted); - text-decoration: none; + @media (max-width: 840px) { + .cogov-grid { flex-direction: column; } + .cogov-visual { order: -1; flex-basis: auto; } + .flow { grid-template-columns: repeat(2, 1fr); } + .values-grid, .use-grid, .membership-grid { grid-template-columns: 1fr; } + } + @media (max-width: 520px) { + section { padding: 52px 0; } + h2 { font-size: 27px; } + .hero h1 { font-size: 36px; } + .flow { grid-template-columns: 1fr; } } - - .footer a:hover { text-decoration: underline; } -
- - - -

Inference Cooperative

-
inference.coop
- -

Our AI, governed together. A member-governed cooperative for AI inference where you pick your models — and help run the place.

- -
- Privacy-protected options - Renewable-energy models - Member-governed - Open source -
- -
- Become a member - Member login -
- -
-
- How it works -

Join on Open Collective, then check your email to set up your account. Once set up, you get access to chat, the developer API, and member governance.

+ +
+
+ +

Inference Cooperative

+
inference.coop
+

Our AI, governed together.

+

A member-governed cooperative for AI — where the people who use the models also direct them.

+
+ Member-governed + Open source + Privacy options + Renewable options +
+
+
-
- Beta -

This service is a work in progress, being built by its members. Things may change as we learn.

+ +
+
+
Why we exist
+

AI is becoming infrastructure.

+

The models shaping how we work, learn, and talk are owned by a handful of companies — and governed by no one in particular.

+

We think that's backwards. A tool this consequential should answer to the people who use it. So we're building AI the way we build public institutions: directed by its members, not by shareholders.

-
+ -
-
- -

Chat with the models you choose

-

Talk to leading open models, and pick where they run — including privacy-protected and renewable-energy options.

+ +
+
+
Cogovernance
+

You don't just use it. You help run it.

+

Membership isn't a subscription to a service. It's a seat in a shared institution. When a question comes up, members weigh in, deliberate in the open, and help steer the co-op.

+ +
+
+

Here's the kind of thing members shape together:

+
    +
  • Which models and providers we carry
  • +
  • What we charge, and the monthly allowance
  • +
  • How we handle privacy, energy, and sovereignty
  • +
  • What we build next — and why
  • +
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Members, gathered around a shared decision
+
+
+ +
+
+
1
+

Propose

+

Any member opens an idea on the forum or the support repo.

+
+
+
2
+

Deliberate

+

Members discuss it in the open, on Loomio.

+
+
+
3
+

Decide

+

The co-op weighs in and reaches a decision together.

+
+
+
4
+

Ship

+

It goes live in the stack, tracked in our open repos.

+
+
+
+
+ + +
+
+
Membership
+

One membership. A fair price, a full seat.

+

Everyone joins the same way, and everyone gets the same things — the difference is what you can afford to give, not what you get back.

+
+
+

Pay what's fair

+

Dues are a sliding scale of $10–20 a month. You choose the amount that fits your circumstances.

+
+
+

Everyone gets the same allowance

+

A monthly credit of $15 for chat and API alike, whether you pay $10 or $20.

+
+
+

Chat, API, and a vote

+

One membership opens the chat, the developer API, and a seat in governance.

+
+
+

Leave any time

+

Cancel whenever you like. Your data stays yours.

+
+
+
+
+ + +
+
+
How you use it
+

Choose by what you value.

+

Different members care about different things. So we let you route your AI by the value that matters to you — not lock you to a single provider.

+ +
+
+
+ +
+

Privacy

+

Models running in encrypted enclaves, so even we can't read your prompts or responses.

+
+
+
+ +
+

Renewable energy

+

Models served on 100% renewable power, for members who want their AI to be lighter on the planet.

+
+
+
+ +
+

Publicly developed

+

Open, sovereign models built as public goods rather than proprietary products.

+
+
+ +

The exact lineup changes as the co-op decides. The choice — yours, every time — doesn't.

+ +
+
+

Chat

+

Your own chat, tuned to the value you pick.

+
    +
  • Web search built in
  • +
  • File uploads & documents
  • +
  • Pick the model and provider each time
  • +
+
+
+

Developer API

+

Bring your own tools, through a standard endpoint.

+
    +
  • OpenAI-compatible
  • +
  • Your own API keys
  • +
  • Shares the same monthly allowance
  • +
+
+
+
+
+ + +
+
+
How it's built
+

Built the cooperative way.

+

Everything we run is self-hosted, open source, and free of external dependencies — so the co-op controls its own stack, and members can see exactly how it works.

    -
  • Privacy-protected models
  • -
  • Renewable-energy models
  • -
  • Web search built in
  • +
  • Self-hosted on our own infrastructure
  • +
  • Open source — the code and docs are public
  • +
  • We don't train on your data
  • +
  • Fiscally sponsored by Metagov, funded through Open Collective
+
-
- -

API access

-

Use the same models from your own tools through a standard API.

-
    -
  • OpenAI-compatible endpoint
  • -
  • Your own API keys
  • -
  • Shares your member budget
  • -
+ +
+
+

Help run the AI you use.

+

Join the cooperative, and help decide where it goes next.

+
+
-
- -

A seat at the table

-

Members decide the future of the cooperative, not just consume it.

-
    -
  • Vote on models & priorities
  • -
  • Shape pricing & policy
  • -
  • Own the roadmap
  • -
-
-
- - -
- -
+ - \ No newline at end of file +