Early research preview — this project is an experiment and may change significantly.
Bloktastic

content

Team Member

Profile card for a team member with role, avatar, and optional social links.

#team#profile#member#about

Storyblok Schema

json

{
  "$bloktastic": {
    "version": "1.0.0"
  },
  "name": "team_member",
  "display_name": "Team Member",
  "is_root": false,
  "is_nestable": true,
  "schema": {
    "name": {
      "type": "text",
      "pos": 0,
      "display_name": "Name",
      "description": "Team member full name",
      "required": true
    },
    "role": {
      "type": "text",
      "pos": 1,
      "display_name": "Role",
      "description": "Job title or function",
      "required": true
    },
    "bio": {
      "type": "textarea",
      "pos": 2,
      "display_name": "Bio",
      "description": "Short biography text"
    },
    "avatar": {
      "type": "asset",
      "pos": 3,
      "display_name": "Avatar",
      "description": "Profile image"
    },
    "linkedin": {
      "type": "multilink",
      "pos": 4,
      "display_name": "LinkedIn Link",
      "description": "LinkedIn profile URL"
    },
    "x_link": {
      "type": "multilink",
      "pos": 5,
      "display_name": "X/Twitter Link",
      "description": "X/Twitter profile URL"
    }
  },
  "preview_field": "name"
}

Generation Prompt

md

# Team Member

## Purpose
Profile card for a team member with role, avatar, and optional social links.

## Storyblok Schema Fields
- `name` (text, required): Team member full name
- `role` (text, required): Job title or function
- `bio` (textarea): Short biography text
- `avatar` (asset): Profile image
- `linkedin` (multilink): LinkedIn profile URL
- `x_link` (multilink): X/Twitter profile URL

## Visual Requirements
- Design for responsive marketing pages (mobile, tablet, desktop).
- Keep spacing and hierarchy clear for conversion-focused sections.
- Support optional content gracefully without visual gaps.

## Accessibility
- Use semantic sectioning and heading structure.
- Ensure interactive elements are keyboard reachable with visible focus states.
- Maintain WCAG-compliant contrast in all supported styles.

## Example Props Structure
```typescript
interface TeamMemberProps {
  // Map Storyblok fields to your frontend props here
}
```

## Edge Cases
- Missing optional media or links.
- Extremely long text content.
- Empty collections in nested blok fields.

README

md

# @bloktastic/team-member

Profile card for a team member with role, avatar, and optional social links.

## Installation

```bash
bloktastic add @bloktastic/team-member
```

## Fields

| Field | Type | Required | Description |
|---|---|---|---|
| name | text | Yes | Team member full name |
| role | text | Yes | Job title or function |
| bio | textarea | No | Short biography text |
| avatar | asset | No | Profile image |
| linkedin | multilink | No | LinkedIn profile URL |
| x_link | multilink | No | X/Twitter profile URL |

## Notes
- Category: `content`
- Tags: `team`, `profile`, `member`, `about`