Skip to content

Repository files navigation


SultiAI typing animation



SultiAI is an AI-powered language companion designed to help non-native speakers communicate naturally and confidently in real-world situations.


VisionFeaturesTech StackArchitectureSetupStatus


Status Capstone Platform License

React React Native TypeScript Node.js Python PostgreSQL Docker


🗣️ SultiAI

AI Language Companion for Context-Aware Communication

SultiAI is a Capstone Project developed by BSIT students of Jose Maria College Foundation, Inc.

Unlike traditional translation applications that simply convert words from one language to another, SultiAI is designed as an AI Language Companion that understands conversational context and helps users select appropriate responses.

The system is designed to support non-native speakers in real-world situations such as:

  • 🏫 Schools
  • 💼 Workplaces
  • 🚌 Public transportation
  • 🍽️ Restaurants
  • 🏥 Hospitals
  • 🏛️ Government offices
  • 🛍️ Everyday social interactions

The goal is to help users move from:

Translation Dependency
        ↓
Contextual Understanding
        ↓
Guided Communication
        ↓
Language Learning
        ↓
Conversational Confidence

📌 Table of Contents


🎯 Vision

To bridge language barriers by providing context-aware AI communication assistance that empowers users to communicate naturally and confidently in real-world situations.

SultiAI is designed not merely as a translator, but as an intelligent learning companion that supports users while they develop their own communication skills.


🧭 Core Principle

SultiAI does not aim to replace human conversation.

Instead, it empowers users by providing contextual guidance while helping them gradually become more independent and confident speakers.

                  USER
                   │
                   ▼
             ┌───────────┐
             │   SPEAK   │
             └─────┬─────┘
                   │
                   ▼
             ┌───────────┐
             │  ANALYZE  │
             └─────┬─────┘
                   │
                   ▼
             ┌───────────┐
             │ UNDERSTAND│
             └─────┬─────┘
                   │
                   ▼
             ┌───────────┐
             │ RECOMMEND │
             └─────┬─────┘
                   │
                   ▼
             ┌───────────┐
             │  RESPOND  │
             └─────┬─────┘
                   │
                   ▼
             ┌───────────┐
             │   LEARN   │
             └───────────┘

✨ Features

🎙️ Real-Time Speech Recognition

Convert spoken conversations into text using speech recognition technology.

🧠 Context Understanding

Analyze conversational intent and context rather than relying only on direct word translation.

💡 AI Response Suggestions

Provide natural response recommendations appropriate for the current situation.

🌐 Translation Support

Assist users in understanding unfamiliar words, phrases, and expressions.

👤 AI Avatar Companion

An interactive AI companion designed to make language learning more engaging.

📚 Personalized Learning

Adapt language assistance based on user progress and learning preferences.

🌏 Community Learning

Support collaborative language learning and cultural exchange.

🎮 Gamified Learning

Use XP, challenges, achievements, and progress tracking to encourage continued practice.


🛠️ Technology Stack

Last Updated: August 2026

System Architecture Overview

┌─────────────────────────────────────────────────────────────────────────┐
│                           CLIENT LAYER                                  │
├─────────────────────────────────────────────────────────────────────────┤
│                                                                         │
│   ┌────────────────┐   ┌────────────────┐   ┌────────────────┐         │
│   │    Web App     │   │   Mobile App   │   │  Admin Panel   │         │
│   │     React      │   │ React Native   │   │     React      │         │
│   └────────────────┘   └────────────────┘   └────────────────┘         │
│                                                                         │
└─────────────────────────────────┬───────────────────────────────────────┘
                                  │
                                  ▼
┌─────────────────────────────────────────────────────────────────────────┐
│                            API GATEWAY                                  │
│                                                                         │
│                    Node.js + Express + TypeScript                       │
│                                                                         │
│       Authentication • Validation • Routing • Rate Limiting             │
└─────────────────────────────────┬───────────────────────────────────────┘
                                  │
                                  ▼
┌─────────────────────────────────────────────────────────────────────────┐
│                           SERVICES LAYER                                │
├─────────────────────────────────────────────────────────────────────────┤
│                                                                         │
│  ┌────────────────┐  ┌────────────────┐  ┌────────────────┐             │
│  │ Whisper        │  │ BERT           │  │ Translation    │             │
│  │ Service        │  │ Service        │  │ Service        │             │
│  │ Python         │  │ Python         │  │ Python         │             │
│  └────────────────┘  └────────────────┘  └────────────────┘             │
│                                                                         │
└─────────────────────────────────┬───────────────────────────────────────┘
                                  │
                                  ▼
┌─────────────────────────────────────────────────────────────────────────┐
│                             DATA LAYER                                  │
├─────────────────────────────────────────────────────────────────────────┤
│                                                                         │
│   ┌────────────────┐   ┌────────────────┐   ┌────────────────┐          │
│   │  PostgreSQL    │   │     Redis      │   │   MinIO / S3   │          │
│   │    Primary     │   │ Cache / Queue  │   │     Storage    │          │
│   └────────────────┘   └────────────────┘   └────────────────┘          │
│                                                                         │
└─────────────────────────────────────────────────────────────────────────┘

🖥️ Frontend

Component Technology Version Purpose
Web Framework React 18.2+ Main browser interface
Mobile Framework React Native 0.72+ iOS and Android application
Shared Core TypeScript 5.0+ Shared business logic and types
State Management Zustand 4.4+ Lightweight application state
Data Fetching TanStack Query 4.0+ Server-state caching
Web Routing React Router DOM 6.18+ Web navigation
Mobile Routing React Navigation 6.0+ Native navigation
Web Styling Tailwind CSS 3.3+ Utility-first CSS
Mobile Styling NativeWind 4.0+ Tailwind for React Native
Web UI shadcn/ui Latest Accessible components
Mobile UI React Native Paper 5.0+ Material-style components
Web Audio Web Audio API Native Browser audio capture
Mobile Audio react-native-audio-recorder-player 3.5+ Mobile recording
Build Tool Vite 4.5+ Web development and builds
Mobile Bundler Metro 0.76+ React Native bundling
Package Manager pnpm 8.0+ Monorepo management

🖥️ Admin Dashboard

Component Technology Version Purpose
Framework React 18.2+ Admin dashboard
Admin Builder KratosJS Latest CRUD/admin generation
UI Components shadcn/ui Latest Consistent interface
Data Grid AG Grid 29.0+ Advanced tables
Forms React Hook Form 7.47+ Form handling
Charts Recharts 2.8+ Analytics
Authentication JWT + RBAC Secure admin access
API Client TanStack Query 4.0+ API data management

⚙️ Backend API

Component Technology Version Purpose
Runtime Node.js 18+ LTS Server runtime
Framework Express.js 4.18+ REST API
Language TypeScript 5.0+ Type-safe development
API Documentation Swagger/OpenAPI 3.0 API documentation
Authentication JWT 9.0+ Authentication
Authorization Custom RBAC Role-based access
Validation Zod 3.22+ Request validation
Rate Limiting express-rate-limit 6.0+ Abuse prevention
Security Helmet 7.0+ Security headers
Logging Winston 3.11+ Structured logging
Metrics Prometheus Latest Application metrics
Monitoring Grafana Latest Monitoring dashboards
Queue BullMQ 4.0+ Background jobs
Process Manager PM2 5.3+ Production process management

🧠 AI Services

Component Technology Version Purpose
Framework FastAPI 0.104+ Python AI API
Speech Recognition OpenAI Whisper Latest Speech-to-text
NLP BERT / Hugging Face Latest Intent and context classification
Translation Google Cloud Translation Latest Translation
Deep Learning PyTorch 2.0+ Model execution
Audio Processing librosa 0.10+ Audio processing
Environment Conda Latest Python dependency management
Container Docker Latest AI service isolation

🗄️ Database & Storage

Component Technology Version Purpose
Primary Database PostgreSQL 15+ Relational data
ORM Prisma 5+ Type-safe database access
Migration Prisma Migrate 5+ Database migrations
Cache Redis 7+ Fast caching
Queue Backend Redis 7+ BullMQ backend
File Storage MinIO Latest S3-compatible storage
Cloud Alternative AWS S3 Cloud object storage
Backup pg_dump + Cron Database backup

🚀 Development & Deployment

Component Technology Purpose
Version Control Git Source control
Repository GitHub Collaboration
Monorepo pnpm Workspaces Multi-package management
CI/CD GitHub Actions Automated deployment
Containerization Docker Service isolation
Orchestration Docker Compose Multi-container deployment
Cloud AWS / DigitalOcean / Render Hosting
SSL Let's Encrypt + Certbot HTTPS
Error Tracking Sentry Error monitoring
Log Management ELK Stack Centralized logging
Process Management PM2 Node.js production

🏗️ Architecture

                         ┌──────────────────┐
                         │      USERS       │
                         └────────┬─────────┘
                                  │
                  ┌───────────────┼───────────────┐
                  │               │               │
                  ▼               ▼               ▼
             ┌─────────┐    ┌───────────┐   ┌─────────┐
             │   WEB   │    │  MOBILE   │   │ ADMIN   │
             │  React  │    │   React   │   │  React  │
             └────┬────┘    │  Native   │   └────┬────┘
                  │         └─────┬─────┘        │
                  └───────────────┼───────────────┘
                                  ▼
                    ┌────────────────────────┐
                    │      API GATEWAY       │
                    │ Node.js + Express + TS │
                    └────────────┬───────────┘
                                 │
              ┌──────────────────┼──────────────────┐
              │                  │                  │
              ▼                  ▼                  ▼
       ┌─────────────┐   ┌─────────────┐   ┌─────────────┐
       │ AI SERVICE  │   │ APPLICATION │   │ BACKGROUND  │
       │   FastAPI   │   │   SERVICE   │   │    JOBS     │
       │             │   │             │   │   BullMQ    │
       │ Whisper     │   │ Users       │   │   Redis     │
       │ BERT        │   │ Conversations│  │             │
       │ PyTorch     │   │ Learning    │   │             │
       └──────┬──────┘   └──────┬──────┘   └──────┬──────┘
              │                 │                 │
              └─────────────────┼─────────────────┘
                                ▼
                    ┌────────────────────────┐
                    │       DATA LAYER       │
                    ├────────────────────────┤
                    │ PostgreSQL             │
                    │ Redis                  │
                    │ MinIO / S3             │
                    └────────────────────────┘

🔄 AI Conversation Pipeline

🎙️ USER SPEECH
      │
      ▼
┌──────────────────────┐
│       WHISPER        │
│    Speech → Text     │
└──────────┬───────────┘
           │
           ▼
┌──────────────────────┐
│        BERT          │
│  Intent + Context    │
└──────────┬───────────┘
           │
           ▼
┌──────────────────────┐
│    CONTEXT ENGINE    │
│ Situation + Meaning  │
└──────────┬───────────┘
           │
           ▼
┌──────────────────────┐
│ AI RECOMMENDATION    │
│ Response Suggestions │
└──────────┬───────────┘
           │
           ▼
┌──────────────────────┐
│ TRANSLATION /        │
│ EXPLANATION          │
└──────────┬───────────┘
           │
           ▼
💬 USER RESPONSE
           │
           ▼
📚 LEARNING DATA

📁 Monorepo Structure

sultiai/
│
├── packages/
│   │
│   ├── shared/
│   │   ├── src/
│   │   │   ├── types/
│   │   │   ├── validators/
│   │   │   ├── constants/
│   │   │   └── utils/
│   │   └── package.json
│   │
│   ├── web/
│   │   ├── src/
│   │   │   ├── components/
│   │   │   ├── pages/
│   │   │   ├── hooks/
│   │   │   ├── contexts/
│   │   │   └── App.tsx
│   │   ├── index.html
│   │   ├── tailwind.config.js
│   │   ├── vite.config.ts
│   │   └── package.json
│   │
│   ├── mobile/
│   │   ├── src/
│   │   │   ├── screens/
│   │   │   ├── components/
│   │   │   ├── navigation/
│   │   │   └── App.tsx
│   │   ├── ios/
│   │   ├── android/
│   │   ├── metro.config.js
│   │   └── package.json
│   │
│   └── admin/
│       ├── src/
│       │   ├── components/
│       │   ├── pages/
│       │   ├── layouts/
│       │   └── App.tsx
│       ├── tailwind.config.js
│       ├── vite.config.ts
│       └── package.json
│
├── server/
│   ├── src/
│   │   ├── config/
│   │   ├── controllers/
│   │   ├── services/
│   │   ├── routes/
│   │   ├── middlewares/
│   │   ├── models/
│   │   ├── types/
│   │   ├── utils/
│   │   └── index.ts
│   ├── prisma/
│   │   └── schema.prisma
│   ├── .env.example
│   ├── Dockerfile
│   └── package.json
│
├── ai-service/
│   ├── src/
│   │   ├── whisper/
│   │   ├── bert/
│   │   ├── translate/
│   │   └── main.py
│   ├── models/
│   ├── data/
│   ├── requirements.txt
│   └── Dockerfile
│
├── docker-compose.yml
├── package.json
├── pnpm-workspace.yaml
├── .env.example
├── .gitignore
├── LICENSE
└── README.md

🔐 Security Architecture

                  ┌─────────────────────┐
                  │       CLIENT        │
                  └──────────┬──────────┘
                             │
                             ▼
                  ┌─────────────────────┐
                  │    HTTPS / CORS     │
                  └──────────┬──────────┘
                             │
                             ▼
                  ┌─────────────────────┐
                  │      Helmet         │
                  └──────────┬──────────┘
                             │
                             ▼
                  ┌─────────────────────┐
                  │   Rate Limiting     │
                  └──────────┬──────────┘
                             │
                             ▼
                  ┌─────────────────────┐
                  │      JWT Auth       │
                  └──────────┬──────────┘
                             │
                             ▼
                  ┌─────────────────────┐
                  │       RBAC          │
                  └──────────┬──────────┘
                             │
                             ▼
                  ┌─────────────────────┐
                  │   Zod Validation    │
                  └──────────┬──────────┘
                             │
                             ▼
                  ┌─────────────────────┐
                  │ Application Service │
                  └─────────────────────┘

🔌 API Design

Example API structure:

/api/v1
│
├── /auth
│   ├── POST /register
│   ├── POST /login
│   └── POST /refresh
│
├── /users
│   ├── GET /me
│   ├── PATCH /me
│   └── DELETE /me
│
├── /speech
│   └── POST /transcribe
│
├── /conversations
│   ├── GET /
│   ├── POST /
│   ├── GET /:id
│   └── POST /:id/messages
│
├── /recommendations
│   ├── GET /
│   └── POST /
│
├── /learning
│   ├── GET /progress
│   ├── GET /modules
│   └── POST /complete
│
└── /admin
    ├── /users
    ├── /analytics
    └── /content

Example endpoints:

POST /api/v1/auth/login
POST /api/v1/auth/register

GET /api/v1/users/me

POST /api/v1/speech/transcribe

GET /api/v1/conversations
POST /api/v1/conversations
GET /api/v1/conversations/:id
POST /api/v1/conversations/:id/messages

GET /api/v1/learning/progress
GET /api/v1/recommendations

🗃️ Database Design

Core PostgreSQL entities:

┌──────────────────────┐
│        Users         │
├──────────────────────┤
│ id                   │
│ email                │
│ password_hash        │
│ role                 │
│ created_at           │
└──────────┬───────────┘
           │
           ├─────────────────────┐
           │                     │
           ▼                     ▼
┌──────────────────────┐ ┌────────────────────────┐
│   UserPreferences    │ │ ConversationSessions   │
├──────────────────────┤ ├────────────────────────┤
│ id                   │ │ id                     │
│ user_id              │ │ user_id                │
│ language             │ │ context                │
│ level                │ │ started_at             │
└──────────────────────┘ └───────────┬────────────┘
                                     │
                                     ▼
                            ┌─────────────────┐
                            │    Messages     │
                            ├─────────────────┤
                            │ id              │
                            │ session_id      │
                            │ sender          │
                            │ content         │
                            │ created_at      │
                            └────────┬────────┘
                                     │
                                     ▼
                         ┌────────────────────────┐
                         │ PhraseRecommendations │
                         ├────────────────────────┤
                         │ id                     │
                         │ message_id             │
                         │ phrase                 │
                         │ explanation            │
                         │ confidence              │
                         └────────────────────────┘

📴 Local AI Mode

SultiAI is designed to support a local AI configuration where selected AI capabilities can operate without external API services.

Benefits

  • No external API dependency for supported features
  • Reduced recurring API costs
  • Better privacy for locally processed data
  • Offline-capable workflows
  • Local inference

Example Local Models

Model Approximate Size Purpose
TinyLlama 1.1B ~600 MB Local language responses
Whisper Tiny ~300 MB Speech-to-text
Windows TTS Built-in Local voice synthesis

Local mode and cloud/API-assisted mode are separate configurations. Features requiring external services require their corresponding credentials.


🎙️ Character Voices

Character Voice Style Personality
Blessica Warm female Friendly and approachable
Angel Clear male Patient and supportive
Sultan Authoritative male Confident and culturally grounded
Lola Gentle female Wise and encouraging

🔌 External AI Services

Groq

Used for fast language-model inference where enabled by the backend.

GROQ_API_KEY=your_groq_api_key

xAI Voice Mode

Voice Mode can connect to a realtime xAI voice session.

XAI_API_KEY=your_xai_api_key
XAI_VOICE_MODEL=grok-voice-latest
XAI_VOICE=eve

External AI services are optional depending on the deployment configuration.


🔄 Cloud + Local Hybrid Architecture

                         SULTIAI CLIENT
                               │
                               ▼
                         NODE.JS API
                               │
                ┌──────────────┴──────────────┐
                │                             │
                ▼                             ▼
         ┌───────────────┐             ┌───────────────┐
         │   LOCAL AI    │             │   CLOUD AI    │
         └───────┬───────┘             └───────┬───────┘
                 │                             │
          ┌──────┴──────┐              ┌───────┴──────┐
          │             │              │              │
          ▼             ▼              ▼              ▼
       Whisper       Local LLM       Groq            xAI
          │             │              │              │
          └─────────────┴──────────────┴──────────────┘
                                │
                                ▼
                         APPLICATION DATA
                                │
                   ┌────────────┼────────────┐
                   ▼            ▼            ▼
              PostgreSQL      Redis       MinIO/S3

📊 Original vs Revised Technology Stack

Category Original Revised
Web Frontend React 18 React 18 + Vite
Mobile Not specified React Native
State Management Redux Toolkit Zustand
Data Fetching Axios TanStack Query
Admin Dashboard Firebase Console Custom React Admin
Backend Node.js + Express Node.js + Express + TypeScript
Database Firebase Firestore PostgreSQL + Prisma
Cache Firebase Redis
Queue BullMQ
File Storage Firebase Storage MinIO / AWS S3
Authentication Firebase Auth JWT + RBAC
Validation Manual Zod
AI Services Python scripts FastAPI microservice
Speech Recognition Whisper Whisper
NLP Python NLP BERT / Hugging Face
Deployment Render / Manual Docker + Docker Compose
CI/CD GitHub Actions
Logging Basic Winston + ELK
Monitoring Prometheus + Grafana
Package Manager npm pnpm Workspaces

🌟 Key Benefits

1. Full Ownership

The architecture reduces dependency on a single vendor and gives the team greater control over infrastructure.

2. Type Safety

TypeScript, Prisma, and Zod provide stronger type and validation guarantees.

3. Shared Code

The monorepo architecture allows shared types, validators, constants, and utilities.

4. Scalability

PostgreSQL, Redis, BullMQ, and separated services provide a foundation for future scaling.

5. Observability

Winston, Prometheus, Grafana, Sentry, and ELK can provide application visibility.

6. Cost Control

Local models and self-hosted infrastructure can reduce recurring API and storage costs.

7. Academic Alignment

The architecture clearly separates presentation, application logic, AI processing, persistence, and infrastructure.


📑 Manuscript Revision Checklist

Chapter 2 — Review of Related Literature and Studies

Update the literature review to support the technologies selected for the revised architecture.

Recommended areas:

  • Monorepo architecture
  • pnpm Workspaces
  • Shared TypeScript code
  • Zustand
  • TanStack Query
  • PostgreSQL
  • Prisma ORM
  • Redis
  • Whisper speech recognition
  • BERT
  • FastAPI
  • Docker
  • AI-assisted language learning

The literature should explain why each technology is appropriate for SultiAI rather than simply listing the technology.


📖 Chapter 3 — Technical Background / System Architecture

Replace the old Firebase-centered architecture with the revised multi-tier architecture.

Recommended flow:

Web / Mobile / Admin
        ↓
Node.js + Express API
        ↓
Python FastAPI AI Service
        ↓
Whisper + BERT
        ↓
Context + Recommendation
        ↓
PostgreSQL + Redis + MinIO

🧰 Chapter 3 — Development Tools

Recommended summary table:

Category Technologies
Frontend React, React Native, TypeScript
State Zustand
Data Fetching TanStack Query
Backend Node.js, Express, TypeScript
AI/ML Python, FastAPI, Whisper, BERT, PyTorch
Database PostgreSQL, Prisma
Cache Redis
Storage MinIO
DevOps Docker, Docker Compose
CI/CD GitHub Actions
Package Management pnpm

🏛️ Chapter 4 — System Design

Database Design

Replace Firebase/Firestore structures with a relational PostgreSQL schema.

Recommended core entities:

  • Users
  • UserPreferences
  • ConversationSessions
  • Messages
  • PhraseRecommendations
  • LearningProgress
  • LearningModules
  • Achievements
  • Notifications

API Design

Document endpoints such as:

POST /api/v1/auth/login
POST /api/v1/auth/register

GET /api/v1/users/me

POST /api/v1/speech/transcribe

GET /api/v1/conversations
POST /api/v1/conversations
GET /api/v1/conversations/:id
POST /api/v1/conversations/:id/messages

GET /api/v1/learning/progress
GET /api/v1/recommendations

🧪 Chapter 5 — Implementation, Testing & Deployment

Update the deployment strategy to include:

  • Docker
  • Docker Compose
  • GitHub Actions
  • PostgreSQL
  • Redis
  • MinIO
  • FastAPI
  • Node.js
  • React
  • React Native

Testing Tools

Frontend
├── Jest
├── React Testing Library
└── ESLint

Backend
├── Jest
├── Supertest
└── Postman

AI Service
├── Pytest
└── FastAPI TestClient

System
└── Integration Testing

📈 Chapter 8 — Recommendations

Potential future recommendations:

  1. Deploy AI services to GPU-enabled cloud infrastructure to reduce inference latency.
  2. Expand custom RBAC with additional administrative roles.
  3. Improve local model performance through quantization and optimization.
  4. Expand regional language and dialect datasets.
  5. Improve speech recognition for local accents and pronunciation.
  6. Add more AI-assisted pronunciation feedback.
  7. Expand cultural learning modules.
  8. Explore privacy-preserving on-device AI inference.

🚀 Setup Guide

Requirements

Install the following:

  • Node.js 18+
  • pnpm 8+
  • Python 3.10+
  • Git
  • Docker
  • Docker Compose
  • PostgreSQL
  • Redis

For mobile development:

  • Android Studio and/or
  • Xcode on macOS
  • Expo tooling where applicable

1. Clone the Repository

git clone https://github.com/Git-coder-err/SultiAI.git
cd SultiAI

2. Install Dependencies

pnpm install

3. Configure Environment Variables

Create the root environment file:

cp .env.example .env

Create the server environment:

cp server/.env.example server/.env

Example:

PORT=3001

JWT_SECRET=your_secure_secret

DATABASE_URL=postgresql://postgres:password@localhost:5432/sultiai

REDIS_URL=redis://localhost:6379

GROQ_API_KEY=your_groq_api_key

XAI_API_KEY=your_xai_api_key
XAI_VOICE_MODEL=grok-voice-latest
XAI_VOICE=eve

Only configure external AI keys for features that require them.


⚙️ Backend

The supported backend is the TypeScript Express server:

server/
└── src/
    └── index.ts

Start from the repository root:

pnpm run server:dev

Or:

cd server
pnpm install
pnpm run dev

Health check:

http://localhost:3001/api/health

Do not use a legacy server/index.js stub. The supported backend entry point is the TypeScript server.


🗄️ Database Setup

Configure PostgreSQL:

DATABASE_URL=postgresql://postgres:password@localhost:5432/sultiai

Run Prisma:

cd server

pnpm prisma generate
pnpm prisma migrate dev

Open Prisma Studio:

pnpm prisma studio

🧠 AI Service Setup

Navigate to:

cd ai-service

Create a Conda environment:

conda create -n sultiai python=3.10
conda activate sultiai

Install dependencies:

pip install -r requirements.txt

Start FastAPI:

uvicorn src.main:app --reload --port 8000

Open API documentation:

http://localhost:8000/docs

🐳 Docker Setup

Build services:

docker compose build

Start:

docker compose up

Start in detached mode:

docker compose up -d

View logs:

docker compose logs -f

Stop:

docker compose down

📱 Mobile Development

For Expo:

pnpm expo start

Android:

pnpm expo run:android

iOS:

pnpm expo run:ios

📡 Physical Device Configuration

Set:

EXPO_PUBLIC_API_URL=http://YOUR_BACKEND_IP:3001

Example:

EXPO_PUBLIC_API_URL=http://192.168.1.100:3001

Ensure:

  • Backend is running.
  • Device and computer are on the same network.
  • Port 3001 is accessible.
  • Firewall permits traffic.
  • PostgreSQL is running.
  • Redis is running.

🖥️ Emulator / Simulator

Android Emulator

Use:

http://10.0.2.2:3001

iOS Simulator

Usually:

http://localhost:3001

🧪 Testing

Run tests:

pnpm test

Run lint:

pnpm lint

Run type checking:

pnpm typecheck

For API testing, use Postman or another REST client.

Health endpoint:

GET http://localhost:3001/api/health

🔧 Troubleshooting

Backend Connection Failed

Check:

curl http://localhost:3001/api/health

Find Local IP Address

Windows:

ipconfig

macOS/Linux:

ifconfig

Use the local IPv4 address:

EXPO_PUBLIC_API_URL=http://YOUR_IP:3001

Android Emulator Cannot Connect

Use:

http://10.0.2.2:3001

instead of:

http://localhost:3001

Database Connection Failed

Verify:

  • PostgreSQL is running.
  • Database exists.
  • DATABASE_URL is correct.
  • Prisma migrations are applied.

Redis Connection Failed

Test:

redis-cli ping

Expected:

PONG

Physical Device Cannot Connect

Check:

  1. Phone and computer are connected to the same Wi-Fi.
  2. Backend is listening on port 3001.
  3. Windows Firewall allows port 3001.
  4. EXPO_PUBLIC_API_URL uses the computer's LAN IP.
  5. The backend is not bound only to localhost.

📊 Development Status

Development Status

Current Phase

Capstone 1 — Research, Planning & System Architecture

Current activities:

  • Research
  • Manuscript development
  • Technology selection
  • System architecture
  • UI/UX design
  • Database planning
  • AI pipeline planning
  • API architecture

Upcoming Phases

┌──────────────────────────┐
│       CAPSTONE 1         │
│ Research & Architecture  │
└────────────┬─────────────┘
             │
             ▼
┌──────────────────────────┐
│       CAPSTONE 2         │
│ Development & Implement. │
└────────────┬─────────────┘
             │
             ▼
┌──────────────────────────┐
│       CAPSTONE 3         │
│ Testing & Deployment     │
└────────────┬─────────────┘
             │
             ▼
┌──────────────────────────┐
│      FINAL SYSTEM        │
└──────────────────────────┘

👥 Contributors

Team 5

Member Role
Kevin Albert Nisperos Developer
Genesis Diaz Developer
Jevan Adam Mulato Developer

👨‍🏫 Adviser

Ryan N. Billera, LPT


📄 License

SultiAI is released under the MIT License.

License

The complete license is available in the repository:

LICENSE

MIT License

Copyright (c) 2026 Team 5 - SultiAI

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.

📞 Contact

For questions, collaboration, or project-related inquiries, please reach out to the SultiAI development team.


🌏 Why SultiAI?

Language learning is not only about memorizing vocabulary.

Real communication requires understanding:

  • Context
  • Tone
  • Situation
  • Intent
  • Cultural meaning
  • Appropriate responses

SultiAI is designed around this principle.

              TRADITIONAL TRANSLATOR

                    WORD
                     │
                     ▼
                TRANSLATION
                     │
                     ▼
                   RESULT


                       VS


                     SULTIAI

                    SPEECH
                      │
                      ▼
                   CONTEXT
                      │
                      ▼
                    INTENT
                      │
                      ▼
                  SITUATION
                      │
                      ▼
                RECOMMENDATION
                      │
                      ▼
                   LEARNING
                      │
                      ▼
                  CONFIDENCE

💜 Built for Communication

Speak naturally.

Learn continuously.

Understand the culture.

Communicate confidently.



Footer typing animation



GitHub Made in Davao Year



SultiAI — AI Language Companion for Context-Aware Communication


Last Updated: August 2026

About

SultiAI is an AI Language Companion that helps non-native speakers communicate naturally through contextual two-way conversation support using Whisper Speech Recognition, BERT-based Natural Language Processing, intelligent response suggestions, and an interactive AI avatar.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages