II.
StackProfile JSON
Structured · livestack-profile:crm-customer-platform
CRM / Customer Platform Stack (Next.js, PostgreSQL, Redis, Elasticsearch, Stripe) json
Inspect the normalized record payload exactly as the atlas UI reads it.
{
"id": "stack-profile:crm-customer-platform",
"_kind": "StackProfile",
"_file": "domain/stack-profiles/deep-stacks-3.yaml",
"_cluster": "domain",
"attributes": {
"displayName": "CRM / Customer Platform Stack (Next.js, PostgreSQL, Redis, Elasticsearch, Stripe)",
"description": "A customer relationship management platform for tracking contacts,\ndeals, interactions, and billing. Next.js provides server-rendered\npages with fast navigation between customer records. PostgreSQL stores\nthe relational CRM data model (contacts, companies, deals, activities,\ncustom fields) while Elasticsearch enables instant search across all\ncustomer data. Redis caches frequently-accessed records and powers\nreal-time activity feeds. Stripe handles subscription billing for the\nCRM product itself. TypeScript with Zod provides runtime validation\nfor complex CRM forms and API payloads. The primary tradeoff is schema\nflexibility — CRM users expect custom fields and configurable\nworkflows, which requires a dynamic schema layer on top of PostgreSQL.\n",
"composes": [
"framework:nextjs",
"library:prisma",
"library:ioredis",
"tool:elasticsearch",
"tool:stripe",
"language:typescript",
"library:zod"
]
},
"outgoingEdges": [
{
"from": "stack-profile:crm-customer-platform",
"to": "framework:nextjs",
"kind": "composed_of"
},
{
"from": "stack-profile:crm-customer-platform",
"to": "library:prisma",
"kind": "composed_of"
},
{
"from": "stack-profile:crm-customer-platform",
"to": "library:ioredis",
"kind": "composed_of"
},
{
"from": "stack-profile:crm-customer-platform",
"to": "tool:elasticsearch",
"kind": "composed_of"
},
{
"from": "stack-profile:crm-customer-platform",
"to": "tool:stripe",
"kind": "composed_of"
},
{
"from": "stack-profile:crm-customer-platform",
"to": "language:typescript",
"kind": "composed_of"
},
{
"from": "stack-profile:crm-customer-platform",
"to": "library:zod",
"kind": "composed_of"
},
{
"from": "stack-profile:crm-customer-platform",
"to": "library:next-auth",
"kind": "composed_of"
},
{
"from": "stack-profile:crm-customer-platform",
"to": "role:fullstack-engineer",
"kind": "used_by_role"
},
{
"from": "stack-profile:crm-customer-platform",
"to": "role:backend-engineer",
"kind": "used_by_role"
},
{
"from": "stack-profile:crm-customer-platform",
"to": "role:product-manager",
"kind": "used_by_role"
},
{
"from": "stack-profile:crm-customer-platform",
"to": "workflow:feature-development",
"kind": "follows_workflow"
},
{
"from": "stack-profile:crm-customer-platform",
"to": "workflow:schema-migration",
"kind": "follows_workflow"
},
{
"from": "stack-profile:crm-customer-platform",
"to": "domain:customer-relations",
"kind": "applies_to"
},
{
"from": "stack-profile:crm-customer-platform",
"to": "domain:software-engineering",
"kind": "applies_to"
},
{
"from": "stack-profile:crm-customer-platform",
"to": "skill-area:search-indexing",
"kind": "requires_skill_area"
},
{
"from": "stack-profile:crm-customer-platform",
"to": "skill-area:backend-data-persistence",
"kind": "requires_skill_area"
},
{
"from": "stack-profile:crm-customer-platform",
"to": "skill-area:frontend-development",
"kind": "requires_skill_area"
},
{
"from": "stack-profile:crm-customer-platform",
"to": "skill-area:payment-integration",
"kind": "requires_skill_area"
},
{
"from": "stack-profile:crm-customer-platform",
"to": "skill-area:domain-driven-design",
"kind": "requires_skill_area"
}
],
"incomingEdges": []
}