45% of first choices, clear leader.
Every product with at least 10 labels here, on both axes. The 30% line names a quadrant, not the verdict above: that one needs more than 40%.
“Backstage (when self-hosted without dedicated platform team)** **Why to avoid:** - Requires 1.5-3 full-time engineers just for ongoing maintenance” GLM 4.7 FlashX, negative prompt
“Orchestrator-heavy platforms such as Humanitec when self-service provisioning is not yet a real pain point... advises skipping these until that need is clear.” Perplexity Sonar, negative prompt
“the scorecard-driven maturity model is overkill” DeepSeek V4 Flash, paraphrase prompt
“Why to avoid: They are expensive, complex to set up, and heavily sales-driven.” Qwen 3.7 Flash, negative prompt
75 of 84 answers in this category came back with a source list, from 14 of 14 models: citations where the model returns them, or the search results it consulted. 997 links across 162 sites, every framing counted. Ranked by the number of answers carrying the site or page. None of the 252 answers across every segment cited this index's own page for the category.
The ten pages named in the most answers, by full address. A page here is one the models returned with a recommendation, not one the index endorses.
| Company and products | Share | Own site cited | Name searches, Google | AI search demand, est. | Organic visits | Paid search a month, est. | Google ads, last 30 days | Best Google position |
|---|---|---|---|---|---|---|---|---|
| Port port.io Port 45%, Port.io 11% | 57% | 166 | 90,500 | 598,288 | 7,729 | 26 | 1 | |
| Backstage backstage.io | 23% | 182 | 110,000 | 7,081 | 2,929 | 2 | ||
| Qovery qovery.com | 4% | 28 | 390 | 4 | 2,459 | 0 | 3 | |
| OpsLevel opslevel.com | 2% | 109 | 320 | 0 | 2,206 | 12 | ||
| Roadie roadie.io Roadie 2%, Roadie.io 0% | 2% | 80 | 110,000 | 6,838 | 416 | 5 | ||
| Configure8 | 2% | 20 | 0 | |||||
| Confluence atlassian.com Confluence 2%, Atlassian Compass 0% | 2% | 155 | 165,000 | 6,617 | 4,724,388 | $5,906 | 61 | |
| GitLab gitlab.com | 2% | 218 | 90,500 | 4,844 | 603,028 | $884 | 66 | |
| Notion notion.com | 2% | 153 | 673,000 | 15,608 | 1,061,466 | 52 | ||
| DuploCloud | 2% |
Google's top ten for the three searches hold 21 sites; 2 of them are among the sites the models cited here (harness.io, port.io). The first result for “best internal developer portal” is cortex.io.
| Prompt | Model | Version string | Time (UTC) | Searched | Sources | Latency |
|---|---|---|---|---|---|---|
| Direct recommendation | Claude Haiku 4.5 | claude-haiku-4-5-20251001 | 2026-10-04 22:15 | yes | 17 | 9 s |
| Direct recommendation | GPT-5.4 mini | gpt-5.4-mini-2026-03-17 | 2026-10-05 00:47 | yes | 3 | 4 s |
| Direct recommendation | Gemini 3.5 Flash | gemini-3.5-flash | 2026-10-05 01:38 | yes | 19 | 23 s |
| Direct recommendation | Perplexity Sonar | sonar | 2026-10-05 00:36 | yes | 19 | 3 s |
| Direct recommendation | Grok 4.1 Fast | spacexai/grok-4.1-fast-non-reasoning via vertex | 2026-10-04 22:15 | yes | 23 | 9 s |
| Direct recommendation | Mistral Small | mistral/mistral-small via mistral | 2026-10-04 23:30 | yes | 5 | 3 s |
| Direct recommendation | DeepSeek V4 Flash | deepseek/deepseek-v4-flash via deepinfra | 2026-10-05 01:53 | yes | 22 | 27 s |
| Direct recommendation | Llama 4 Maverick | meta/llama-4-maverick via bedrock | 2026-10-05 01:27 | yes | 6 | 3 s |
| Direct recommendation | Qwen 3.7 Flash | alibaba/qwen3.7-flash via alibaba | 2026-10-05 01:55 | yes | 9 | 23 s |
| Direct recommendation | Kimi K2 | moonshotai/kimi-k2 via novita | 2026-10-04 22:25 | yes | 10 | 44 s |
| Direct recommendation | GLM 4.7 FlashX | zai/glm-4.7-flashx via zai | 2026-10-04 23:50 | yes | 24 | 47 s |
| Direct recommendation | MiniMax M2.5 | minimax/minimax-m2.5 via minimax | 2026-10-05 00:20 | yes | 5 | 10 s |
| Direct recommendation | GPT-6 Luna | gpt-6-luna | 2026-10-05 00:47 | yes | 2 | 19 s |
| Direct recommendation | Muse Glimmer 30B | meta/muse-glimmer-30b via togetherai | 2026-10-04 22:59 | yes | 13 | 15 s |
| Paraphrase | Claude Haiku 4.5 | claude-haiku-4-5-20251001 | 2026-10-05 01:44 | no | 0 | 4 s |
| Paraphrase | GPT-5.4 mini | gpt-5.4-mini-2026-03-17 | 2026-10-05 00:45 | no | 0 | 2 s |
| Paraphrase | Gemini 3.5 Flash | gemini-3.5-flash | 2026-10-04 23:23 | yes | 14 | 24 s |
| Paraphrase | Perplexity Sonar | sonar | 2026-10-04 23:38 | yes | 18 | 3 s |
| Paraphrase | Grok 4.1 Fast | spacexai/grok-4.1-fast-non-reasoning via vertex | 2026-10-05 00:41 | yes | 22 | 10 s |
| Paraphrase | Mistral Small | mistral/mistral-small via mistral | 2026-10-05 00:37 | no | 0 | 2 s |
| Paraphrase | DeepSeek V4 Flash | deepseek/deepseek-v4-flash via deepinfra | 2026-10-04 23:23 | yes | 24 | 34 s |
| Paraphrase | Llama 4 Maverick | meta/llama-4-maverick via bedrock | 2026-10-05 01:54 | yes | 5 | 3 s |
| Paraphrase | Qwen 3.7 Flash | alibaba/qwen3.7-flash via alibaba | 2026-10-05 00:54 | no | 0 | 29 s |
| Paraphrase | Kimi K2 | moonshotai/kimi-k2 via novita | 2026-10-05 01:41 | yes | 18 | 18 s |
| Paraphrase | GLM 4.7 FlashX | zai/glm-4.7-flashx via zai | 2026-10-05 00:29 | yes | 24 | 207 s |
| Paraphrase | MiniMax M2.5 | minimax/minimax-m2.5 via minimax | 2026-10-05 01:08 | yes | 13 | 45 s |
| Paraphrase | GPT-6 Luna | gpt-6-luna | 2026-10-05 00:47 | yes | 2 | 14 s |
| Paraphrase | Muse Glimmer 30B | meta/muse-glimmer-30b via togetherai | 2026-10-05 00:01 | yes | 10 | 15 s |
| Comparative | Claude Haiku 4.5 | claude-haiku-4-5-20251001 | 2026-10-04 22:13 | yes | 9 | 10 s |
| Comparative | GPT-5.4 mini | gpt-5.4-mini-2026-03-17 | 2026-10-04 22:58 | yes | 3 | 5 s |
| Comparative | Gemini 3.5 Flash | gemini-3.5-flash | 2026-10-05 01:30 | yes | 16 | 35 s |
| Comparative | Perplexity Sonar | sonar | 2026-10-04 23:52 | yes | 19 | 4 s |
| Comparative | Grok 4.1 Fast | spacexai/grok-4.1-fast-non-reasoning via vertex | 2026-10-05 00:46 | yes | 22 | 9 s |
| Comparative | Mistral Small | mistral/mistral-small via mistral | 2026-10-05 00:47 | yes | 18 | 11 s |
| Comparative | DeepSeek V4 Flash | deepseek/deepseek-v4-flash via deepinfra | 2026-10-05 01:57 | yes | 18 | 40 s |
| Comparative | Llama 4 Maverick | meta/llama-4-maverick via bedrock | 2026-10-05 01:35 | yes | 5 | 1 s |
| Comparative | Qwen 3.7 Flash | alibaba/qwen3.7-flash via alibaba | 2026-10-04 23:00 | yes | 10 | 49 s |
| Comparative | Kimi K2 | moonshotai/kimi-k2 via novita | 2026-10-04 22:25 | yes | 14 | 22 s |
| Comparative | GLM 4.7 FlashX | zai/glm-4.7-flashx via zai | 2026-10-05 01:58 | yes | 18 | 177 s |
| Comparative | MiniMax M2.5 | minimax/minimax-m2.5 via minimax | 2026-10-05 00:53 | yes | 11 | 15 s |
| Comparative | GPT-6 Luna | gpt-6-luna | 2026-10-05 01:48 | yes | 5 | 18 s |
| Comparative | Muse Glimmer 30B | meta/muse-glimmer-30b via togetherai | 2026-10-05 01:14 | yes | 21 | 28 s |
| Budget constrained | Claude Haiku 4.5 | claude-haiku-4-5-20251001 | 2026-10-05 00:47 | no | 0 | 5 s |
| Budget constrained | GPT-5.4 mini | gpt-5.4-mini-2026-03-17 | 2026-10-05 00:43 | yes | 4 | 5 s |
| Budget constrained | Gemini 3.5 Flash | gemini-3.5-flash | 2026-10-05 01:39 | yes | 17 | 27 s |
| Budget constrained | Perplexity Sonar | sonar | 2026-10-04 23:57 | yes | 18 | 3 s |
| Budget constrained | Grok 4.1 Fast | spacexai/grok-4.1-fast-non-reasoning via vertex | 2026-10-05 00:17 | yes | 24 | 9 s |
| Budget constrained | Mistral Small | mistral/mistral-small via mistral | 2026-10-05 00:38 | yes | 8 | 5 s |
| Budget constrained | DeepSeek V4 Flash | deepseek/deepseek-v4-flash via deepinfra | 2026-10-05 01:54 | yes | 23 | 31 s |
| Budget constrained | Llama 4 Maverick | meta/llama-4-maverick via bedrock | 2026-10-05 01:34 | yes | 5 | 3 s |
| Budget constrained | Qwen 3.7 Flash | alibaba/qwen3.7-flash via alibaba | 2026-10-04 22:30 | yes | 15 | 46 s |
| Budget constrained | Kimi K2 | moonshotai/kimi-k2 via novita | 2026-10-05 01:00 | yes | 14 | 22 s |
| Budget constrained | GLM 4.7 FlashX | zai/glm-4.7-flashx via zai | 2026-10-05 01:54 | yes | 20 | 40 s |
| Budget constrained | MiniMax M2.5 | minimax/minimax-m2.5 via minimax | 2026-10-05 01:45 | yes | 10 | 16 s |
| Budget constrained | GPT-6 Luna | gpt-6-luna | 2026-10-05 00:19 | yes | 2 | 14 s |
| Budget constrained | Muse Glimmer 30B | meta/muse-glimmer-30b via togetherai | 2026-10-05 01:42 | yes | 14 | 15 s |
| Scale constrained | Claude Haiku 4.5 | claude-haiku-4-5-20251001 | 2026-10-05 01:42 | no | 0 | 6 s |
| Scale constrained | GPT-5.4 mini | gpt-5.4-mini-2026-03-17 | 2026-10-05 01:34 | no | 0 | 4 s |
| Scale constrained | Gemini 3.5 Flash | gemini-3.5-flash | 2026-10-05 00:51 | yes | 9 | 26 s |
| Scale constrained | Perplexity Sonar | sonar | 2026-10-05 00:45 | yes | 20 | 3 s |
| Scale constrained | Grok 4.1 Fast | spacexai/grok-4.1-fast-non-reasoning via vertex | 2026-10-04 22:26 | yes | 14 | 11 s |
| Scale constrained | Mistral Small | mistral/mistral-small via mistral | 2026-10-04 22:27 | no | 0 | 7 s |
| Scale constrained | DeepSeek V4 Flash | deepseek/deepseek-v4-flash via deepinfra | 2026-10-04 22:26 | yes | 17 | 36 s |
| Scale constrained | Llama 4 Maverick | meta/llama-4-maverick via bedrock | 2026-10-05 01:44 | yes | 5 | 3 s |
| Scale constrained | Qwen 3.7 Flash | alibaba/qwen3.7-flash via alibaba | 2026-10-05 01:15 | no | 0 | 25 s |
| Scale constrained | Kimi K2 | moonshotai/kimi-k2 via novita | 2026-10-05 01:26 | yes | 25 | 24 s |
| Scale constrained | GLM 4.7 FlashX | zai/glm-4.7-flashx via zai | 2026-10-05 01:24 | yes | 19 | 30 s |
| Scale constrained | MiniMax M2.5 | minimax/minimax-m2.5 via minimax | 2026-10-04 23:48 | yes | 5 | 17 s |
| Scale constrained | GPT-6 Luna | gpt-6-luna | 2026-10-05 01:04 | yes | 3 | 21 s |
| Scale constrained | Muse Glimmer 30B | meta/muse-glimmer-30b via togetherai | 2026-10-05 00:02 | yes | 14 | 21 s |
| Negative framing | Claude Haiku 4.5 | claude-haiku-4-5-20251001 | 2026-10-05 00:31 | yes | 9 | 8 s |
| Negative framing | GPT-5.4 mini | gpt-5.4-mini-2026-03-17 | 2026-10-05 01:02 | yes | 3 | 5 s |
| Negative framing | Gemini 3.5 Flash | gemini-3.5-flash | 2026-10-04 23:41 | yes | 19 | 26 s |
| Negative framing | Perplexity Sonar | sonar | 2026-10-05 00:03 | yes | 20 | 4 s |
| Negative framing | Grok 4.1 Fast | spacexai/grok-4.1-fast-non-reasoning via vertex | 2026-10-04 22:11 | yes | 18 | 9 s |
| Negative framing | Mistral Small | mistral/mistral-small via mistral | 2026-10-04 22:40 | yes | 5 | 4 s |
| Negative framing | DeepSeek V4 Flash | deepseek/deepseek-v4-flash via deepinfra | 2026-10-05 01:56 | yes | 22 | 84 s |
| Negative framing | Llama 4 Maverick | meta/llama-4-maverick via bedrock | 2026-10-05 01:04 | yes | 5 | 2 s |
| Negative framing | Qwen 3.7 Flash | alibaba/qwen3.7-flash via alibaba | 2026-10-05 01:35 | yes | 10 | 31 s |
| Negative framing | Kimi K2 | moonshotai/kimi-k2 via novita | 2026-10-05 00:04 | yes | 18 | 41 s |
| Negative framing | GLM 4.7 FlashX | zai/glm-4.7-flashx via zai | 2026-10-05 00:41 | yes | 24 | 28 s |
| Negative framing | MiniMax M2.5 | minimax/minimax-m2.5 via minimax | 2026-10-05 01:42 | yes | 7 | 26 s |
| Negative framing | GPT-6 Luna | gpt-6-luna | 2026-10-05 01:44 | yes | 4 | 17 s |
| Negative framing | Muse Glimmer 30B | meta/muse-glimmer-30b via togetherai | 2026-10-05 00:02 | yes | 12 | 16 s |
Every judgment call made between the raw labels and the numbers above, listed so it is visible and reversible.
ShowHide