SENTRA AI (from "Sentra," meaning hub/center) is a sophisticated AI-powered companion designed for Indonesian retail investors navigating the complexities of Web3 and traditional financial markets. It serves as an empathetic financial sidekick ("teman pinter dan sabar") that blends advanced portfolio analytics with behavioral coaching to foster more disciplined and emotionally intelligent investment decisions.
The application addresses the core challenges faced by Indonesian investors—market volatility, information overload from social channels, and fragmented portfolio management—by providing a single, unified platform for tracking, analysis, and guided reflection.
Project Category: FinTech, AI-Powered, Web3
- Unified Portfolio Dashboard: Aggregates assets from multiple crypto exchanges (e.g., Indodax, Pintu) and wallets into a single view, denominated in IDR.
- Advanced Risk Analytics: Identifies hidden risks like asset concentration, high volatility, and smart contract exposure, presenting a clear portfolio risk score.
- Behavioral Finance Insights: The AI analyzes transaction patterns to detect behavioral biases like FOMO buying or panic selling, providing personalized coaching to improve discipline.
- AI Financial Companion: A chat interface allows users to discuss market anxieties and strategies in natural Bahasa Indonesia, receiving data-backed, empathetic guidance.
- Indonesian Market Context: Delivers insights that are culturally and regulatorily relevant, including local news and Bappebti updates.
SENTRA AI is built on a modern, scalable architecture designed to deliver real-time data and AI-driven insights efficiently. The system separates concerns between the frontend presentation layer, backend services, and the AI/data processing layer.
graph TD
subgraph "User Device"
A[Next.js Frontend]
end
subgraph "Application Backend (Serverless)"
B(API Gateway)
C[Backend Services: Node.js/Python]
D{User & Portfolio DB: PostgreSQL}
E{Cache: Redis}
end
subgraph "AI & Data Layer"
F(LLM: e.g., GPT-4)
G[Vector DB: Conversation History]
H[Data Connectors & Indexers]
end
subgraph "External Services"
I[Crypto Exchanges API]
J[On-Chain Indexers]
K[Market Data Feeds]
end
A -- "API Requests" --> B
B -- "Routes to" --> C
C -- "Manages" --> D
C -- "Caches" --> E
C -- "Calls for AI Response" --> F
C -- "Fetches Data via" --> H
F -- "Retrieves Context" --> G
H -- "Aggregates from" --> I
H -- "Aggregates from" --> J
H -- "Aggregates from" --> K
style A fill:#333,stroke:#89ddff,color:#fff
style B fill:#333,stroke:#89ddff,color:#fff
style C fill:#333,stroke:#89ddff,color:#fff
style F fill:#333,stroke:#6cff8f,color:#fff
Data Flow:
- The Next.js Frontend renders the UI and captures user interactions.
- All requests are routed through an API Gateway to the Backend Services.
- The backend computes analytics, fetches data from the database (PostgreSQL) and cache (Redis), and calls Data Connectors to get the latest financial data from exchanges and on-chain sources.
- For chat interactions, the backend prepares a context payload (portfolio data, user history) and sends it to the LLM.
- The LLM uses the context, along with conversation history from the Vector DB, to generate an empathetic and data-informed response.
- The response is sent back to the user through the frontend.
The project follows a feature-centric structure within the Next.js App Router, promoting modularity and maintainability.
.
├── src/
│ ├── app/
│ │ ├── globals.css # Global styles & Tailwind CSS base.
│ │ ├── layout.tsx # Root application layout.
│ │ └── page.tsx # The main homepage component.
│ │
│ ├── components/
│ │ ├── layout/ # Shared layout components (Header, Footer).
│ │ ├── sections/ # Components for each major section of the homepage.
│ │ └── ui/ # Reusable UI components from ShadCN.
│ │
│ ├── hooks/ # Custom React hooks for client-side logic.
│ └── lib/ # Utility functions, actions, and shared logic.
│
├── public/ # Static assets (favicons, etc.).
├── .env # Environment variables.
├── next.config.ts # Next.js configuration.
├── tailwind.config.ts # Tailwind CSS theme and plugin configuration.
└── package.json # Project dependencies and scripts.
SENTRA AI is built with a modern, production-ready technology stack chosen for performance, scalability, and developer experience.
| Category | Technology |
|---|---|
| Framework | |
| Language | |
| UI Library | |
| Styling | |
| UI Components | |
| Icons | |
| Charts | |
| Deployment |
To set up and run the project on your local machine, follow these steps.
-
Clone the repository:
git clone https://github.com/your-repo/sentra-ai.git cd sentra-ai -
Install dependencies: This command will install all the necessary packages defined in
package.json.npm install
-
Start the development server: This command runs the app in development mode with Turbopack for faster performance.
npm run dev
-
Open the application: Once the server is running, open your web browser and navigate to http://localhost:9002.
The application will automatically reload if you make any changes to the source files.