---
title: "S25 bindings"
description: "Data-binding map of Profile · Me · anonymous user: every field to its source, and what each required state shows."
source: "design/hifi/S25/bindings.md"
---

> Part of [Brand and design](/design/llms.txt). Every page: [llms.txt](/llms.txt).

# Data-binding map: S25 Profile · Me · anonymous user

> Generated by `botgumi-design index` from `../../screens.json`. Edit that file, not this page.

Every field [S25](/design/hifi/s25/index.md) shows and where it comes from.

| Field | Source (endpoint or local state) | Format | Fallback |
|---|---|---|---|
| avatar initial | `api GET /me display_name` · `derived:` first grapheme of `me.display_name` | violet tile | "?" |
| name / title / level | `api GET /me display_name` · `me.display_name`, `me.level.title (Accept-Language) / level` | — | — |
| name / title / level | `api GET /me level.title` |  |  |
| name / title / level | `api GET /me level.level` |  |  |
| stats | `api GET /me streak.current` · `me.streak.current`, `me.stats.completed_sessions`, `me.stats.ability` | — | ability null → `profile.stat.ability.baseline` |
| stats | `api GET /me stats.completed_sessions` |  |  |
| stats | `api GET /me stats.ability` |  |  |
| SIWA card | `api GET /me auth_provider` · `me.auth_provider = anonymous` | — | hidden for apple |
| weekly quests | `api GET /weekly-quests week_start` · `weekly_quests.week_start / week_end / quests[]` (titles Accept-Language) | date range | — |
| weekly quests | `api GET /weekly-quests week_end` |  |  |
| weekly quests | `api GET /weekly-quests quests[]` |  |  |
| subscription row | `api GET /me entitlement.status` · `me.entitlement.status / product_id / trial_ends_at / expires_at` | `profile.sub.*` | — |
| subscription row | `api GET /me entitlement.product_id` |  |  |
| subscription row | `api GET /me entitlement.trial_ends_at` |  |  |
| subscription row | `api GET /me entitlement.expires_at` |  |  |
| languages row | `api GET /me settings.practice_languages` · `me.settings.practice_languages` | endonyms joined | — |
| `derived: first grapheme of me.display_name` | `derived avatar_initial` · From the board's `data-bind`; no row in data-binding.md yet. |  |  |
| `me.level.title + level` | `api GET /me level.title` · From the board's `data-bind`; no row in data-binding.md yet. |  |  |
| `me.level.title + level` | `api GET /me level.level` |  |  |
| `me.settings.reminder_time` | `api GET /me settings.reminder_time` · From the board's `data-bind`; no row in data-binding.md yet. |  |  |
| `weekly_quests.quests[0] (title: Accept-Language)` | `api GET /weekly-quests quests[]` · From the board's `data-bind`; no row in data-binding.md yet. |  |  |
| `weekly_quests.quests[1] (title: Accept-Language)` | `api GET /weekly-quests quests[]` · From the board's `data-bind`; no row in data-binding.md yet. |  |  |
| `weekly_quests.quests[2] (title: Accept-Language)` | `api GET /weekly-quests quests[]` · From the board's `data-bind`; no row in data-binding.md yet. |  |  |

## Derived values

Computed on device; each from the sources it names.

| Value | From | How |
|---|---|---|
| `avatar_initial` | `api GET /me display_name` | The first grapheme of the display name. |

## Binds on the boards

The `data-bind` values across every state.

- `derived: first grapheme of me.display_name`
- `me.auth_provider = anonymous`
- `me.display_name`
- `me.entitlement.status / product_id / trial_ends_at`
- `me.level.title + level`
- `me.settings.practice_languages`
- `me.settings.reminder_time`
- `me.stats.ability`
- `me.stats.completed_sessions`
- `me.streak.current`
- `weekly_quests.quests[0] (title: Accept-Language)`
- `weekly_quests.quests[1] (title: Accept-Language)`
- `weekly_quests.quests[2] (title: Accept-Language)`
- `weekly_quests.week_start / week_end`

## States

- Loading: From [states.md](/design/states/index.md) (Profile): skeleton stats
- Empty: From [states.md](/design/states/index.md) (Profile): weekly quests none → section hidden
- Error (retryable / not): From [states.md](/design/states/index.md) (Profile): inline Retry · fatal: generic error
- Offline: From [states.md](/design/states/index.md) (Profile): cached `/me`
