Startups

{
$schema: 'http://json-schema.org/draft-07/schema#',
definitions: {
LandingPage: {
type: 'object',
properties: {
id: {
type: 'string',
},
title: {
type: 'string',
description: 'SEO optimized title of the landing page',
},
description: {
type: 'string',
description: 'SEO optimized description of the landing page',
},
heroHeading: {
type: 'string',
},
heroSubtext: {
type: 'string',
},
},
},
Story: {
type: 'object',
properties: {
id: {
type: 'string',
},
hero: {
type: 'string',
description: 'The ideal customer profile',
},
externalProblems: {
type: 'array',
items: {
type: 'string',
},
description: 'The tangible, surface-level problem that the customer is trying to solve with a product or service',
},
internalProblems: {
type: 'array',
items: {
type: 'string',
},
description: 'The feelings, frustrations, or emotional struggles that the customer experiences in relation to the external problem',
},
philosophicalStruggle: {
type: 'string',
description: 'The broader implications of the customer’s struggle, addressing why the problem matters in a larger context',
},
villain: {
type: 'string',
description: 'The external forces that are preventing the customer from solving the problem',
},
guide: {
type: 'string',
description: 'The brand that helps the customer overcome the villain and solve the problem',
},
empathy: {
type: 'string',
description: 'The brand’s demonstration of understanding and compassion for the customer’s struggle',
},
authority: {
type: 'string',
description: 'The brand’s demonstration of expertise and credibility in solving the problem',
},
plan: {
type: 'string',
description: 'The process or solution that the brand offers to help the customer solve the problem',
},
step1: {
type: 'string',
description: 'The first step in the brand’s process or solution',
},
step2: {
type: 'string',
description: 'The second step in the brand’s process or solution',
},
step3: {
type: 'string',
description: 'The third step in the brand’s process or solution',
},
callToAction: {
type: 'string',
description: 'The action that the brand wants the customer to take',
},
failure: {
type: 'string',
description: 'The tragic consequences of not taking action',
},
stakes: {
type: 'array',
items: {
type: 'string',
},
description: 'What the customer stands to lose if they don’t take action',
},
success: {
type: 'string',
description: 'The results of taking action',
},
benefits: {
type: 'array',
items: {
type: 'string',
},
description: 'The benefits of taking action',
},
transformation: {
type: 'string',
description: 'The transformation that the customer experiences after taking action',
},
},
},
Embedding: {
type: 'object',
properties: {
id: {
type: 'string',
},
input: {
type: 'string',
},
},
},
User: {
type: 'object',
properties: {
id: {
type: 'string',
},
name: {
type: [
'string',
'null',
],
},
email: {
type: 'string',
},
emailVerified: {
type: [
'string',
'null',
],
format: 'date-time',
},
image: {
type: [
'string',
'null',
],
},
accounts: {
type: 'array',
items: {
$ref: '#/definitions/Account',
},
},
sessions: {
type: 'array',
items: {
$ref: '#/definitions/Session',
},
},
Authenticator: {
type: 'array',
items: {
$ref: '#/definitions/Authenticator',
},
},
createdAt: {
type: 'string',
format: 'date-time',
},
updatedAt: {
type: 'string',
format: 'date-time',
},
},
},
Account: {
type: 'object',
properties: {
type: {
type: 'string',
},
provider: {
type: 'string',
},
providerAccountId: {
type: 'string',
},
refresh_token: {
type: [
'string',
'null',
],
},
access_token: {
type: [
'string',
'null',
],
},
expires_at: {
type: [
'integer',
'null',
],
},
token_type: {
type: [
'string',
'null',
],
},
scope: {
type: [
'string',
'null',
],
},
id_token: {
type: [
'string',
'null',
],
},
session_state: {
type: [
'string',
'null',
],
},
createdAt: {
type: 'string',
format: 'date-time',
},
updatedAt: {
type: 'string',
format: 'date-time',
},
user: {
$ref: '#/definitions/User',
},
},
},
Session: {
type: 'object',
properties: {
sessionToken: {
type: 'string',
},
expires: {
type: 'string',
format: 'date-time',
},
user: {
$ref: '#/definitions/User',
},
createdAt: {
type: 'string',
format: 'date-time',
},
updatedAt: {
type: 'string',
format: 'date-time',
},
},
},
VerificationToken: {
type: 'object',
properties: {
identifier: {
type: 'string',
},
token: {
type: 'string',
},
expires: {
type: 'string',
format: 'date-time',
},
},
},
Authenticator: {
type: 'object',
properties: {
credentialID: {
type: 'string',
},
providerAccountId: {
type: 'string',
},
credentialPublicKey: {
type: 'string',
},
counter: {
type: 'integer',
},
credentialDeviceType: {
type: 'string',
},
credentialBackedUp: {
type: 'boolean',
},
transports: {
type: [
'string',
'null',
],
},
user: {
$ref: '#/definitions/User',
},
},
},
},
type: 'object',
properties: {
landingPage: {
$ref: '#/definitions/LandingPage',
},
story: {
$ref: '#/definitions/Story',
},
embedding: {
$ref: '#/definitions/Embedding',
},
user: {
$ref: '#/definitions/User',
},
account: {
$ref: '#/definitions/Account',
},
session: {
$ref: '#/definitions/Session',
},
verificationToken: {
$ref: '#/definitions/VerificationToken',
},
authenticator: {
$ref: '#/definitions/Authenticator',
},
},
}