Updated 16 hours ago

Talk Tuah Spirit

Talk-Tuah-Spirit is a digital memorial platform that lets users create AI-powered tributes for loved ones. Built during HackRU, it combines modern web tech and AI to enable meaningful interactions and conversations with those who have passed.

  • Other

Talk-Tuah-Spirit

Talk-Tuah-Spirit is a memorial platform that allows users to create digital memorials for loved ones and interact with their memories through AI-powered conversations. Built during HackRU, this project combines modern web technologies with AI to create meaningful connections with those who have passed.

Features

  • Create and manage digital memorials
  • Upload photos and voice recordings
  • AI-powered conversations using the deceased's voice and memories
  • Leave tributes, light virtual candles, and send love
  • Real-time chat interface
  • Responsive design for all devices

Tech Stack

Frontend

  • React with TypeScript
  • Vite for build tooling
  • TailwindCSS for styling
  • Lucide React for icons
  • React Router for navigation
  • AWS S3 for media storage
  • ElevenLabs for voice synthesis

Backend

  • Flask Python server
  • MongoDB Atlas for database
  • LangChain for AI conversations
  • OpenAI GPT-4 integration
  • Vector search capabilities

Infrastructure

  • AWS (S3, CloudFront, IAM)
  • MongoDB Atlas
  • Terraform for infrastructure as code
  • GitHub Actions for CI/CD

Getting Started

Prerequisites

  • Node.js 18+
  • Python 3.8+
  • AWS Account
  • MongoDB Atlas Account
  • ElevenLabs API Key
  • OpenAI API Key

Installation

  1. Clone the repository: bash git clone https://github.com/yourusername/talk-tuah-spirit.git cd talk-tuah-spirit

  2. Install frontend dependencies:

cd frontend
npm install
  1. Install backend dependencies:
cd backend
pip install -r requirements.txt
  1. Set up environment variables:

Create .env files in both frontend and backend directories with the following variables:

Frontend:

VITE_AWS_REGION=your_aws_region
VITE_AWS_ACCESS_KEY_ID=your_access_key
VITE_AWS_SECRET_ACCESS_KEY=your_secret_key
VITE_AWS_BUCKET_NAME=your_bucket_name
VITE_ELEVENLABS_API_KEY=your_elevenlabs_key

Backend:

MONGODB_URI=your_mongodb_uri
MONGODB_DB_NAME=your_db_name
OPENAI_API_KEY=your_openai_key
HF_TOKEN=your_huggingface_token

Running the Application

  1. Start the frontend development server:
cd frontend
npm run dev
  1. Start the backend server:
cd backend
python app.py

Deployment

The project uses GitHub Actions for automated deployment. Push to the main branch will trigger:

  1. Frontend build and deployment to AWS S3
  2. Backend deployment to AWS ECS
  3. Infrastructure updates via Terraform

Infrastructure

The project uses Terraform to manage:

  • S3 buckets for media storage
  • CloudFront distribution for content delivery
  • MongoDB Atlas cluster
  • IAM roles and permissions
  • ECS services for backend deployment

Contributing

  1. Fork the repository
  2. Create your feature branch (git checkout -b feature/AmazingFeature)
  3. Commit your changes (git commit -m 'Add some AmazingFeature')
  4. Push to the branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

License

This project is licensed under the MIT License - see the LICENSE file for details.