> ## Documentation Index
> Fetch the complete documentation index at: https://docs.searchcompany.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Generate Platform Statuses

<Note>
  **Internal Service** — This is not an HTTP endpoint. It's called by the ranking-score route.
</Note>

## Purpose

Assigns a visibility status (LOW or MEDIUM) to each of the 8 AI platforms. Shown on the landing page breakdown.

## Function Signature

```python theme={null}
def generate_platform_statuses() -> List[PlatformStatus]
```

## Returns

```python theme={null}
[
    PlatformStatus(platform="ChatGPT", status="LOW"),
    PlatformStatus(platform="Gemini", status="MEDIUM"),
    PlatformStatus(platform="Grok", status="LOW"),
    # ... 8 total
]
```

## Platforms

| Platform   | Description         |
| ---------- | ------------------- |
| ChatGPT    | OpenAI's ChatGPT    |
| Gemini     | Google's Gemini     |
| Grok       | xAI's Grok          |
| Perplexity | Perplexity AI       |
| DeepSeek   | DeepSeek AI         |
| Claude     | Anthropic's Claude  |
| Google AI  | Google AI Overviews |
| Copilot    | Microsoft Copilot   |

## Status Distribution

| Status | Probability | Meaning                      |
| ------ | ----------- | ---------------------------- |
| LOW    | 70%         | Not visible on this platform |
| MEDIUM | 30%         | Partially visible            |

<Note>
  There is no "HIGH" status for pre-payment scores. This is intentional - users should feel they need to improve.
</Note>

## Code

```python theme={null}
AI_PLATFORMS = [
    "ChatGPT", "Gemini", "Grok", "Perplexity",
    "DeepSeek", "Claude", "Google AI", "Copilot"
]

def generate_platform_statuses() -> List[PlatformStatus]:
    return [
        PlatformStatus(
            platform=platform,
            status="LOW" if random.random() < 0.7 else "MEDIUM"
        )
        for platform in AI_PLATFORMS
    ]
```

## Code Location

```
src/website/ranking_score/routes.py
# Lines 35-46: generate_platform_statuses()
```
