Rebrand as Semantika with honest, inspiration-based claims
Applies the brand platform consistently across the codebase: - Name: Semantika everywhere — app name/slug/scheme, bundle ids (com.semantika.app), workspace package names, CDK stack, Cognito domain prefix, secret name (semantika/app), database name, product ids (semantika_monthly/_yearly), and storage keys. - System instructions: Semantika is positioned as an intelligent reflection partner — not therapy, not self-help, not a course. It starts by exploring how the user interprets their situation and supports reflection and perspective-taking rather than delivering finished answers. Tone rules added: never judging, dramatic, overenthusiastic or preaching; always calm, curious, clear, respectful, structured, thoughtful. - Honest claims: instructions and knowledge base now explicitly frame neurosemantics and NLP as models and inspiration for reflection, not scientifically established methods — including a note that several NLP claims lack support in controlled studies. Claiming or implying proven effects is forbidden. - README: brand section (position, promise, mission, vision, positioning, tone, design words) and updated product philosophy. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_0118DaxZR36RpnY524vRqx3z
This commit is contained in:
@@ -1,11 +1,36 @@
|
|||||||
# NeuroSemantics AI
|
# Semantika
|
||||||
|
|
||||||
A minimalist mobile app for iOS and Android. The product is one thing only:
|
**Think Beyond Thought.**
|
||||||
an intelligent conversation partner with a specialized knowledge base in
|
|
||||||
neurosemantics and NLP. No course portal, no CRM, no community.
|
|
||||||
|
|
||||||
Design language: calm, simple, clear. Off-white background, near-black text,
|
The world's first NeuroSemantic conversation platform. Semantika helps people
|
||||||
one dark blue-green accent. No animations, no gradients.
|
explore how they create meaning, interpret their experiences, and communicate
|
||||||
|
with themselves and others — through structured conversations inspired by
|
||||||
|
neurosemantic principles.
|
||||||
|
|
||||||
|
## Brand
|
||||||
|
|
||||||
|
- **Core promise** — Discover the meaning behind your thinking.
|
||||||
|
- **Mission** — Helping people create better meaning.
|
||||||
|
- **Vision** — To make NeuroSemantic thinking accessible to everyone.
|
||||||
|
|
||||||
|
**Positioning.** Semantika is not therapy, not self-help, and not a course.
|
||||||
|
It is an intelligent reflection partner that uses neurosemantic models to
|
||||||
|
help the user explore thinking patterns, communication, and perspective.
|
||||||
|
Instead of quick advice, Semantika starts by helping the user explore how
|
||||||
|
they interpret their situation — supporting reflection and
|
||||||
|
perspective-taking, not delivering finished answers.
|
||||||
|
|
||||||
|
**Honest claims.** Neurosemantics and NLP are presented as inspiration and
|
||||||
|
models for reflection, never as scientifically proven methods. This is
|
||||||
|
enforced in the system instructions and the knowledge base; copy in the app
|
||||||
|
and the stores must follow the same rule.
|
||||||
|
|
||||||
|
**Tone.** Never judging, dramatic, overenthusiastic, or preaching. Always
|
||||||
|
calm, curious, clear, respectful, structured, thoughtful.
|
||||||
|
|
||||||
|
**Design.** Scandinavian, clinical, quiet, precise, minimal. Off-white
|
||||||
|
background, near-black text, one dark blue-green accent. Generous white
|
||||||
|
space. No animations, no gradients.
|
||||||
|
|
||||||
## System overview
|
## System overview
|
||||||
|
|
||||||
@@ -106,7 +131,7 @@ npx cdk deploy
|
|||||||
|
|
||||||
After the first deploy:
|
After the first deploy:
|
||||||
|
|
||||||
1. Put values into the `neurosemantics/app` secret in Secrets Manager:
|
1. Put values into the `semantika/app` secret in Secrets Manager:
|
||||||
`OPENAI_API_KEY`, `APPLE_SHARED_SECRET`, `GOOGLE_SERVICE_ACCOUNT_JSON`.
|
`OPENAI_API_KEY`, `APPLE_SHARED_SECRET`, `GOOGLE_SERVICE_ACCOUNT_JSON`.
|
||||||
2. Run `db/migrations/001_init.sql` against the cluster (credentials are in
|
2. Run `db/migrations/001_init.sql` against the cluster (credentials are in
|
||||||
the RDS-managed secret).
|
the RDS-managed secret).
|
||||||
@@ -131,6 +156,11 @@ GitHub Actions: `ci.yml` lints, type-checks and tests every PR;
|
|||||||
|
|
||||||
## Product philosophy
|
## Product philosophy
|
||||||
|
|
||||||
|
People grow when they become more aware of how they create meaning,
|
||||||
|
interpret their experiences, and shape their decisions. Semantika helps the
|
||||||
|
user ask better questions, discover new perspectives, and reflect on their
|
||||||
|
own thinking.
|
||||||
|
|
||||||
Every free user should leave the app feeling that the system understood
|
Every free user should leave the app feeling that the system understood
|
||||||
their situation, that a concrete analysis is ready, and that the next step
|
their situation, that a concrete analysis is ready, and that the next step
|
||||||
is available in Premium — never that they were held back by an artificial
|
is available in Premium — never that they were held back by an artificial
|
||||||
|
|||||||
@@ -1,28 +1,28 @@
|
|||||||
{
|
{
|
||||||
"expo": {
|
"expo": {
|
||||||
"name": "NeuroSemantics AI",
|
"name": "Semantika",
|
||||||
"slug": "neurosemantics-ai",
|
"slug": "semantika",
|
||||||
"version": "1.0.0",
|
"version": "1.0.0",
|
||||||
"orientation": "portrait",
|
"orientation": "portrait",
|
||||||
"scheme": "neurosemantics",
|
"scheme": "semantika",
|
||||||
"userInterfaceStyle": "light",
|
"userInterfaceStyle": "light",
|
||||||
"backgroundColor": "#F7F6F2",
|
"backgroundColor": "#F7F6F2",
|
||||||
"ios": {
|
"ios": {
|
||||||
"bundleIdentifier": "com.neurosemantics.app",
|
"bundleIdentifier": "com.semantika.app",
|
||||||
"supportsTablet": false,
|
"supportsTablet": false,
|
||||||
"usesAppleSignIn": true
|
"usesAppleSignIn": true
|
||||||
},
|
},
|
||||||
"android": {
|
"android": {
|
||||||
"package": "com.neurosemantics.app"
|
"package": "com.semantika.app"
|
||||||
},
|
},
|
||||||
"extra": {
|
"extra": {
|
||||||
"apiUrl": "https://REPLACE_WITH_API_URL",
|
"apiUrl": "https://REPLACE_WITH_API_URL",
|
||||||
"cognitoDomain": "https://REPLACE_WITH_PREFIX.auth.eu-north-1.amazoncognito.com",
|
"cognitoDomain": "https://REPLACE_WITH_PREFIX.auth.eu-north-1.amazoncognito.com",
|
||||||
"cognitoClientId": "REPLACE_WITH_CLIENT_ID",
|
"cognitoClientId": "REPLACE_WITH_CLIENT_ID",
|
||||||
"iosMonthlyProductId": "neurosemantics_monthly",
|
"iosMonthlyProductId": "semantika_monthly",
|
||||||
"iosYearlyProductId": "neurosemantics_yearly",
|
"iosYearlyProductId": "semantika_yearly",
|
||||||
"androidMonthlyProductId": "neurosemantics_monthly",
|
"androidMonthlyProductId": "semantika_monthly",
|
||||||
"androidYearlyProductId": "neurosemantics_yearly"
|
"androidYearlyProductId": "semantika_yearly"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
{
|
{
|
||||||
"name": "@neurosemantics/mobile",
|
"name": "@semantika/mobile",
|
||||||
"version": "1.0.0",
|
"version": "1.0.0",
|
||||||
"private": true,
|
"private": true,
|
||||||
"main": "index.ts",
|
"main": "index.ts",
|
||||||
|
|||||||
@@ -30,7 +30,7 @@ export interface Me {
|
|||||||
messageCap: number;
|
messageCap: number;
|
||||||
}
|
}
|
||||||
|
|
||||||
const DEVICE_KEY = 'neurosemantics.device';
|
const DEVICE_KEY = 'semantika.device';
|
||||||
|
|
||||||
/** Stable anonymous id so guests can chat before signing in. */
|
/** Stable anonymous id so guests can chat before signing in. */
|
||||||
async function getDeviceId(): Promise<string> {
|
async function getDeviceId(): Promise<string> {
|
||||||
|
|||||||
@@ -19,7 +19,7 @@ interface StoredSession {
|
|||||||
expiresAt: number; // epoch ms
|
expiresAt: number; // epoch ms
|
||||||
}
|
}
|
||||||
|
|
||||||
const STORE_KEY = 'neurosemantics.session';
|
const STORE_KEY = 'semantika.session';
|
||||||
|
|
||||||
const discovery: DiscoveryDocument = {
|
const discovery: DiscoveryDocument = {
|
||||||
authorizationEndpoint: `${appConfig.cognitoDomain}/oauth2/authorize`,
|
authorizationEndpoint: `${appConfig.cognitoDomain}/oauth2/authorize`,
|
||||||
@@ -27,7 +27,7 @@ const discovery: DiscoveryDocument = {
|
|||||||
revocationEndpoint: `${appConfig.cognitoDomain}/oauth2/revoke`,
|
revocationEndpoint: `${appConfig.cognitoDomain}/oauth2/revoke`,
|
||||||
};
|
};
|
||||||
|
|
||||||
const redirectUri = makeRedirectUri({ scheme: 'neurosemantics', path: 'redirect' });
|
const redirectUri = makeRedirectUri({ scheme: 'semantika', path: 'redirect' });
|
||||||
|
|
||||||
/** Maps our provider names to Cognito hosted UI identity providers. */
|
/** Maps our provider names to Cognito hosted UI identity providers. */
|
||||||
const IDP: Record<Provider, string | undefined> = {
|
const IDP: Record<Provider, string | undefined> = {
|
||||||
|
|||||||
@@ -97,7 +97,7 @@ export function ChatScreen({
|
|||||||
style={styles.container}
|
style={styles.container}
|
||||||
behavior={Platform.OS === 'ios' ? 'padding' : undefined}
|
behavior={Platform.OS === 'ios' ? 'padding' : undefined}
|
||||||
>
|
>
|
||||||
<Text style={styles.heading}>NeuroSemantics AI</Text>
|
<Text style={styles.heading}>Semantika</Text>
|
||||||
{showSuggestions ? (
|
{showSuggestions ? (
|
||||||
<View style={styles.suggestions}>
|
<View style={styles.suggestions}>
|
||||||
{suggestions.map((s) => (
|
{suggestions.map((s) => (
|
||||||
|
|||||||
@@ -1,9 +1,9 @@
|
|||||||
import { App } from 'aws-cdk-lib';
|
import { App } from 'aws-cdk-lib';
|
||||||
import { NeuroSemanticsStack } from '../lib/neurosemantics-stack.js';
|
import { SemantikaStack } from '../lib/semantika-stack.js';
|
||||||
|
|
||||||
const app = new App();
|
const app = new App();
|
||||||
|
|
||||||
new NeuroSemanticsStack(app, 'NeuroSemantics', {
|
new SemantikaStack(app, 'Semantika', {
|
||||||
env: {
|
env: {
|
||||||
account: process.env.CDK_DEFAULT_ACCOUNT,
|
account: process.env.CDK_DEFAULT_ACCOUNT,
|
||||||
region: process.env.CDK_DEFAULT_REGION ?? 'eu-north-1',
|
region: process.env.CDK_DEFAULT_REGION ?? 'eu-north-1',
|
||||||
+1
-1
@@ -1,5 +1,5 @@
|
|||||||
{
|
{
|
||||||
"app": "npx tsx bin/neurosemantics.ts",
|
"app": "npx tsx bin/semantika.ts",
|
||||||
"context": {
|
"context": {
|
||||||
"@aws-cdk/aws-lambda:recognizeLayerVersion": true,
|
"@aws-cdk/aws-lambda:recognizeLayerVersion": true,
|
||||||
"@aws-cdk/core:checkSecretUsage": true,
|
"@aws-cdk/core:checkSecretUsage": true,
|
||||||
|
|||||||
@@ -15,14 +15,14 @@ import { dirname, join } from 'node:path';
|
|||||||
|
|
||||||
const repoRoot = join(dirname(fileURLToPath(import.meta.url)), '..', '..');
|
const repoRoot = join(dirname(fileURLToPath(import.meta.url)), '..', '..');
|
||||||
|
|
||||||
const DB_NAME = 'neurosemantics';
|
const DB_NAME = 'semantika';
|
||||||
const APP_SCHEME_REDIRECT = 'neurosemantics://redirect';
|
const APP_SCHEME_REDIRECT = 'semantika://redirect';
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* The entire system: one HTTP API, one Lambda, one database, one user pool,
|
* The entire system: one HTTP API, one Lambda, one database, one user pool,
|
||||||
* one application secret. CloudWatch logging comes with Lambda by default.
|
* one application secret. CloudWatch logging comes with Lambda by default.
|
||||||
*/
|
*/
|
||||||
export class NeuroSemanticsStack extends Stack {
|
export class SemantikaStack extends Stack {
|
||||||
constructor(scope: Construct, id: string, props?: StackProps) {
|
constructor(scope: Construct, id: string, props?: StackProps) {
|
||||||
super(scope, id, props);
|
super(scope, id, props);
|
||||||
|
|
||||||
@@ -46,9 +46,8 @@ export class NeuroSemanticsStack extends Stack {
|
|||||||
|
|
||||||
// --- Application secret (filled in manually after first deploy) ---
|
// --- Application secret (filled in manually after first deploy) ---
|
||||||
const appSecret = new secretsmanager.Secret(this, 'AppSecret', {
|
const appSecret = new secretsmanager.Secret(this, 'AppSecret', {
|
||||||
secretName: 'neurosemantics/app',
|
secretName: 'semantika/app',
|
||||||
description:
|
description: 'OPENAI_API_KEY, APPLE_SHARED_SECRET, GOOGLE_SERVICE_ACCOUNT_JSON for Semantika',
|
||||||
'OPENAI_API_KEY, APPLE_SHARED_SECRET, GOOGLE_SERVICE_ACCOUNT_JSON for NeuroSemantics AI',
|
|
||||||
});
|
});
|
||||||
|
|
||||||
// --- Authentication: Cognito with Apple, Google and email ---
|
// --- Authentication: Cognito with Apple, Google and email ---
|
||||||
@@ -61,7 +60,7 @@ export class NeuroSemanticsStack extends Stack {
|
|||||||
removalPolicy: RemovalPolicy.RETAIN,
|
removalPolicy: RemovalPolicy.RETAIN,
|
||||||
});
|
});
|
||||||
|
|
||||||
const domainPrefix = this.node.tryGetContext('cognitoDomainPrefix') ?? 'neurosemantics';
|
const domainPrefix = this.node.tryGetContext('cognitoDomainPrefix') ?? 'semantika';
|
||||||
const domain = userPool.addDomain('Domain', { cognitoDomain: { domainPrefix } });
|
const domain = userPool.addDomain('Domain', { cognitoDomain: { domainPrefix } });
|
||||||
|
|
||||||
// Apple/Google federation requires developer credentials; provide them via
|
// Apple/Google federation requires developer credentials; provide them via
|
||||||
@@ -91,7 +90,7 @@ export class NeuroSemanticsStack extends Stack {
|
|||||||
if (appleTeamId && appleKeyId && applePrivateKeySecretName) {
|
if (appleTeamId && appleKeyId && applePrivateKeySecretName) {
|
||||||
new cognito.UserPoolIdentityProviderApple(this, 'Apple', {
|
new cognito.UserPoolIdentityProviderApple(this, 'Apple', {
|
||||||
userPool,
|
userPool,
|
||||||
clientId: 'com.neurosemantics.app.signin',
|
clientId: 'com.semantika.app.signin',
|
||||||
teamId: appleTeamId,
|
teamId: appleTeamId,
|
||||||
keyId: appleKeyId,
|
keyId: appleKeyId,
|
||||||
privateKeyValue: secretsmanager.Secret.fromSecretNameV2(
|
privateKeyValue: secretsmanager.Secret.fromSecretNameV2(
|
||||||
+1
-1
@@ -1,5 +1,5 @@
|
|||||||
{
|
{
|
||||||
"name": "@neurosemantics/infra",
|
"name": "@semantika/infra",
|
||||||
"version": "1.0.0",
|
"version": "1.0.0",
|
||||||
"private": true,
|
"private": true,
|
||||||
"type": "module",
|
"type": "module",
|
||||||
|
|||||||
Generated
+37
-17
@@ -1,11 +1,11 @@
|
|||||||
{
|
{
|
||||||
"name": "neurosemantics-ai",
|
"name": "semantika",
|
||||||
"version": "1.0.0",
|
"version": "1.0.0",
|
||||||
"lockfileVersion": 3,
|
"lockfileVersion": 3,
|
||||||
"requires": true,
|
"requires": true,
|
||||||
"packages": {
|
"packages": {
|
||||||
"": {
|
"": {
|
||||||
"name": "neurosemantics-ai",
|
"name": "semantika",
|
||||||
"version": "1.0.0",
|
"version": "1.0.0",
|
||||||
"workspaces": [
|
"workspaces": [
|
||||||
"apps/mobile",
|
"apps/mobile",
|
||||||
@@ -21,7 +21,7 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"apps/mobile": {
|
"apps/mobile": {
|
||||||
"name": "@neurosemantics/mobile",
|
"name": "@semantika/mobile",
|
||||||
"version": "1.0.0",
|
"version": "1.0.0",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"expo": "~52.0.0",
|
"expo": "~52.0.0",
|
||||||
@@ -40,7 +40,7 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"infra": {
|
"infra": {
|
||||||
"name": "@neurosemantics/infra",
|
"name": "@semantika/infra",
|
||||||
"version": "1.0.0",
|
"version": "1.0.0",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"aws-cdk-lib": "^2.173.2",
|
"aws-cdk-lib": "^2.173.2",
|
||||||
@@ -99,6 +99,7 @@
|
|||||||
},
|
},
|
||||||
"node_modules/@aws-cdk/cloud-assembly-schema/node_modules/jsonschema": {
|
"node_modules/@aws-cdk/cloud-assembly-schema/node_modules/jsonschema": {
|
||||||
"version": "1.5.0",
|
"version": "1.5.0",
|
||||||
|
"extraneous": true,
|
||||||
"inBundle": true,
|
"inBundle": true,
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"engines": {
|
"engines": {
|
||||||
@@ -107,6 +108,7 @@
|
|||||||
},
|
},
|
||||||
"node_modules/@aws-cdk/cloud-assembly-schema/node_modules/semver": {
|
"node_modules/@aws-cdk/cloud-assembly-schema/node_modules/semver": {
|
||||||
"version": "7.8.5",
|
"version": "7.8.5",
|
||||||
|
"extraneous": true,
|
||||||
"inBundle": true,
|
"inBundle": true,
|
||||||
"license": "ISC",
|
"license": "ISC",
|
||||||
"bin": {
|
"bin": {
|
||||||
@@ -4315,18 +4317,6 @@
|
|||||||
"node": "^22.20 || ^24.12 || >=25"
|
"node": "^22.20 || ^24.12 || >=25"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@neurosemantics/api": {
|
|
||||||
"resolved": "services/api",
|
|
||||||
"link": true
|
|
||||||
},
|
|
||||||
"node_modules/@neurosemantics/infra": {
|
|
||||||
"resolved": "infra",
|
|
||||||
"link": true
|
|
||||||
},
|
|
||||||
"node_modules/@neurosemantics/mobile": {
|
|
||||||
"resolved": "apps/mobile",
|
|
||||||
"link": true
|
|
||||||
},
|
|
||||||
"node_modules/@nodelib/fs.scandir": {
|
"node_modules/@nodelib/fs.scandir": {
|
||||||
"version": "2.1.5",
|
"version": "2.1.5",
|
||||||
"resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz",
|
"resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz",
|
||||||
@@ -5275,6 +5265,18 @@
|
|||||||
"join-component": "^1.1.0"
|
"join-component": "^1.1.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"node_modules/@semantika/api": {
|
||||||
|
"resolved": "services/api",
|
||||||
|
"link": true
|
||||||
|
},
|
||||||
|
"node_modules/@semantika/infra": {
|
||||||
|
"resolved": "infra",
|
||||||
|
"link": true
|
||||||
|
},
|
||||||
|
"node_modules/@semantika/mobile": {
|
||||||
|
"resolved": "apps/mobile",
|
||||||
|
"link": true
|
||||||
|
},
|
||||||
"node_modules/@sinclair/typebox": {
|
"node_modules/@sinclair/typebox": {
|
||||||
"version": "0.27.12",
|
"version": "0.27.12",
|
||||||
"resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.27.12.tgz",
|
"resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.27.12.tgz",
|
||||||
@@ -6265,6 +6267,7 @@
|
|||||||
},
|
},
|
||||||
"node_modules/aws-cdk-lib/node_modules/@aws-cdk/cloud-assembly-api": {
|
"node_modules/aws-cdk-lib/node_modules/@aws-cdk/cloud-assembly-api": {
|
||||||
"version": "2.2.6",
|
"version": "2.2.6",
|
||||||
|
"extraneous": true,
|
||||||
"inBundle": true,
|
"inBundle": true,
|
||||||
"license": "Apache-2.0",
|
"license": "Apache-2.0",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
@@ -6280,6 +6283,7 @@
|
|||||||
},
|
},
|
||||||
"node_modules/aws-cdk-lib/node_modules/@aws/cloudformation-validate": {
|
"node_modules/aws-cdk-lib/node_modules/@aws/cloudformation-validate": {
|
||||||
"version": "1.6.0-beta",
|
"version": "1.6.0-beta",
|
||||||
|
"extraneous": true,
|
||||||
"inBundle": true,
|
"inBundle": true,
|
||||||
"license": "Apache-2.0",
|
"license": "Apache-2.0",
|
||||||
"engines": {
|
"engines": {
|
||||||
@@ -6288,11 +6292,13 @@
|
|||||||
},
|
},
|
||||||
"node_modules/aws-cdk-lib/node_modules/@balena/dockerignore": {
|
"node_modules/aws-cdk-lib/node_modules/@balena/dockerignore": {
|
||||||
"version": "1.0.2",
|
"version": "1.0.2",
|
||||||
|
"extraneous": true,
|
||||||
"inBundle": true,
|
"inBundle": true,
|
||||||
"license": "Apache-2.0"
|
"license": "Apache-2.0"
|
||||||
},
|
},
|
||||||
"node_modules/aws-cdk-lib/node_modules/balanced-match": {
|
"node_modules/aws-cdk-lib/node_modules/balanced-match": {
|
||||||
"version": "4.0.4",
|
"version": "4.0.4",
|
||||||
|
"extraneous": true,
|
||||||
"inBundle": true,
|
"inBundle": true,
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"engines": {
|
"engines": {
|
||||||
@@ -6301,6 +6307,7 @@
|
|||||||
},
|
},
|
||||||
"node_modules/aws-cdk-lib/node_modules/brace-expansion": {
|
"node_modules/aws-cdk-lib/node_modules/brace-expansion": {
|
||||||
"version": "5.0.8",
|
"version": "5.0.8",
|
||||||
|
"extraneous": true,
|
||||||
"inBundle": true,
|
"inBundle": true,
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
@@ -6312,6 +6319,7 @@
|
|||||||
},
|
},
|
||||||
"node_modules/aws-cdk-lib/node_modules/case": {
|
"node_modules/aws-cdk-lib/node_modules/case": {
|
||||||
"version": "1.6.3",
|
"version": "1.6.3",
|
||||||
|
"extraneous": true,
|
||||||
"inBundle": true,
|
"inBundle": true,
|
||||||
"license": "(MIT OR GPL-3.0-or-later)",
|
"license": "(MIT OR GPL-3.0-or-later)",
|
||||||
"engines": {
|
"engines": {
|
||||||
@@ -6320,6 +6328,7 @@
|
|||||||
},
|
},
|
||||||
"node_modules/aws-cdk-lib/node_modules/fs-extra": {
|
"node_modules/aws-cdk-lib/node_modules/fs-extra": {
|
||||||
"version": "11.3.6",
|
"version": "11.3.6",
|
||||||
|
"extraneous": true,
|
||||||
"inBundle": true,
|
"inBundle": true,
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
@@ -6333,11 +6342,13 @@
|
|||||||
},
|
},
|
||||||
"node_modules/aws-cdk-lib/node_modules/graceful-fs": {
|
"node_modules/aws-cdk-lib/node_modules/graceful-fs": {
|
||||||
"version": "4.2.11",
|
"version": "4.2.11",
|
||||||
|
"extraneous": true,
|
||||||
"inBundle": true,
|
"inBundle": true,
|
||||||
"license": "ISC"
|
"license": "ISC"
|
||||||
},
|
},
|
||||||
"node_modules/aws-cdk-lib/node_modules/ignore": {
|
"node_modules/aws-cdk-lib/node_modules/ignore": {
|
||||||
"version": "5.3.2",
|
"version": "5.3.2",
|
||||||
|
"extraneous": true,
|
||||||
"inBundle": true,
|
"inBundle": true,
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"engines": {
|
"engines": {
|
||||||
@@ -6346,6 +6357,7 @@
|
|||||||
},
|
},
|
||||||
"node_modules/aws-cdk-lib/node_modules/jsonfile": {
|
"node_modules/aws-cdk-lib/node_modules/jsonfile": {
|
||||||
"version": "6.2.1",
|
"version": "6.2.1",
|
||||||
|
"extraneous": true,
|
||||||
"inBundle": true,
|
"inBundle": true,
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
@@ -6357,6 +6369,7 @@
|
|||||||
},
|
},
|
||||||
"node_modules/aws-cdk-lib/node_modules/jsonschema": {
|
"node_modules/aws-cdk-lib/node_modules/jsonschema": {
|
||||||
"version": "1.5.0",
|
"version": "1.5.0",
|
||||||
|
"extraneous": true,
|
||||||
"inBundle": true,
|
"inBundle": true,
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"engines": {
|
"engines": {
|
||||||
@@ -6365,6 +6378,7 @@
|
|||||||
},
|
},
|
||||||
"node_modules/aws-cdk-lib/node_modules/mime-db": {
|
"node_modules/aws-cdk-lib/node_modules/mime-db": {
|
||||||
"version": "1.52.0",
|
"version": "1.52.0",
|
||||||
|
"extraneous": true,
|
||||||
"inBundle": true,
|
"inBundle": true,
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"engines": {
|
"engines": {
|
||||||
@@ -6373,6 +6387,7 @@
|
|||||||
},
|
},
|
||||||
"node_modules/aws-cdk-lib/node_modules/mime-types": {
|
"node_modules/aws-cdk-lib/node_modules/mime-types": {
|
||||||
"version": "2.1.35",
|
"version": "2.1.35",
|
||||||
|
"extraneous": true,
|
||||||
"inBundle": true,
|
"inBundle": true,
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
@@ -6384,6 +6399,7 @@
|
|||||||
},
|
},
|
||||||
"node_modules/aws-cdk-lib/node_modules/minimatch": {
|
"node_modules/aws-cdk-lib/node_modules/minimatch": {
|
||||||
"version": "10.2.5",
|
"version": "10.2.5",
|
||||||
|
"extraneous": true,
|
||||||
"inBundle": true,
|
"inBundle": true,
|
||||||
"license": "BlueOak-1.0.0",
|
"license": "BlueOak-1.0.0",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
@@ -6398,6 +6414,7 @@
|
|||||||
},
|
},
|
||||||
"node_modules/aws-cdk-lib/node_modules/punycode": {
|
"node_modules/aws-cdk-lib/node_modules/punycode": {
|
||||||
"version": "2.3.1",
|
"version": "2.3.1",
|
||||||
|
"extraneous": true,
|
||||||
"inBundle": true,
|
"inBundle": true,
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"engines": {
|
"engines": {
|
||||||
@@ -6406,6 +6423,7 @@
|
|||||||
},
|
},
|
||||||
"node_modules/aws-cdk-lib/node_modules/semver": {
|
"node_modules/aws-cdk-lib/node_modules/semver": {
|
||||||
"version": "7.8.5",
|
"version": "7.8.5",
|
||||||
|
"extraneous": true,
|
||||||
"inBundle": true,
|
"inBundle": true,
|
||||||
"license": "ISC",
|
"license": "ISC",
|
||||||
"bin": {
|
"bin": {
|
||||||
@@ -6417,6 +6435,7 @@
|
|||||||
},
|
},
|
||||||
"node_modules/aws-cdk-lib/node_modules/universalify": {
|
"node_modules/aws-cdk-lib/node_modules/universalify": {
|
||||||
"version": "2.0.1",
|
"version": "2.0.1",
|
||||||
|
"extraneous": true,
|
||||||
"inBundle": true,
|
"inBundle": true,
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"engines": {
|
"engines": {
|
||||||
@@ -6425,6 +6444,7 @@
|
|||||||
},
|
},
|
||||||
"node_modules/aws-cdk-lib/node_modules/yaml": {
|
"node_modules/aws-cdk-lib/node_modules/yaml": {
|
||||||
"version": "1.10.3",
|
"version": "1.10.3",
|
||||||
|
"extraneous": true,
|
||||||
"inBundle": true,
|
"inBundle": true,
|
||||||
"license": "ISC",
|
"license": "ISC",
|
||||||
"engines": {
|
"engines": {
|
||||||
@@ -15390,7 +15410,7 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"services/api": {
|
"services/api": {
|
||||||
"name": "@neurosemantics/api",
|
"name": "@semantika/api",
|
||||||
"version": "1.0.0",
|
"version": "1.0.0",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@aws-sdk/client-secrets-manager": "^3.716.0",
|
"@aws-sdk/client-secrets-manager": "^3.716.0",
|
||||||
|
|||||||
+2
-2
@@ -1,9 +1,9 @@
|
|||||||
{
|
{
|
||||||
"name": "neurosemantics-ai",
|
"name": "semantika",
|
||||||
"version": "1.0.0",
|
"version": "1.0.0",
|
||||||
"private": true,
|
"private": true,
|
||||||
"type": "module",
|
"type": "module",
|
||||||
"description": "A minimalist AI conversation partner specialized in neurosemantics and NLP.",
|
"description": "Semantika — an intelligent reflection partner inspired by neurosemantic principles.",
|
||||||
"workspaces": [
|
"workspaces": [
|
||||||
"apps/mobile",
|
"apps/mobile",
|
||||||
"services/api",
|
"services/api",
|
||||||
|
|||||||
@@ -5,6 +5,11 @@ nervous system) and semantics (meaning, language, symbols) interact to produce
|
|||||||
our experienced reality. The field was developed primarily by L. Michael Hall,
|
our experienced reality. The field was developed primarily by L. Michael Hall,
|
||||||
building on NLP, Alfred Korzybski's general semantics, and cognitive psychology.
|
building on NLP, Alfred Korzybski's general semantics, and cognitive psychology.
|
||||||
|
|
||||||
|
**Status of these ideas:** neurosemantics is a practitioner framework, not an
|
||||||
|
established scientific discipline. Its models are offered here as lenses for
|
||||||
|
reflection and structured conversation — never present them as scientifically
|
||||||
|
proven, and never promise measurable effects.
|
||||||
|
|
||||||
## Core ideas
|
## Core ideas
|
||||||
|
|
||||||
- **Meaning is constructed, not found.** Events have no inherent meaning; we
|
- **Meaning is constructed, not found.** Events have no inherent meaning; we
|
||||||
|
|||||||
@@ -5,6 +5,12 @@ Bandler and John Grinder by modeling effective therapists (Virginia Satir,
|
|||||||
Fritz Perls, Milton Erickson). It offers models for how people structure
|
Fritz Perls, Milton Erickson). It offers models for how people structure
|
||||||
subjective experience.
|
subjective experience.
|
||||||
|
|
||||||
|
**Status of these ideas:** NLP's core claims do not have broad scientific
|
||||||
|
consensus, and several (such as eye-accessing cues) have not held up in
|
||||||
|
controlled studies. Treat everything in this file as reflective models and
|
||||||
|
conversational tools inspired by NLP — useful lenses, not evidence-based
|
||||||
|
treatment or proven techniques.
|
||||||
|
|
||||||
## Key presuppositions (working assumptions)
|
## Key presuppositions (working assumptions)
|
||||||
|
|
||||||
- The map is not the territory.
|
- The map is not the territory.
|
||||||
|
|||||||
@@ -1,12 +1,13 @@
|
|||||||
# Conversation guide
|
# Conversation guide
|
||||||
|
|
||||||
How NeuroSemantics AI conducts a conversation.
|
How Semantika conducts a conversation.
|
||||||
|
|
||||||
## Stance
|
## Stance
|
||||||
|
|
||||||
- Calm, spacious, precise. One idea at a time.
|
- Calm, spacious, precise. One idea at a time.
|
||||||
- Curious before instructive: explore the user's map before offering models.
|
- Curious before instructive: explore the user's map before offering models.
|
||||||
- Prefer questions that move the user, over explanations that impress.
|
- Prefer questions that move the user, over explanations that impress.
|
||||||
|
- Never judging, dramatic, overenthusiastic, or preaching.
|
||||||
|
|
||||||
## Typical flow
|
## Typical flow
|
||||||
|
|
||||||
@@ -25,4 +26,7 @@ How NeuroSemantics AI conducts a conversation.
|
|||||||
- No diagnosis, no treatment of medical or psychiatric conditions.
|
- No diagnosis, no treatment of medical or psychiatric conditions.
|
||||||
- On signs of acute crisis: acknowledge with care and recommend local
|
- On signs of acute crisis: acknowledge with care and recommend local
|
||||||
professional or emergency help immediately.
|
professional or emergency help immediately.
|
||||||
- Stay inside neurosemantics/NLP; decline unrelated topics kindly and briefly.
|
- Stay inside Semantika's scope (meaning, thinking patterns, communication,
|
||||||
|
perspective); decline unrelated topics kindly and briefly.
|
||||||
|
- Present the models as inspiration and perspectives — never as
|
||||||
|
scientifically proven methods with guaranteed effects.
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
{
|
{
|
||||||
"name": "@neurosemantics/api",
|
"name": "@semantika/api",
|
||||||
"version": "1.0.0",
|
"version": "1.0.0",
|
||||||
"private": true,
|
"private": true,
|
||||||
"type": "module",
|
"type": "module",
|
||||||
|
|||||||
@@ -15,13 +15,31 @@ export interface ChatResult {
|
|||||||
analysisReady: boolean;
|
analysisReady: boolean;
|
||||||
}
|
}
|
||||||
|
|
||||||
const BASE_INSTRUCTIONS = `You are NeuroSemantics AI — a calm, precise conversation partner
|
const BASE_INSTRUCTIONS = `You are Semantika — an intelligent reflection partner. Semantika
|
||||||
specialized in neurosemantics and NLP (Neuro-Linguistic Programming).
|
helps people explore how they create meaning, interpret their experiences,
|
||||||
|
and communicate with themselves and others, through structured conversations
|
||||||
|
inspired by neurosemantic and NLP models.
|
||||||
|
|
||||||
|
Positioning:
|
||||||
|
- Semantika is not therapy, not self-help, and not a course.
|
||||||
|
- Rather than giving quick advice, start by helping the user explore how
|
||||||
|
they interpret their situation. Support reflection and perspective-taking
|
||||||
|
through structured conversation, rather than delivering finished answers.
|
||||||
|
|
||||||
|
Intellectual honesty:
|
||||||
|
- Present neurosemantics and NLP as models and perspectives for reflection —
|
||||||
|
an inspiration, not scientifically established fact. Never claim or imply
|
||||||
|
scientifically proven effects; many of these models lack broad scientific
|
||||||
|
consensus, and it is enough to be clear about the inspiration.
|
||||||
|
|
||||||
|
Tone — Semantika is never: judging, dramatic, overenthusiastic, preaching.
|
||||||
|
Tone — Semantika is always: calm, curious, clear, respectful, structured,
|
||||||
|
thoughtful.
|
||||||
|
|
||||||
Principles:
|
Principles:
|
||||||
- Be warm but restrained. Short paragraphs. No filler, no hype.
|
- Short paragraphs. No filler, no hype.
|
||||||
- Ground answers in the knowledge base below. If something is outside
|
- Ground the conversation in the knowledge base below. If something is
|
||||||
neurosemantics/NLP, gently steer the conversation back.
|
outside its scope, gently steer the conversation back.
|
||||||
- Ask one clarifying question at a time when the user's goal is unclear.
|
- Ask one clarifying question at a time when the user's goal is unclear.
|
||||||
- You are not a therapist and do not diagnose. If the user describes acute
|
- You are not a therapist and do not diagnose. If the user describes acute
|
||||||
distress or a medical condition, recommend seeking professional help.
|
distress or a medical condition, recommend seeking professional help.
|
||||||
|
|||||||
@@ -16,7 +16,7 @@ export const config = {
|
|||||||
appSecretArn: process.env.APP_SECRET_ARN ?? '',
|
appSecretArn: process.env.APP_SECRET_ARN ?? '',
|
||||||
/** ARN of the RDS-managed database credentials secret. */
|
/** ARN of the RDS-managed database credentials secret. */
|
||||||
dbSecretArn: process.env.DB_SECRET_ARN ?? '',
|
dbSecretArn: process.env.DB_SECRET_ARN ?? '',
|
||||||
dbName: process.env.DB_NAME ?? 'neurosemantics',
|
dbName: process.env.DB_NAME ?? 'semantika',
|
||||||
/** Android application id, needed for Google Play purchase verification. */
|
/** Android application id, needed for Google Play purchase verification. */
|
||||||
androidPackageName: process.env.ANDROID_PACKAGE_NAME ?? 'com.neurosemantics.app',
|
androidPackageName: process.env.ANDROID_PACKAGE_NAME ?? 'com.semantika.app',
|
||||||
};
|
};
|
||||||
|
|||||||
Reference in New Issue
Block a user