Skip to content

Commit 0bedc75

Browse files
committed
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 <mudler@localai.io> Assisted-by: Claude Code:claude-opus-5[1m]
1 parent dad4d59 commit 0bedc75

6 files changed

Lines changed: 87 additions & 63 deletions

File tree

website/data/ecosystem.yaml

Lines changed: 40 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,10 @@
1919

2020
contributors:
2121
note: "Engineers whose public profile names these employers have commits in the repository."
22+
# The landing page prints the names only, not the per-company counts: a "1
23+
# commit" stamp next to a large employer reads as weakness even though the
24+
# claim is exactly as true. The counts stay here because they are the
25+
# provenance for the list, and anyone re-checking it needs them.
2226
companies:
2327
- { name: "Microsoft", people: 3, commits: 20 }
2428
- { name: "Spectro Cloud", people: 3, commits: 11 }
@@ -70,28 +74,50 @@ integrations:
7074
by: Sertac Ozercan
7175
url: https://github.com/sozercan/aikit
7276
what: "Builds fine-tuned models into images that serve through LocalAI."
77+
- name: K8sGPT
78+
by: CNCF Sandbox
79+
url: https://docs.k8sgpt.ai/reference/providers/backend/
80+
what: "Lists LocalAI as an analysis backend, alongside Bedrock and Azure OpenAI."
81+
- name: LlamaIndex
82+
url: https://docs.llamaindex.ai/en/stable/examples/llm/localai/
83+
what: "Documents LocalAI as an OpenAI-compatible LLM you can point it at."
7384
- name: Kairos
7485
url: https://github.com/kairos-io/kairos
7586
what: "Ships LocalAI as part of its immutable Linux distribution."
7687

7788
press:
7889
note: "Written about LocalAI, by people who do not work on it."
90+
# One card per outlet. SUSE published four posts, and listing them as four
91+
# entries made a single vendor look like the whole of the coverage; as one
92+
# series entry the repetition becomes the point instead of the problem.
93+
#
94+
# Every entry here has been opened and checked to confirm it is about this
95+
# project. Two earlier "coverage" links were not: a modelslab.com piece that
96+
# reviewed Frikallo/parakeet.cpp, an unrelated project of the same name, and
97+
# a snailtext.app benchmark of Parakeet through ONNX Runtime that never
98+
# mentioned LocalAI at all. Verify before adding.
7999
articles:
100+
- outlet: Pulumi
101+
title: "Deploy low-code LLM apps on AWS with Flowise and LocalAI"
102+
author: "Engin Diri"
103+
date: "2024-02-26"
104+
url: https://www.pulumi.com/blog/low-code-llm-apps-with-local-ai-flowise-and-pulumi/
105+
what: "A full EKS deployment, with LocalAI doing inference and no GPU in the cluster."
106+
- outlet: Semaphore
107+
title: "LocalAI: replacing OpenAI API with open-source"
108+
author: "Tomas Fernandez"
109+
date: "2023-12-19"
110+
url: https://semaphore.io/blog/localai
111+
what: "Swapping an existing OpenAI integration over to LocalAI, endpoint by endpoint."
112+
- outlet: Spectro Cloud
113+
title: "K8sGPT + LocalAI: unlock Kubernetes superpowers for free"
114+
author: "Tyler Gillson"
115+
date: "2023-04-29"
116+
url: https://www.spectrocloud.com/blog/k8sgpt-localai-unlock-kubernetes-superpowers-for-free
117+
what: "Cluster diagnosis through K8sGPT, answered by a model running on CPU."
80118
- outlet: SUSE
81-
title: "Running AI locally"
119+
title: "A four-part series on running AI locally"
82120
author: "Christian Huller"
83121
date: "2025-11-24"
84122
url: https://www.suse.com/c/running-ai-locally/
85-
what: "Deploying LocalAI on openSUSE, then driving it from VS Code."
86-
- outlet: SUSE
87-
title: "Adding own documents to your local AI using RAG"
88-
url: https://www.suse.com/c/adding-own-documents-to-your-local-ai-using-rag/
89-
what: "Retrieval over your own documents, on top of LocalAI."
90-
- outlet: SUSE
91-
title: "Local AI and Confluence"
92-
url: https://www.suse.com/c/local-ai-and-confluence/
93-
what: "Putting a Confluence space behind a local model."
94-
- outlet: SUSE
95-
title: "Introduction to AI training with openSUSE"
96-
url: https://www.suse.com/c/introduction-to-ai-training-with-opensuse/
97-
what: "Training a LoRA and serving it through LocalAI."
123+
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."

website/hugo.toml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@ enableEmoji = true
1818
huggingface = 'https://huggingface.co/mudler'
1919
# Refreshed by hand or by CI; shown in the nav and the traction band.
2020
stars = '48,042'
21+
contributors = '224'
2122

2223
[markup.goldmark.renderer]
2324
unsafe = true

website/layouts/index.html

Lines changed: 36 additions & 41 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@ <h1><u><b>Make AI run on</b></u><u><b><s>every machine.</s></b></u></h1>
1313
<div class="acts fd">
1414
<a class="btn" href="#start">Install LocalAI <span></span></a>
1515
<a class="btn btn--o" href="/docs/">Read the docs</a>
16+
<a class="btn btn--o" href="{{ .Site.Params.github }}">&#9733; Star on GitHub</a>
1617
</div>
1718
<div class="figures fd">
1819
<div><b class="tnum" data-count="48042">0</b><span>GitHub stars</span></div>
@@ -279,7 +280,7 @@ <h2 class="rv mt1" style="max-width:19ch">The model you could not fit, on the ca
279280
</div>
280281
<p class="mono rv" style="margin-top:.9rem;font-size:.66rem;color:var(--p-dim)">Qwen3.5-35B-A3B on an NVIDIA DGX Spark (GB10). Perplexity on wikitext-2-raw at context 2048. Full methodology in the technical report.</p>
281282
<div class="acts rv">
282-
<a class="btn" href="https://huggingface.co/collections/mudler/apex-quants">APEX models on Hugging Face ↗</a>
283+
<a class="btn" href="https://huggingface.co/collections/mudler/apex-quants-gguf">APEX models on Hugging Face ↗</a>
283284
<a class="btn btn--o" href="https://github.com/localai-org/apex-quant">Technical report ↗</a>
284285
</div>
285286
</div>
@@ -397,35 +398,9 @@ <h2 class="rv mt1" style="max-width:22ch">Forty-eight thousand stars, and still
397398
<span>Deutsch</span><span>Español</span><span>français</span><span>日本語</span>
398399
<span>한국어</span><span>Português</span><span>Русский</span><span>中文</span>
399400
</div>
400-
<p class="kicker rv mt3">Who turns up around it</p>
401-
<h3 class="eco__h rv">Engineers from these companies have put code in</h3>
402-
<p class="eco__note rv">Every name below is a person with commits in the repository whose public profile
403-
names that employer. It is a claim about them, not about their employer, and the commit history is
404-
there if you want to check it. Organisations that want to say they use LocalAI add themselves to
405-
<a href="https://github.com/mudler/LocalAI/blob/master/ADOPTERS.md">ADOPTERS.md</a>.</p>
406-
<ul class="eco eco--co rv">
407-
{{- range .Site.Data.ecosystem.contributors.companies }}
408-
<li><b>{{ .name }}</b><span>{{ .commits }} commit{{ if ne .commits 1 }}s{{ end }}{{ if gt .people 1 }}, {{ .people }} people{{ end }}</span></li>
409-
{{- end }}
410-
</ul>
411-
<p class="eco__aside rv">Plus researchers at {{ delimit .Site.Data.ecosystem.contributors.academia ", " " and " }}.</p>
412-
413-
<h3 class="eco__h rv mt3">And these projects integrate it</h3>
414-
<p class="eco__note rv">Each one references LocalAI in its own repository or documentation, so you can
415-
verify any of them without taking our word for it.</p>
416-
<div class="eco eco--int rv">
417-
{{- range .Site.Data.ecosystem.integrations.projects }}
418-
<a href="{{ .url }}"><b>{{ .name }}</b>{{ with .by }}<em>{{ . }}</em>{{ end }}<span>{{ .what }}</span></a>
419-
{{- end }}
420-
</div>
421-
422-
<h3 class="eco__h rv mt3">Written about elsewhere</h3>
423-
<div class="eco eco--press rv">
424-
{{- range .Site.Data.ecosystem.press.articles }}
425-
<a href="{{ .url }}"><b>{{ .outlet }}</b><span>{{ .title }}</span><em>{{ .what }}</em></a>
426-
{{- end }}
427-
</div>
428-
401+
{{/* The strongest sentence in this section is somebody else's, so it opens
402+
the section rather than closing it. Everything below is supporting
403+
evidence for what these three people already said. */}}
429404
<p class="kicker rv mt3">What other people say</p>
430405
<div class="headline">
431406
<a class="hq rv" href="https://x.com/ggerganov/status/2065447087311917459">
@@ -442,6 +417,37 @@ <h3 class="eco__h rv mt3">Written about elsewhere</h3>
442417
<span class="hq__go">Read the post &#8599;</span></a>
443418
</div>
444419

420+
{{/* Names run as a sentence rather than a grid of pills. A pill wall of
421+
employers reads as a customer logo wall, which is a claim we are not
422+
making; a sentence keeps it about the people, which is the true one. */}}
423+
<p class="kicker rv mt3">Who shows up</p>
424+
<h3 class="eco__h rv">{{ .Site.Params.contributors }} people have put code in this repository.</h3>
425+
{{- $co := slice }}
426+
{{- range .Site.Data.ecosystem.contributors.companies }}{{ $co = $co | append (printf "<b>%s</b>" .name) }}{{ end }}
427+
{{- $ac := slice }}
428+
{{- range .Site.Data.ecosystem.contributors.academia }}{{ $ac = $ac | append (printf "<b>%s</b>" .) }}{{ end }}
429+
<p class="eco__names rv">Some of them do it from a desk at {{ delimit $co ", " " and " | safeHTML }}.
430+
Others from labs at {{ delimit $ac ", " " and " | safeHTML }}.</p>
431+
<p class="eco__note rv">That is where they work, not who sent them.
432+
<a href="{{ .Site.Params.github }}/graphs/contributors">The commit history is public &#8599;</a></p>
433+
434+
<h3 class="eco__h rv mt3">And these projects integrate it</h3>
435+
<p class="eco__note rv">Each one names LocalAI in its own repository or documentation.</p>
436+
<div class="eco eco--int rv">
437+
{{- range .Site.Data.ecosystem.integrations.projects }}
438+
<a href="{{ .url }}"><b>{{ .name }}</b>{{ with .by }}<em>{{ . }}</em>{{ end }}<span>{{ .what }}</span></a>
439+
{{- end }}
440+
</div>
441+
<p class="eco__aside rv">Using LocalAI at work? Add your organisation to
442+
<a href="{{ .Site.Params.github }}/blob/master/ADOPTERS.md">ADOPTERS.md</a>.</p>
443+
444+
<h3 class="eco__h rv mt3">Written about elsewhere</h3>
445+
<div class="eco eco--press rv">
446+
{{- range .Site.Data.ecosystem.press.articles }}
447+
<a href="{{ .url }}"><b>{{ .outlet }}</b><span>{{ .title }}</span><em>{{ .what }}</em></a>
448+
{{- end }}
449+
</div>
450+
445451
<p class="kicker rv mt3">Built on, integrated with, written about</p>
446452
<div class="posts">
447453
<a class="post rv" href="https://x.com/sozercan/status/1769769695081546236">
@@ -477,17 +483,6 @@ <h3 class="eco__h rv mt3">Written about elsewhere</h3>
477483
<p>Oh, high there @LocalAI_API, nice to see a terminal based UI for ya! (it&#x27;s a WIP, but just wanted something cleaner then CURL calls)</p>
478484
<span class="post__go">On X, 2023 &#8599;</span></a>
479485
</div>
480-
<div class="cards">
481-
<a class="cd rv" href="https://modelslab.com/blog/audio-generation/parakeet-cpp-vs-whisper-self-hosted-asr-comparison-2026"><p class="cd__k">Coverage</p>
482-
<h3>parakeet.cpp vs Whisper</h3><p>An independent comparison of self-hosted ASR options put parakeet.cpp against Whisper on accuracy and speed.</p>
483-
<span class="cite">modelslab.com ↗</span></a>
484-
<a class="cd rv" href="https://snailtext.app/blog/whisper-vs-parakeet-tdt/"><p class="cd__k">Coverage</p>
485-
<h3>Roughly 4x faster on CPU</h3><p>A third-party benchmark measured Parakeet TDT against Whisper Small through whisper.cpp on the same machine.</p>
486-
<span class="cite">snailtext.app ↗</span></a>
487-
<a class="cd rv" href="https://github.com/mudler/LocalAI/graphs/contributors"><p class="cd__k">Contributors</p>
488-
<h3>224 people have shipped code</h3><p>Backends, gallery entries, docs, translations and bug fixes, from people who are not on the team.</p>
489-
<span class="cite">github.com ↗</span></a>
490-
</div>
491486
</div>
492487
</section>
493488

website/layouts/partials/footer.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,6 @@
99
<div><h4>Community</h4><ul><li><a href="https://github.com/mudler/LocalAI">GitHub</a></li><li><a href="https://discord.gg/uJAeKSAGDy">Discord</a></li><li><a href="https://twitter.com/LocalAI_API">X</a></li><li><a href="https://huggingface.co/mudler">Hugging Face</a></li></ul></div>
1010
<div><h4>Support us</h4><ul><li><a href="https://github.com/sponsors/mudler">Sponsor</a></li><li><a href="https://github.com/mudler/LocalAI/graphs/contributors">Contributors</a></li><li><a href="/docs/">Contributing</a></li></ul></div>
1111
</div>
12-
<div class="foot__n"><span>© 2026 LocalAI</span><span>MIT licence</span><span>Design mock, not a live page</span></div>
12+
<div class="foot__n"><span>© 2026 LocalAI</span><span>MIT licence</span><span><a href="{{ .Site.Params.github }}">Source on GitHub</a></span></div>
1313
</div>
1414
</footer>

website/layouts/partials/nav.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@
1313
<a href="{{ .Site.Params.docsURL }}">Docs</a>
1414
</nav>
1515
<div class="topright">
16-
<a class="pill" href="{{ .Site.Params.github }}/stargazers">&#9733; {{ .Site.Params.stars }}</a>
16+
<a class="pill" href="{{ .Site.Params.github }}">&#9733; {{ .Site.Params.stars }}</a>
1717
<a class="go-btn" href="{{ $home }}#start">Install</a>
1818
</div>
1919
</header>

website/static/css/site.css

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -442,14 +442,16 @@ footer{background:var(--deep);border-top:1px solid var(--line2);padding:3rem 0 4
442442
.eco__note{color:var(--dim);font-size:.92rem;max-width:66ch;margin-top:.7rem}
443443
.eco__note a{color:var(--cyan);text-decoration:underline;text-underline-offset:.2rem}
444444
.eco__aside{color:var(--faint);font-size:.85rem;margin-top:1rem;max-width:66ch}
445+
.eco__aside a{color:var(--cyan);text-decoration:underline;text-underline-offset:.2rem}
446+
447+
/* Employers are set as a running sentence, not a grid of pills, so the line
448+
reads as a statement about people rather than a wall of customer logos. The
449+
names take weight and the connective text stays dim, which lets the eye
450+
scan the list without the paragraph turning into a badge rack. */
451+
.eco__names{color:var(--dim);font-size:1rem;line-height:1.75;max-width:62ch;margin-top:1rem}
452+
.eco__names b{color:var(--ink);font-weight:600}
445453

446454
.eco{list-style:none;padding:0;margin:1.4rem 0 0}
447-
.eco--co{display:flex;flex-wrap:wrap;gap:.5rem}
448-
.eco--co li{display:flex;align-items:baseline;gap:.5rem;padding:.5rem .8rem;border-radius:999px;
449-
border:1px solid var(--line);background:rgba(255,255,255,.028);transition:border-color .22s,background .22s}
450-
.eco--co li:hover{border-color:rgba(95,205,228,.5);background:rgba(95,205,228,.07)}
451-
.eco--co b{font-size:.9rem;font-weight:600;color:var(--ink)}
452-
.eco--co span{font-family:'Geist Mono',monospace;font-size:.6rem;color:var(--faint);white-space:nowrap}
453455

454456
.eco--int{display:grid;gap:.8rem}
455457
@media(min-width:700px){.eco--int{grid-template-columns:repeat(2,1fr)}}

0 commit comments

Comments
 (0)