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
Clone the repository: bash git clone https://github.com/yourusername/talk-tuah-spirit.git cd talk-tuah-spirit
Install frontend dependencies:
cd frontend
npm install
- Install backend dependencies:
cd backend
pip install -r requirements.txt
- 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
- Start the frontend development server:
cd frontend
npm run dev
- 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:
- Frontend build and deployment to AWS S3
- Backend deployment to AWS ECS
- 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
- Fork the repository
- Create your feature branch (
git checkout -b feature/AmazingFeature
) - Commit your changes (
git commit -m 'Add some AmazingFeature'
) - Push to the branch (
git push origin feature/AmazingFeature
) - Open a Pull Request
License
This project is licensed under the MIT License - see the LICENSE file for details.