Skip to content

Latest commit

 

History

36 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Sentraverse mark used by the source README

SENTRAVERSE
Public product + knowledge surface



README status: Review Domain: Healthcare AI Posture: Clinical Decision Support

SENTRA / CLINICAL INTELLIGENCE FOR INDONESIA

Guided by Human Insight, Powered by Artificial Intelligence.

Operational signal: public trust layer · clinical-AI narrative · governed decision support

Sentra Healthcare AI
Sentraverse is the official website, product narrative layer, and public knowledge surface for Sentra Healthcare AI, translating clinical intelligence, founder vision, medical governance, product architecture, and Indonesian primary-care workflow into one coherent digital universe.

Website   System Map   Clinical Boundary   Governance   Contact

CLINICAL CONTEXT → CDSS → GOVERNANCE → LICENSED CLINICIAN → DECISION


01 / EXECUTIVE SUMMARY

Sentraverse is the official marketing, product, and knowledge hub for Sentra Healthcare AI.

It is not a generic corporate website. It is the public trust layer for a clinical-AI ecosystem designed for Indonesian primary care: Puskesmas, klinik pratama, referral hospitals, clinicians, healthcare operators, public-sector stakeholders, and technical partners.

Sentraverse connects six strategic surfaces inside one coherent website:

Surface Route Function
Clinical-AI Landing / Main product narrative and scroll-driven introduction
Founder Story /story Founder journey, product milestones, and roadmap
Clinical-AI Editorial /insights Thought leadership and article index
Sentrapedia /sentrapedia 144-disease primary-care clinical reference
Sentra Ecosystem /ekosistem Product ecosystem and application catalog
SentraWiki /sentrawiki Architecture, governance, compliance, and knowledge base

The center of gravity is simple:

Sentraverse explains why Sentra exists, how it supports clinical work, where its boundaries are, and why it matters for Indonesia’s frontline healthcare system.


02 / PRODUCT THESIS

A clinical-AI product does not earn trust through animation alone. It earns trust by making its purpose, workflow, safety posture, and governance legible.

Sentraverse is built to answer four strategic questions:

Strategic Question Sentraverse Answer
What is Sentra Healthcare AI? A workflow-native clinical intelligence layer for Indonesian healthcare
Why does it matter? It reduces fragmented information, slow escalation, and administrative burden
How does the product think? Through triage intelligence, clinical trajectory, reference knowledge, and governed AI assistance
How is safety protected? By positioning Sentra as clinical decision support, not a replacement for licensed clinicians

03 / SENTRA DESIGN LANGUAGE

Sentraverse follows the Sentra Healthcare AI design language: clinical, editorial, architectural, precise, and memorable.

Element Direction
Visual tone Dark editorial clinical command center
Background Charcoal, warm ink, cream plates, and intentional high-contrast sections
Accent Red-orange, Oxford blue, violet, amber, emerald, and sky
Typography Strong display headings, readable body copy, mono labels for system signals
Component shape Thin-border cards, clinical panels, tactical badges, product command surfaces
Motion Used for sequence, explanation, and orientation — never empty decoration
AI posture Supports clinical reasoning; does not replace professional judgment
Safety posture Clinical claims must remain bounded, transparent, and governed

04 / README INDEX

OPEN README NAVIGATION

05 / SYSTEM MAP

%%{init: {"flowchart": {"padding": 18}, "themeVariables": {"fontFamily": "monospace", "fontSize": "11px"}}}%%
flowchart LR
    Public["Public Visitor<br/>clinicians, patients, institutions, partners"]
    Home["Sentraverse Landing<br/>/"]
    Story["Founder Story<br/>/story"]
    Insights["Clinical-AI Editorial<br/>/insights"]
    Pedia["Sentrapedia<br/>144-disease reference"]
    Ecosystem["Sentra Ecosystem<br/>/ekosistem"]
    Wiki["SentraWiki<br/>architecture + governance"]
    APIs["App Router APIs<br/>/app/api/**"]
    Clinical["Clinical Intelligence<br/>triage, trajectory, prognosis"]
    Governance["Medical Governance<br/>boundaries, disclaimer, safety"]
    Sentra["Sentra Healthcare AI<br/>product universe"]

    Public --> Home
    Home --> Story
    Home --> Insights
    Home --> Pedia
    Home --> Ecosystem
    Home --> Wiki
    Home --> APIs

    Pedia --> Clinical
    Wiki --> Clinical
    Wiki --> Governance
    Ecosystem --> Sentra
    Story --> Sentra
    Clinical --> Sentra
    Governance --> Sentra

    classDef visitor fill:#0D1117,stroke:#64748B,color:#FFFFFF,stroke-width:2px;
    classDef home fill:#0D1117,stroke:#5B8CFF,color:#FFFFFF,stroke-width:3px;
    classDef content fill:#0D1117,stroke:#22D3EE,color:#FFFFFF,stroke-width:2px;
    classDef clinical fill:#0D1117,stroke:#8B5CF6,color:#FFFFFF,stroke-width:2px;
    classDef governance fill:#0D1117,stroke:#14B8A6,color:#FFFFFF,stroke-width:2px;
    classDef sentra fill:#0D1117,stroke:#5B8CFF,color:#FFFFFF,stroke-width:4px;

    class Public visitor;
    class Home home;
    class Story,Insights,Pedia,Ecosystem,Wiki content;
    class APIs,Clinical clinical;
    class Governance governance;
    class Sentra sentra;
Loading

06 / EXPERIENCE LOOP

Sentraverse is not a static homepage. It is a guided trust-building loop.

%%{init: {"flowchart": {"padding": 18}, "themeVariables": {"fontFamily": "monospace", "fontSize": "11px"}}}%%
flowchart TD
    A["Visitor Arrives<br/>clinical, institutional, public, technical"] --> B["Hero Thesis<br/>Guided by Human Insight"]
    B --> C["Problem Framing<br/>fragmented data, slow decisions, admin burden"]
    C --> D["Product Ecosystem<br/>Sentra engine suite"]
    D --> E["Clinical Simulation<br/>Audrey consultation flow"]
    E --> F["Blueprint Story<br/>AADI, console, trajectory"]
    F --> G["Clinical Suite<br/>triage, trajectory, prognosis"]
    G --> H["Sentrapedia<br/>primary-care reference"]
    H --> I["SentraWiki<br/>architecture + governance"]
    I --> J["Medical Disclaimer<br/>CDSS boundary"]
    J --> K["Contact / Pilot / Waiting List"]

    classDef entry fill:#0D1117,stroke:#64748B,color:#FFFFFF,stroke-width:2px;
    classDef story fill:#0D1117,stroke:#22D3EE,color:#FFFFFF,stroke-width:2px;
    classDef product fill:#0D1117,stroke:#5B8CFF,color:#FFFFFF,stroke-width:2px;
    classDef clinical fill:#0D1117,stroke:#8B5CF6,color:#FFFFFF,stroke-width:2px;
    classDef governance fill:#0D1117,stroke:#14B8A6,color:#FFFFFF,stroke-width:2px;
    classDef action fill:#0D1117,stroke:#F59E0B,color:#FFFFFF,stroke-width:3px;

    class A entry;
    class B,C,F story;
    class D,K product;
    class E,G,H clinical;
    class I,J governance;
Loading

07 / PRODUCT SURFACES

Sentraverse exposes the public product universe through five content surfaces plus its application/API layer.

%%{init: {"flowchart": {"padding": 18}, "themeVariables": {"fontFamily": "monospace", "fontSize": "11px"}}}%%
flowchart TB
    Root["SENTRAVERSE"]

    Landing["LANDING PAGE"]
    Story["STORY"]
    Insights["INSIGHTS"]
    Pedia["SENTRAPEDIA"]
    Ecosystem["EKOSISTEM"]
    Wiki["SENTRAWIKI"]
    API["API"]

    Root --> Landing
    Root --> Story
    Root --> Insights
    Root --> Pedia
    Root --> Ecosystem
    Root --> Wiki
    Root --> API

    Landing --> L1["Hero · Project Slider · About Sentra"]
    Landing --> L2["Ecosystem · SentraSim · Clinical Suite · FAQ"]
    Story --> S1["Founder Journey · Product Timeline · Milestones · Roadmap"]
    Insights --> I1["Clinical AI Editorial · Article Index · Medium · Substack"]
    Pedia --> P1["144 Diseases · Search · Category Filter · Detail Panel"]
    Ecosystem --> E1["Sentra Products · Product Status · Application Catalog · Domain Map"]
    Wiki --> W1["Abyss Architecture · Crown Jewel Engines · Governance · Compliance"]
    API --> A1["Medical Knowledge · Assistant Integrations · Dashboard Rewrite"]

    classDef core fill:#0D1117,stroke:#5B8CFF,color:#FFFFFF,stroke-width:2.5px;
    classDef surface fill:#0D1117,stroke:#22D3EE,color:#FFFFFF,stroke-width:1.8px;
    classDef clinical fill:#0D1117,stroke:#8B5CF6,color:#FFFFFF,stroke-width:1.8px;
    classDef control fill:#0D1117,stroke:#14B8A6,color:#FFFFFF,stroke-width:1.8px;
    classDef shared fill:#0D1117,stroke:#64748B,color:#FFFFFF,stroke-width:1.5px;

    class Root core;
    class Landing,Story,Insights,Ecosystem surface;
    class Pedia,API clinical;
    class Wiki control;
    class L1,L2,S1,I1,P1,E1,W1,A1 shared;
Loading

08 / HOMEPAGE TOPOLOGY

The landing page is rendered from app/page.tsx as a 15-section scroll-driven editorial experience.

%%{init: {"flowchart": {"padding": 18}, "themeVariables": {"fontFamily": "monospace", "fontSize": "11px"}}}%%
flowchart TB
    Page["Landing Page<br/>app/page.tsx"]

    Hero["Hero<br/>rotating keyword + Audrey card"]
    Slider["ProjectSlider<br/>clinical footage"]
    AboutSentra["AboutSentra<br/>platform introduction"]
    About["About<br/>manifesto + Asclepius clock"]
    Ecosystem["Ecosystem<br/>pinned product cards"]
    Clients["Clients<br/>technology + institution marks"]
    SentraSim["SentraSim<br/>clinical screen + terminal"]
    Interlude["Interlude<br/>visual breather"]
    Blueprint["BlueprintStory<br/>AADI + console + trajectory"]
    Showcase["Showcase<br/>agents + thinking stack"]
    Services["Services<br/>accordion"]
    ClinicalSuite["ClinicalSuite<br/>triage + trajectory + prognosis"]
    Gallery["ScrollGallery<br/>scroll-driven imagery"]
    FAQ["FAQ<br/>JSON-LD FAQPage"]
    Footer["Footer<br/>brand plate + disclaimer"]

    Page --> Hero
    Page --> Slider
    Page --> AboutSentra
    Page --> About
    Page --> Ecosystem
    Page --> Clients
    Page --> SentraSim
    Page --> Interlude
    Page --> Blueprint
    Page --> Showcase
    Page --> Services
    Page --> ClinicalSuite
    Page --> Gallery
    Page --> FAQ
    Page --> Footer

    classDef page fill:#0D1117,stroke:#5B8CFF,color:#FFFFFF,stroke-width:4px;
    classDef hero fill:#0D1117,stroke:#22D3EE,color:#FFFFFF,stroke-width:3px;
    classDef product fill:#0D1117,stroke:#5B8CFF,color:#FFFFFF,stroke-width:2px;
    classDef clinical fill:#0D1117,stroke:#8B5CF6,color:#FFFFFF,stroke-width:2px;
    classDef content fill:#0D1117,stroke:#22D3EE,color:#FFFFFF,stroke-width:2px;
    classDef governance fill:#0D1117,stroke:#14B8A6,color:#FFFFFF,stroke-width:2px;

    class Page page;
    class Hero,About,Footer hero;
    class Ecosystem,Showcase,Services product;
    class SentraSim,Blueprint,ClinicalSuite clinical;
    class Slider,AboutSentra,Clients,Interlude,Gallery content;
    class FAQ governance;
Loading

09 / HOMEPAGE SECTIONS

| # | Section | Function | | --: | ---------------- | ----------------------------------------------------------------------------------------------------- | | 1 | Hero | Rotating GSAP headline keyword, count-up metrics, 4-phase Audrey consultation card, ambient scan-line | | 2 | ProjectSlider | Full-bleed clinical footage and product atmosphere | | 3 | AboutSentra | Platform introduction and positioning | | 4 | About | Manifesto section with light plate, GSAP draw-in rules, and Asclepius clock mark | | 5 | Ecosystem | Horizontally pinned product cards with GSAP scrub and typing subtitle | | 6 | Clients | Technology and institution marks | | 7 | SentraSim | Embedded clinical screen simulation with live code terminal | | 8 | Interlude | Static visual breather between pinned sequences | | 9 | BlueprintStory | Pinned multi-scene blueprint narrative covering AADI, console, and trajectory | | 10 | Showcase | Orchestration agents and thinking-stack terminal | | 11 | Services | Service accordion | | 12 | ClinicalSuite | Tabbed clinical workspace for triage, trajectory, and prognosis | | 13 | ScrollGallery | Scroll-driven product and clinical imagery | | 14 | FAQ | 12-question FAQ section with two-column cream plate and JSON-LD FAQPage | | 15 | Footer | Acid-yellow brand plate with contact, waiting list, stewardship, and medical disclaimer |


10 / CLINICAL-AI BOUNDARY

Sentraverse must explain Sentra clearly without overstating clinical capability.

%%{init: {"flowchart": {"padding": 18}, "themeVariables": {"fontFamily": "monospace", "fontSize": "11px"}}}%%
flowchart LR
    Data["Clinical Context<br/>symptoms, signals, workflow, references"] --> CDSS["Clinical Decision Support"]
    CDSS --> Triage["Triage Awareness"]
    CDSS --> Trajectory["Clinical Trajectory"]
    CDSS --> Reference["Clinical Reference"]
    CDSS --> Escalation["Escalation Support"]

    Clinician["Licensed Clinician"] --> Judgment["Professional Medical Judgment"]
    CDSS --> Judgment
    Judgment --> Decision["Diagnosis, Therapy, Referral, Follow-up"]

    AI["Generative AI Layer"] --> Explain["Explanation + Summarization"]
    AI --> Education["Editorial + Knowledge Support"]
    AI -. must not replace .-> Judgment

    classDef source fill:#0D1117,stroke:#64748B,color:#FFFFFF,stroke-width:2px;
    classDef cdss fill:#0D1117,stroke:#8B5CF6,color:#FFFFFF,stroke-width:3px;
    classDef clinical fill:#0D1117,stroke:#8B5CF6,color:#FFFFFF,stroke-width:2px;
    classDef human fill:#0D1117,stroke:#F59E0B,color:#FFFFFF,stroke-width:3px;
    classDef ai fill:#0D1117,stroke:#8B5CF6,color:#FFFFFF,stroke-width:2px;
    classDef decision fill:#0D1117,stroke:#F59E0B,color:#FFFFFF,stroke-width:4px;

    class Data source;
    class CDSS cdss;
    class Triage,Trajectory,Reference,Escalation clinical;
    class Clinician,Judgment human;
    class AI,Explain,Education ai;
    class Decision decision;
Loading

Boundary Rules

Layer Allowed Not Allowed
Website Explain mission, workflow, product surfaces, and governance Claim autonomous diagnosis or treatment
Sentrapedia Provide structured clinical reference Replace clinical examination
Clinical simulation Demonstrate workflow and escalation logic Pretend to be real patient management
AI explanation Clarify, summarize, and support comprehension Override licensed clinician judgment
Product claim State CDSS support role State medical-device equivalence without registration

11 / MEDICAL SAFETY MODEL

%%{init: {"flowchart": {"padding": 18}, "themeVariables": {"fontFamily": "monospace", "fontSize": "11px"}}}%%
flowchart TD
    Claim["Clinical or Product Claim"] --> Check{"Is it bounded?"}
    Check -->|Yes| Source{"Has source/context?"}
    Check -->|No| Block["Block or Rewrite Claim"]

    Source -->|Yes| Label{"Correctly labeled?"}
    Source -->|No| Caution["Mark as reference / educational only"]

    Label -->|Yes| Display["Display Safely"]
    Label -->|No| Revise["Revise with CDSS boundary"]

    Display --> Disclaimer["Medical Disclaimer"]
    Caution --> Disclaimer
    Revise --> Disclaimer
    Block --> SafeCopy["Use safer product language"]

    classDef claim fill:#0D1117,stroke:#64748B,color:#FFFFFF,stroke-width:2px;
    classDef check fill:#0D1117,stroke:#14B8A6,color:#FFFFFF,stroke-width:2px;
    classDef safe fill:#0D1117,stroke:#22D3EE,color:#FFFFFF,stroke-width:3px;
    classDef warn fill:#0D1117,stroke:#F59E0B,color:#FFFFFF,stroke-width:2px;
    classDef block fill:#0D1117,stroke:#F43F5E,color:#FFFFFF,stroke-width:3px;
    classDef disclaimer fill:#0D1117,stroke:#14B8A6,color:#FFFFFF,stroke-width:3px;

    class Claim claim;
    class Check,Source,Label check;
    class Display safe;
    class Caution,Revise warn;
    class Block,SafeCopy block;
    class Disclaimer disclaimer;
Loading

12 / ROUTE MAP

Route Rendering Purpose
/ Static Landing page with 15-section scroll-driven product experience
/story Static Founder story, product milestones, timeline, and roadmap
/insights Static Clinical-AI editorial index
/sentrapedia Static 144-disease clinical reference for primary care
/ekosistem Static Sentra product ecosystem and application catalog
/sentrawiki Static Knowledge base, architecture, governance, and compliance
/privacy Static Privacy policy
/terms Static Terms of use
/api/* Edge / Node Supporting API routes for medical knowledge and assistant integrations
%%{init: {"flowchart": {"padding": 18}, "themeVariables": {"fontFamily": "monospace", "fontSize": "11px"}}}%%
flowchart TB
    Root["sentraverse"] --> Home["/"]
    Root --> Story["/story"]
    Root --> Insights["/insights"]
    Root --> Pedia["/sentrapedia"]
    Root --> Ecosystem["/ekosistem"]
    Root --> Wiki["/sentrawiki"]
    Root --> Legal["/privacy + /terms"]
    Root --> API["/api"]

    API --> Knowledge["medical knowledge"]
    API --> Assistant["assistant integrations"]
    API --> Dashboard["dashboard rewrites"]

    classDef root fill:#0D1117,stroke:#5B8CFF,color:#FFFFFF,stroke-width:4px;
    classDef public fill:#0D1117,stroke:#22D3EE,color:#FFFFFF,stroke-width:2px;
    classDef content fill:#0D1117,stroke:#22D3EE,color:#FFFFFF,stroke-width:2px;
    classDef clinical fill:#0D1117,stroke:#8B5CF6,color:#FFFFFF,stroke-width:2px;
    classDef legal fill:#0D1117,stroke:#14B8A6,color:#FFFFFF,stroke-width:2px;

    class Root root;
    class Home,Story public;
    class Insights,Ecosystem,Wiki content;
    class Pedia,API,Knowledge,Assistant,Dashboard clinical;
    class Legal legal;
Loading

13 / ARCHITECTURE FOLDER MAP

sentraverse/
├── app/
│   ├── page.tsx               # Landing page — 15 sections
│   ├── layout.tsx             # Root layout, fonts, JSON-LD, SmoothScrollProvider
│   ├── globals.css            # Design tokens, scoped themes, keyframes
│   ├── story/                 # Founder and product story
│   ├── insights/              # Editorial index and article data
│   ├── sentrapedia/           # 144-disease clinical reference
│   ├── ekosistem/             # Product ecosystem catalog
│   ├── sentrawiki/            # Knowledge base with paper theme
│   ├── privacy/               # Privacy policy
│   ├── terms/                 # Terms of use
│   ├── api/                   # Supporting API routes
│   ├── sitemap.ts             # Dynamic sitemap
│   ├── robots.ts              # Robots convention
│   └── opengraph-image.tsx    # Generated OpenGraph image
│
├── components/
│   ├── *.tsx                  # Section components
│   ├── blueprint-story/       # Pinned blueprint scenes
│   ├── sentrasim/             # Simulation columns, code terminal, sequence
│   ├── sentrapedia/           # Disease dataset and helpers
│   ├── sentrawiki/            # Engine cards, engine graph, document library
│   ├── ekosistem/             # Product and application data
│   └── ui/                    # UI primitives
│
├── lib/
│   ├── design-governance.ts   # Layout and typography governance
│   ├── use-smooth-scroll.ts   # Custom lerp wheel-smoothing hook
│   ├── site-links.ts          # Internal link single source of truth
│   └── utils.ts               # cn() helper
│
├── docs/                      # Project documentation
├── e2e/                       # Playwright smoke tests
└── public/                    # Static assets

14 / TECHNOLOGY STACK

Layer Technology
Framework Next.js 16.2, App Router, webpack
Runtime UI React 19
Language TypeScript 5.9, strict mode
Styling Tailwind CSS v4 with @theme
Animation GSAP 3.14, ScrollTrigger, Framer Motion 12
Testing Playwright E2E smoke
Runtime Node.js 22+
Package manager pnpm
%%{init: {"flowchart": {"padding": 18}, "themeVariables": {"fontFamily": "monospace", "fontSize": "11px"}}}%%
flowchart LR
    Next["Next.js 16.2<br/>App Router + webpack"] --> App["Sentraverse App"]
    React["React 19"] --> App
    TS["TypeScript 5.9<br/>strict"] --> App
    Tailwind["Tailwind CSS v4"] --> UI["Design System"]
    GSAP["GSAP 3.14<br/>ScrollTrigger"] --> Motion["Motion Layer"]
    Framer["Framer Motion 12"] --> Motion
    Motion --> UI
    Playwright["Playwright"] --> Tests["E2E Smoke Suite"]
    Node["Node.js 22+"] --> Runtime["Runtime"]
    Pnpm["pnpm"] --> Runtime

    App --> UI
    App --> Runtime
    App --> Tests

    classDef framework fill:#0D1117,stroke:#5B8CFF,color:#FFFFFF,stroke-width:4px;
    classDef ui fill:#0D1117,stroke:#22D3EE,color:#FFFFFF,stroke-width:2px;
    classDef motion fill:#0D1117,stroke:#8B5CF6,color:#FFFFFF,stroke-width:2px;
    classDef test fill:#0D1117,stroke:#14B8A6,color:#FFFFFF,stroke-width:2px;
    classDef runtime fill:#0D1117,stroke:#64748B,color:#FFFFFF,stroke-width:2px;

    class Next,React,TS,App framework;
    class Tailwind,UI ui;
    class GSAP,Framer,Motion motion;
    class Playwright,Tests test;
    class Node,Pnpm,Runtime runtime;
Loading

15 / DESIGN TOKENS

Core design tokens are governed through:

  • app/globals.css
  • Tailwind CSS @theme
  • lib/design-governance.ts
Token Value Role
--sentra-bg #1e1e1e Permanent dark site background
--sentra-fg #b7ab98 Primary foreground ink
--sentra-accent #eb5939 Sentra red-orange accent
--sentra-primary #4a7bb5 Oxford blue lifted for dark readability
Paper scope #f2ebe0 / #002147 SentraWiki cream plate and navy ink
Footer plate #e9fb5b / #111111 Acid-yellow brand anomaly

16 / MOTION SYSTEM

Sentraverse uses motion as a product explanation layer.

Motion Pattern Purpose
GSAP pinned sections Explain long-form product narrative
ScrollTrigger scrub Tie animation to user intent
Rotating hero keyword Communicate product scope quickly
Count-up metrics Create executive-level energy
Clinical simulation sequence Show workflow without claiming real patient management
Framer Motion entrances Improve orientation and section rhythm
Reduced-motion support Respect accessibility preferences

Implementation discipline:

  • use anticipatePin for stable pinned transitions
  • use invalidateOnRefresh for responsive recalculation
  • avoid motion that hides information
  • avoid autoplay clinical claims
  • keep animation subordinate to product meaning

17 / BUILD PROTOCOL

Prerequisites

Requirement Version
Node.js >= 22
pnpm >= 9

Install

pnpm install

Development

pnpm dev

Local server:

http://localhost:3000

Production

pnpm build
pnpm start

Validation

pnpm lint
pnpm build
pnpm test:e2e

Execution notes:

  • Use pnpm, not npm/yarn/bun.
  • The site runs with zero required environment configuration.
  • Production-facing changes should pass build, lint, and Playwright smoke validation.
  • Scroll-driven sections require visual sanity checks after layout or animation changes.

18 / ENVIRONMENT VARIABLES

All environment variables are optional.

Variable Scope Purpose
NEXT_PUBLIC_PILOT_LOGIN_URL Client Target URL for the “Tes Pilot Login” CTA. Validated against an allow-list of sentrahai.com hosts and falls back to /dashboard.
SENTRA_DASHBOARD_URL Server When set, next.config.mjs rewrites /dashboard/:path* to that origin, allowing the marketing host to front the clinical dashboard.

19 / TESTING & GOVERNANCE

%%{init: {"flowchart": {"padding": 18}, "themeVariables": {"fontFamily": "monospace", "fontSize": "11px"}}}%%
flowchart TD
    Change["Code Change"] --> Typecheck["TypeScript Strict Build"]
    Change --> Lint["ESLint"]
    Change --> E2E["Playwright Smoke Test"]
    Change --> Visual["Visual Scroll Review"]
    Change --> Safety["Clinical Claim Review"]
    Change --> SEO["SEO / Metadata Check"]

    Typecheck --> Pass["Can Merge"]
    Lint --> Pass
    E2E --> Pass
    Visual --> Pass
    Safety --> Pass
    SEO --> Pass

    Typecheck -. fail .-> Block["Block Merge"]
    Lint -. fail .-> Block
    E2E -. fail .-> Block
    Visual -. fail .-> Block
    Safety -. fail .-> Block
    SEO -. fail .-> Block

    classDef change fill:#0D1117,stroke:#64748B,color:#FFFFFF,stroke-width:2px;
    classDef check fill:#0D1117,stroke:#14B8A6,color:#FFFFFF,stroke-width:2px;
    classDef pass fill:#0D1117,stroke:#22D3EE,color:#FFFFFF,stroke-width:3px;
    classDef block fill:#0D1117,stroke:#F43F5E,color:#FFFFFF,stroke-width:3px;

    class Change change;
    class Typecheck,Lint,E2E,Visual,Safety,SEO check;
    class Pass pass;
    class Block block;
Loading

Required Validation

Area Minimum Check
Type safety TypeScript strict build must pass
Lint ESLint must pass
E2E Playwright smoke suite must pass
Scroll experience GSAP pinned sections must remain stable
Accessibility Motion should respect reduced-motion preferences
Clinical language Claims must remain within CDSS boundary
Medical disclaimer Disclaimer must remain visible and accurate
SEO Sitemap, robots, metadata, OpenGraph, and JSON-LD must remain valid

20 / SEO & DISCOVERABILITY

Sentraverse includes structured SEO and AI-discoverability support.

Asset Purpose
app/sitemap.ts Dynamic sitemap
app/robots.ts Robots convention and /dashboard exclusion
app/opengraph-image.tsx Generated OpenGraph image
JSON-LD Organization Identifies Sentra Healthcare AI
JSON-LD Person Identifies founder profile
JSON-LD FAQPage Supports FAQ discoverability
public/llms.txt Context surface for AI crawlers
Google Search Console file Search verification

21 / DOCUMENTATION

Document Content
docs/README.md Documentation index
ARCHITECTURE.md Architecture deep-dive
docs/design-governance.md Spacing, typography, density, and layout rules
docs/ai-governance.md Clinical-AI governance principles
CHANGELOG.md Release history
CONTRIBUTING.md Contribution workflow
SECURITY.md Security policy

22 / MOST IMPORTANT FILES

File Why It Matters
app/page.tsx Main landing page and 15-section composition
app/layout.tsx Root layout, fonts, JSON-LD, and SmoothScrollProvider
app/globals.css Design tokens, scoped themes, keyframes
lib/design-governance.ts Layout and typography governance
lib/use-smooth-scroll.ts Custom lerp wheel-smoothing hook
lib/site-links.ts Internal link single source of truth
components/Hero.tsx Main product thesis and first impression
components/Ecosystem.tsx Horizontally pinned product ecosystem
components/SentraSim.tsx Embedded clinical screen simulation
components/ClinicalSuite.tsx Triage, trajectory, and prognosis workspace
components/blueprint-story/* Pinned blueprint scenes
components/sentrapedia/* 144-disease clinical reference
components/sentrawiki/* Knowledge base, engine cards, and document library
components/ekosistem/* Product and application catalog

23 / PRODUCT TRUTH PRINCIPLES

Sentraverse is intentionally governed by these rules:

  1. Clinical-AI must be explained without exaggeration.
  2. Sentra is clinical decision support, not a doctor replacement.
  3. The website must communicate workflow, not just aesthetics.
  4. Every clinical claim must remain bounded and responsible.
  5. Motion must clarify the product story, not distract from it.
  6. Sentrapedia is reference support, not diagnosis automation.
  7. SentraWiki is the architecture and governance anchor.
  8. The ecosystem must feel integrated, not like disconnected products.
  9. Trust is built through clarity, boundaries, and disciplined language.
  10. The public surface must protect the seriousness of the clinical mission.

24 / MEDICAL DISCLAIMER

Sentra AI functions as a clinical decision support system.

It is designed to support clinical reasoning, triage awareness, workflow acceleration, and timely escalation. It does not replace professional medical judgment, licensed clinical responsibility, clinical examination, diagnosis, therapy, referral decisions, or formal follow-up planning by healthcare professionals.

Sentra AI is not registered as a medical device.

All diagnostic, therapeutic, referral, and follow-up decisions remain the full responsibility of licensed medical professionals.


25 / LICENSE

ISC © 2026 Sentra Healthcare Solutions


26 / CONTACT

dr. Ferdi Iskandar — Founder & CEO, Sentra Healthcare AI

Email drferdiiskandar@sentrahai.com Website sentrahai.com

Lab: Melinda Advanced Technology Laboratory · Location: Kediri, East Java


27 / LET'S CONNECT

MyWebsite · ferdiiskandar.com   Medium   ORCID   X   Substack   Kaggle   Reddit   LinkedIn   Hugging Face   TikTok   Instagram   Threads


28 / ACTIVE STACK

PROJECT-DECLARED TECHNOLOGY SURFACE · PRESERVED FROM SOURCE README

NEXT.JS 16.2
App Router application framework with webpack.
REACT 19
Runtime UI layer for the Sentraverse application.
TYPESCRIPT 5.9
Strict-mode application language.
TAILWIND CSS v4
Theme-driven styling surface using @theme.
GSAP 3.14 + SCROLLTRIGGER
Scroll-bound narrative and pinned motion sequences.
FRAMER MOTION 12
Entrance motion and interface orientation.
PLAYWRIGHT
E2E smoke validation.
NODE.JS 22+ · PNPM
Runtime and package-management baseline.

29 / INSTRUMENTATION

DECLARED TECHNOLOGY SURFACE · COMPACT / CATEGORY-BASED

01 · LANGUAGES & RUNTIMES
TypeScript 5.9 · Node.js 22+ · PowerShell
02 · FRONTEND & UI ENGINE
Next.js 16.2 · React 19 · Tailwind CSS v4 · webpack
03 · MOTION & INTERACTION
GSAP 3.14 · ScrollTrigger · Framer Motion 12
04 · TESTING & QA
Playwright E2E smoke · ESLint · TypeScript strict build · visual scroll review
05 · PACKAGE & BUILD
pnpm · Next.js build pipeline · webpack
06 · HOSTING / DELIVERY
Vercel is listed in the source instrumentation; static and Edge/Node route modes are declared elsewhere in this README.

Dedicated to Aldebaran, Aimee, Audrey, and Del — & the Indonesia Healthcare Ecosystem.
Sentra Artificial Intelligence · Indonesia
// GUIDED BY HUMAN INSIGHT · CLINICAL AUTHORITY REMAINS HUMAN

About

Sentraverse is the home of Sentra Artificial Intelligence — an integrated ecosystem where clinical intelligence, AI orchestration, operational automation, and digital transformation converge into one coherent environment.

Topics

Resources

Contributing

Security policy

Stars

7 stars

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages