Core Concepts
Block Types
Reference for all available block types in EpicContext, organized by section.
EpicContext uses typed blocks to ensure your product context is structured and consistent. Each block type defines a specific schema with required and optional fields.
Block Types by Section
Brand
| Block Type | Description |
|---|---|
brand_positioning | Core positioning statement, target audience, differentiators |
brand_visual_identity | Colors, typography, logo usage, imagery guidelines |
tone_of_voice | Writing style, personality traits, do's and don'ts |
messaging_framework | Key messages, value propositions, taglines |
brand_moodboard | Visual inspiration and reference imagery |
Product
| Block Type | Description |
|---|---|
product_overview | High-level product description, vision, mission |
feature | Individual feature with description, user stories, priority |
product_strategy_canvas | Strategic product planning framework |
glossary | Domain-specific terms and definitions |
Users & Journeys
| Block Type | Description |
|---|---|
persona | User persona with demographics, goals, pain points |
jtbd | Jobs to be done framework entries |
journey_map | End-to-end user journey with stages and touchpoints |
Technical
| Block Type | Description |
|---|---|
tech_stack | Technologies used with rationale |
architecture_diagram | System architecture documentation |
api_endpoint | Individual API endpoint specification |
api_spec | Full API specification document |
data_model | Data model and schema documentation |
integration | Third-party integration details |
constraint | Technical constraints and limitations |
Development
| Block Type | Description |
|---|---|
epic | Large body of work with linked user stories |
user_story | User story with acceptance criteria |
task | Implementation task with estimates |
roadmap | Product roadmap with timeline |
Decisions
| Block Type | Description |
|---|---|
decision | Architecture Decision Record (ADR) |
meeting_notes | Meeting notes with action items |
Custom block types
If the built-in types don't fit your needs, you can define custom block types with your own schema. See your project settings for the block type editor.
Block Schema Structure
Every block type is defined by a schema that specifies its fields:
{
"type": "persona",
"fields": [
{ "key": "name", "type": "text", "required": true },
{ "key": "description", "type": "textarea" },
{ "key": "goals", "type": "textarea" },
{ "key": "pain_points", "type": "textarea" },
{ "key": "behaviors", "type": "textarea" }
]
}
Field Types
Blocks can use these field types:
| Field Type | Description |
|---|---|
text | Single-line text input |
textarea | Multi-line text |
richtext | Rich text with formatting (Tiptap editor) |
number | Numeric value |
url | URL with validation |
email | Email address |
color | Color picker (hex value) |
select | Single selection from options |
multiselect | Multiple selections from options |
date | Date picker |
boolean | Toggle/checkbox |
json | Raw JSON editor |
Relationships Between Blocks
Blocks can reference other blocks to create a connected knowledge graph. For example:
- A Feature can link to the Persona it serves
- A User Story can link to its parent Epic
- A Decision can reference the Feature it applies to
These relationships are maintained in the block's value and visualized in the Context Map.
Last updated: 2026-02-18