From 0bedc75921545d33dda62d22e16ab3b786f49a5a Mon Sep 17 00:00:00 2001 From: Ettore Di Giacinto Date: Fri, 31 Jul 2026 14:24:26 +0000 Subject: [PATCH] fix(website): rewrite the ecosystem band, drop two false coverage links The band led with three sentences of hedging and printed a commit count next to each employer, so a one-commit entry beside a large name read as weakness rather than as the modest, true claim it was. It now opens on the contributor count, sets the employers as a sentence instead of a pill wall, and keeps the caveat to one line. The counts stay in ecosystem.yaml, since they are the provenance for the list and anyone re-checking it needs them. Two "coverage" cards were not about this project. The modelslab.com piece reviews Frikallo/parakeet.cpp, an unrelated project of the same name, and the snailtext.app benchmark measures Parakeet through ONNX Runtime without mentioning LocalAI at all. Both are removed, along with the contributor card that duplicated the band's opening line. Press was four posts from one vendor, which read as the whole of the coverage rather than one enthusiastic outlet. SUSE collapses to a single series entry, and Pulumi, Semaphore and Spectro Cloud join it. Each was opened and checked against the project before being added. K8sGPT and LlamaIndex join the integrations; both document LocalAI as a backend. The quotes move above the lists so the section opens on its strongest line, which is somebody else's. The hero gains a GitHub call to action, the APEX collection link was returning 404 and is corrected, and the footer no longer describes the site as a design mock. Signed-off-by: Ettore Di Giacinto Assisted-by: Claude Code:claude-opus-5[1m] --- website/data/ecosystem.yaml | 54 ++++++++++++++----- website/hugo.toml | 1 + website/layouts/index.html | 77 +++++++++++++--------------- website/layouts/partials/footer.html | 2 +- website/layouts/partials/nav.html | 2 +- website/static/css/site.css | 14 ++--- 6 files changed, 87 insertions(+), 63 deletions(-) diff --git a/website/data/ecosystem.yaml b/website/data/ecosystem.yaml index 76068c28f..fe2fcecd1 100644 --- a/website/data/ecosystem.yaml +++ b/website/data/ecosystem.yaml @@ -19,6 +19,10 @@ contributors: note: "Engineers whose public profile names these employers have commits in the repository." + # The landing page prints the names only, not the per-company counts: a "1 + # commit" stamp next to a large employer reads as weakness even though the + # claim is exactly as true. The counts stay here because they are the + # provenance for the list, and anyone re-checking it needs them. companies: - { name: "Microsoft", people: 3, commits: 20 } - { name: "Spectro Cloud", people: 3, commits: 11 } @@ -70,28 +74,50 @@ integrations: by: Sertac Ozercan url: https://github.com/sozercan/aikit what: "Builds fine-tuned models into images that serve through LocalAI." + - name: K8sGPT + by: CNCF Sandbox + url: https://docs.k8sgpt.ai/reference/providers/backend/ + what: "Lists LocalAI as an analysis backend, alongside Bedrock and Azure OpenAI." + - name: LlamaIndex + url: https://docs.llamaindex.ai/en/stable/examples/llm/localai/ + what: "Documents LocalAI as an OpenAI-compatible LLM you can point it at." - name: Kairos url: https://github.com/kairos-io/kairos what: "Ships LocalAI as part of its immutable Linux distribution." press: note: "Written about LocalAI, by people who do not work on it." + # One card per outlet. SUSE published four posts, and listing them as four + # entries made a single vendor look like the whole of the coverage; as one + # series entry the repetition becomes the point instead of the problem. + # + # Every entry here has been opened and checked to confirm it is about this + # project. Two earlier "coverage" links were not: a modelslab.com piece that + # reviewed Frikallo/parakeet.cpp, an unrelated project of the same name, and + # a snailtext.app benchmark of Parakeet through ONNX Runtime that never + # mentioned LocalAI at all. Verify before adding. articles: + - outlet: Pulumi + title: "Deploy low-code LLM apps on AWS with Flowise and LocalAI" + author: "Engin Diri" + date: "2024-02-26" + url: https://www.pulumi.com/blog/low-code-llm-apps-with-local-ai-flowise-and-pulumi/ + what: "A full EKS deployment, with LocalAI doing inference and no GPU in the cluster." + - outlet: Semaphore + title: "LocalAI: replacing OpenAI API with open-source" + author: "Tomas Fernandez" + date: "2023-12-19" + url: https://semaphore.io/blog/localai + what: "Swapping an existing OpenAI integration over to LocalAI, endpoint by endpoint." + - outlet: Spectro Cloud + title: "K8sGPT + LocalAI: unlock Kubernetes superpowers for free" + author: "Tyler Gillson" + date: "2023-04-29" + url: https://www.spectrocloud.com/blog/k8sgpt-localai-unlock-kubernetes-superpowers-for-free + what: "Cluster diagnosis through K8sGPT, answered by a model running on CPU." - outlet: SUSE - title: "Running AI locally" + title: "A four-part series on running AI locally" author: "Christian Huller" date: "2025-11-24" url: https://www.suse.com/c/running-ai-locally/ - what: "Deploying LocalAI on openSUSE, then driving it from VS Code." - - outlet: SUSE - title: "Adding own documents to your local AI using RAG" - url: https://www.suse.com/c/adding-own-documents-to-your-local-ai-using-rag/ - what: "Retrieval over your own documents, on top of LocalAI." - - outlet: SUSE - title: "Local AI and Confluence" - url: https://www.suse.com/c/local-ai-and-confluence/ - what: "Putting a Confluence space behind a local model." - - outlet: SUSE - title: "Introduction to AI training with openSUSE" - url: https://www.suse.com/c/introduction-to-ai-training-with-opensuse/ - what: "Training a LoRA and serving it through LocalAI." + what: "Install on openSUSE and drive it from VS Code, add your own documents with RAG, put a Confluence space behind a local model, then train a LoRA and serve it." diff --git a/website/hugo.toml b/website/hugo.toml index 7b753468d..968b3a68d 100644 --- a/website/hugo.toml +++ b/website/hugo.toml @@ -18,6 +18,7 @@ enableEmoji = true huggingface = 'https://huggingface.co/mudler' # Refreshed by hand or by CI; shown in the nav and the traction band. stars = '48,042' + contributors = '224' [markup.goldmark.renderer] unsafe = true diff --git a/website/layouts/index.html b/website/layouts/index.html index 6dd4aae92..a2a98a915 100644 --- a/website/layouts/index.html +++ b/website/layouts/index.html @@ -13,6 +13,7 @@
0GitHub stars
@@ -279,7 +280,7 @@

Qwen3.5-35B-A3B on an NVIDIA DGX Spark (GB10). Perplexity on wikitext-2-raw at context 2048. Full methodology in the technical report.

@@ -397,35 +398,9 @@ DeutschEspañolfrançais日本語 한국어PortuguêsРусский中文 -

Who turns up around it

-

Engineers from these companies have put code in

-

Every name below is a person with commits in the repository whose public profile - names that employer. It is a claim about them, not about their employer, and the commit history is - there if you want to check it. Organisations that want to say they use LocalAI add themselves to - ADOPTERS.md.

- -

Plus researchers at {{ delimit .Site.Data.ecosystem.contributors.academia ", " " and " }}.

- -

And these projects integrate it

-

Each one references LocalAI in its own repository or documentation, so you can - verify any of them without taking our word for it.

-
- {{- range .Site.Data.ecosystem.integrations.projects }} - {{ .name }}{{ with .by }}{{ . }}{{ end }}{{ .what }} - {{- end }} -
- -

Written about elsewhere

-
- {{- range .Site.Data.ecosystem.press.articles }} - {{ .outlet }}{{ .title }}{{ .what }} - {{- end }} -
- + {{/* The strongest sentence in this section is somebody else's, so it opens + the section rather than closing it. Everything below is supporting + evidence for what these three people already said. */}}

What other people say

+ {{/* Names run as a sentence rather than a grid of pills. A pill wall of + employers reads as a customer logo wall, which is a claim we are not + making; a sentence keeps it about the people, which is the true one. */}} +

Who shows up

+

{{ .Site.Params.contributors }} people have put code in this repository.

+ {{- $co := slice }} + {{- range .Site.Data.ecosystem.contributors.companies }}{{ $co = $co | append (printf "%s" .name) }}{{ end }} + {{- $ac := slice }} + {{- range .Site.Data.ecosystem.contributors.academia }}{{ $ac = $ac | append (printf "%s" .) }}{{ end }} +

Some of them do it from a desk at {{ delimit $co ", " " and " | safeHTML }}. + Others from labs at {{ delimit $ac ", " " and " | safeHTML }}.

+

That is where they work, not who sent them. + The commit history is public ↗

+ +

And these projects integrate it

+

Each one names LocalAI in its own repository or documentation.

+
+ {{- range .Site.Data.ecosystem.integrations.projects }} + {{ .name }}{{ with .by }}{{ . }}{{ end }}{{ .what }} + {{- end }} +
+

Using LocalAI at work? Add your organisation to + ADOPTERS.md.

+ +

Written about elsewhere

+
+ {{- range .Site.Data.ecosystem.press.articles }} + {{ .outlet }}{{ .title }}{{ .what }} + {{- end }} +
+

Built on, integrated with, written about

- diff --git a/website/layouts/partials/footer.html b/website/layouts/partials/footer.html index ef78c57ca..81481bbc7 100644 --- a/website/layouts/partials/footer.html +++ b/website/layouts/partials/footer.html @@ -9,6 +9,6 @@

Community

Support us

-
© 2026 LocalAIMIT licenceDesign mock, not a live page
+
© 2026 LocalAIMIT licenceSource on GitHub
diff --git a/website/layouts/partials/nav.html b/website/layouts/partials/nav.html index df6451299..f8837b6ff 100644 --- a/website/layouts/partials/nav.html +++ b/website/layouts/partials/nav.html @@ -13,7 +13,7 @@ Docs diff --git a/website/static/css/site.css b/website/static/css/site.css index cb61e4fff..0db19a1d3 100644 --- a/website/static/css/site.css +++ b/website/static/css/site.css @@ -442,14 +442,16 @@ footer{background:var(--deep);border-top:1px solid var(--line2);padding:3rem 0 4 .eco__note{color:var(--dim);font-size:.92rem;max-width:66ch;margin-top:.7rem} .eco__note a{color:var(--cyan);text-decoration:underline;text-underline-offset:.2rem} .eco__aside{color:var(--faint);font-size:.85rem;margin-top:1rem;max-width:66ch} +.eco__aside a{color:var(--cyan);text-decoration:underline;text-underline-offset:.2rem} + +/* Employers are set as a running sentence, not a grid of pills, so the line + reads as a statement about people rather than a wall of customer logos. The + names take weight and the connective text stays dim, which lets the eye + scan the list without the paragraph turning into a badge rack. */ +.eco__names{color:var(--dim);font-size:1rem;line-height:1.75;max-width:62ch;margin-top:1rem} +.eco__names b{color:var(--ink);font-weight:600} .eco{list-style:none;padding:0;margin:1.4rem 0 0} -.eco--co{display:flex;flex-wrap:wrap;gap:.5rem} -.eco--co li{display:flex;align-items:baseline;gap:.5rem;padding:.5rem .8rem;border-radius:999px; - border:1px solid var(--line);background:rgba(255,255,255,.028);transition:border-color .22s,background .22s} -.eco--co li:hover{border-color:rgba(95,205,228,.5);background:rgba(95,205,228,.07)} -.eco--co b{font-size:.9rem;font-weight:600;color:var(--ink)} -.eco--co span{font-family:'Geist Mono',monospace;font-size:.6rem;color:var(--faint);white-space:nowrap} .eco--int{display:grid;gap:.8rem} @media(min-width:700px){.eco--int{grid-template-columns:repeat(2,1fr)}}