Skip to content

Repository files navigation

Tule AI

A smart assistant powered by the Tule Smart Response Intent Engine, a lightweight, LLM-driven classification layer that parses natural language queries and deterministically routes them to the appropriate UI component or handler.

Features

Dining Intelligence

  • Natural language queries about dining hours, locations, and services
  • Real-time dining center status and hours
  • Interactive campus maps with dining location markers
  • Smart routing to official UC Merced dining pages

Interactive Campus Maps

  • Custom UC Merced campus map with dining locations
  • Pan, zoom, and click interactions
  • Location-specific information popups
  • Mobile-responsive design

Cloud-First Architecture

  • AWS ECS with Fargate deployment
  • AWS Bedrock integration for enterprise-grade AI
  • Auto-scaling and high availability
  • Production-ready security and monitoring

Architecture

┌─────────────────┐    ┌──────────────────┐    ┌─────────────────────┐
│   React App     │───▶│  Express Proxy   │───▶│   AWS Bedrock       │
│  (Frontend)     │    │   (Backend)      │    │  (Claude Haiku)     │
└─────────────────┘    └──────────────────┘    └─────────────────────┘
  • Frontend: React 19 + TypeScript + Vite
  • Backend: Express.js proxy server
  • AI: AWS Bedrock (Claude Haiku)
  • Styling: TailwindCSS with Apple design system
  • State: Zustand with localStorage persistence
  • Deployment: Docker + AWS ECS with Fargate

Development

Prerequisites

  • Node.js 18+
  • AWS account with Bedrock access enabled
  • AWS CLI configured with appropriate IAM permissions

Setup

# Clone the repository
git clone https://github.com/your-username/tule-ai.git
cd tule-ai

# Install dependencies
npm run setup

# Set environment variables (for local development)
export AWS_REGION=us-east-1

# For production, IAM roles are used automatically
# Start development servers
npm run dev:full

Available Scripts

npm run dev:full      # Start both frontend and backend
npm run dev           # Frontend only (port 5173)
npm run dev:server    # Backend only (port 3001)

npm run build:full    # Build both frontend and backend
npm run build         # Frontend build
npm run build:server  # Backend build

npm run lint          # ESLint check
npm run lint:fix      # Fix linting errors
npm run type-check    # TypeScript type checking

npm test              # Unit tests with Vitest
npm run test:e2e      # E2E tests with Playwright

Deployment

The application is designed for AWS ECS with Fargate deployment:

# Deploy to AWS ECS
aws ecr get-login-password --region us-east-1 | docker login --username AWS --password-stdin <account-id>.dkr.ecr.us-east-1.amazonaws.com
docker build -t tule-ai .
docker tag tule-ai:latest <account-id>.dkr.ecr.us-east-1.amazonaws.com/tule-ai:latest
docker push <account-id>.dkr.ecr.us-east-1.amazonaws.com/tule-ai:latest
aws ecs update-service --cluster tule-ai-cluster --service tule-ai-service --force-new-deployment

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages