Profile
Account profile picture, name, email, password stub, devices, and delete account — every control.
Panel
Sidebar: Account → (your name / avatar).
Header: Profile — Manage your profile, login information, and devices
Banner: Changes to your profile will apply to all of your projects.
Account
Profile Picture
| Control | Behavior |
|---|---|
| Preview | Current image, or initial letter on a colored circle |
| Upload new image / Uploading... | File picker: PNG, JPEG, GIF under 10MB → POST /api/me/profile-image |
| Remove (trash) | DELETE /api/me/profile-image; disabled when no image |
| Errors | Type/size messages, or upload failure text |
Name & email
| Field | Editable | Notes |
|---|---|---|
| First Name | Yes | Autosaves ~500ms after change via PATCH /api/me/profile |
| Last Name | Yes | Same autosave |
| Primary email address | No | Read-only from the session |
Name is split from the session display name (everything before the last word → first; last word → last).
Account security
Password
| UI | Reality |
|---|---|
| Title Password | Shown |
| Description | Set a password for your account (product hard-codes “no password auth” today) |
| Button Add password | Non-functional — no click handler; does not open a form or call an API |
If password auth were enabled, copy would switch to Change your password. No less than 8 characters. and the button label Change password — that path is not wired in the settings page today.
Delete my account
| Control | Behavior |
|---|---|
| Delete my account | Opens confirmation modal |
Modal: Delete your entire account permanently?
- Lists projects you belong to (expand if more than three)
- Requires typing your primary email exactly
- Confirm: Permanently delete account and leave N project(s) →
DELETE /api/me/account→ sign out to/ - Cancel / Escape / backdrop closes
Devices
Section: Devices
Log out of all devices
| Control | Behavior |
|---|---|
| Log out of all devices | Opens confirm modal |
| Modal Log out | DELETE /api/me/devices — ends other sessions, keeps this one |
| Cancel | Closes |
Devices table
Columns (sortable headers):
| Column | Sort key |
|---|---|
| Device Name | device (OS / name) |
| Last Active | lastActive (default desc) |
| Location | location |
Per row:
- Device icon (phone / tablet / computer)
- Green ring + tooltip Current session on this device
- Last active: Today for current or same-calendar-day; otherwise locale date
- Location string (or Unavalible as shown in product) with country flag when a 2-letter country code is present
- Log out on non-current rows →
DELETE /api/me/devices/:id
Footer: All devices loaded, or Load N more devices / Show fewer devices when more than three sessions.
Empty: No active sessions found.
Loading: Loading devices...