Commit Graph

5 Commits

Author SHA1 Message Date
Claude 77d0322c09 Align codebase with the V1 production brief
Reconciles the implementation against the final MVP brief:

- Data model: rename users.provider to auth_provider and
  users.subscription_status to subscription, matching the brief's schema
  exactly (id, email, auth_provider, subscription, created_at). External
  API field names are unchanged.
- Suggestions: replace the starter list with the brief's eight examples.
- Instructions: personality updated to calm, warm, intelligent, curious,
  respectful, pedagogical — never judging, manipulative, dramatic,
  overly positive, overconfident or preaching. Added per-reply goals:
  feel personal, be calm, instill safety, give hope without promising
  results, deepen thinking, and always contain at least one genuinely
  new thought or question. Added the conversation outcome goal (greater
  clarity, greater calm, a new perspective, increased trust in one's own
  ability) and 'not a chatbot for general questions' to positioning.
- Paywall transition example updated to the brief's wording ('I'm
  starting to see some recurring patterns… Unlock Premium to continue.').
- Knowledge base completed per the brief: communication models
  (perceptual positions, observation vs interpretation, chunking,
  backtracking, boundaries), reflection exercises (meaning audit,
  meta-question, five frames, observer replay, well-formed outcome,
  evening question) and a question library organized by purpose.
  Appreciation in the Lift step must be anchored in what the user
  actually expressed; the Challenge step never preaches.
- README: product principle (one user, one conversation, one analysis,
  one recommendation), the removal rule, design words per the brief,
  Definition of Done (7 steps), V2 not-now list (journal, saved
  insights, community, coaches, courses, voice), and a closed-beta plan
  for 20-50 testers with what the minimal data model can already
  measure.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_0118DaxZR36RpnY524vRqx3z
2026-08-03 14:58:56 +00:00
Claude 8f7eca7fa8 Add Human Experience Doctrine and four-step conversation philosophy
Refines the product philosophy in the system instructions, the knowledge
base and the README:

- Meet users where they are: never assume the user is struggling — some
  seek change or guidance, others are simply curious and want to grow.
- Human Experience Doctrine: every user should feel seen, respected,
  understood, capable and hopeful. The system must never create
  dependency or imply it alone has the answers.
- Conversation philosophy: every conversation follows a four-step arc —
  acknowledge (reflect meaning, not words), explore (discover
  perspectives together, no interrogating or over-analyzing), lift
  (concrete, credible praise of resources and strengths — no generic
  compliments), challenge (leave at least one new perspective).
- Personality: experienced coach, calm mentor, skilled teacher, wise
  conversation partner — never therapist, salesperson, preacher or guru.
  A thoughtful mentor rather than a stage performance.
- Educational philosophy: teach the user how to reflect so they
  gradually need the tool less.
- Roadmap in README: V1 is person-to-Semantika only; reflection groups
  (V2) and coaches/live sessions/courses (V3) come after the core
  product is strong. Community is deliberately absent from V1.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_0118DaxZR36RpnY524vRqx3z
2026-08-03 14:51:16 +00:00
Claude 07234cc9a8 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
2026-08-03 14:46:10 +00:00
Claude 6b7f0263e4 Add chat-first onboarding and intelligent context-based paywall
Replaces the hardcoded message limit with a model-driven paywall and
removes registration before the first question:

- Onboarding: the app opens directly into the chat. Dynamic conversation
  starters are served by GET /suggestions (services/api/suggestions.json),
  updatable with a deploy — no app release needed. Guests chat via
  POST /guest/chat, identified by an app-generated device id; sign-in
  moves to the paywall, where a purchase must attach to an account.
- Free experience: the model runs in discovery mode — follow-up
  questions, pattern identification, visible understanding — building an
  analysis without delivering the full solution.
- Intelligent paywall: the model returns structured output (reply +
  analysis_ready). Only when the problem is described, the information is
  sufficient and an action plan is ready does it write a calm transition
  and pause the conversation. Manufactured urgency, emotional pressure,
  fake readiness and mid-answer stops are explicitly forbidden.
- Premium: on unlock the app resends the transcript and the backend
  immediately delivers the full analysis, strategies and exercises, then
  the dialogue continues without restriction.
- The old FREE_MESSAGE_LIMIT becomes MESSAGE_CAP (default 200/30 days),
  kept purely as an abuse backstop — it is not the paywall.
- WelcomeScreen removed; the app is now two views (Chat, Paywall).

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_0118DaxZR36RpnY524vRqx3z
2026-08-03 14:42:44 +00:00
Claude 07fbeea09b Bygg NeuroSemantics AI: minimal mobilapp, en backend, IaC och CI/CD
Ersätter den tidigare webappen på denna branch med ett fokuserat monorepo:

- apps/mobile: Expo/React Native med tre vyer (Welcome, Chat, Paywall),
  Cognito hosted UI-inloggning (Apple/Google/e-post) och In-App
  Purchase/Play Billing via en gemensam purchases-modul.
- services/api: en enda Lambda-backend — OpenAI Responses API med
  Markdown-kunskapsbas som systeminstruktioner, free tier-gräns i
  PostgreSQL (HTTP 402 -> paywall) och kvittoverifiering bakom ett
  delat PaymentProvider-interface (Apple/Google, Stripe kan läggas
  till för webb senare).
- infra: AWS CDK-stack med API Gateway (JWT-authorizer), Lambda,
  Cognito, Aurora Serverless v2 och Secrets Manager.
- db/migrations: minimal datamodell (users + usage), inga
  konversationer sparas.
- GitHub Actions: CI (lint, typecheck, test) och deploy från main.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_0118DaxZR36RpnY524vRqx3z
2026-08-03 14:35:48 +00:00