An innovative AR-powered mobile application that recognizes images and generates lip-synced talking heads in the user's chosen language, creating immersive interactive experiences.
TalkAR revolutionizes how users interact with static images by bringing them to life through AR technology. When users point their camera at recognized images (posters, advertisements, educational materials), the app generates realistic talking head avatars that speak in their preferred language, creating engaging and personalized experiences.
- Immersive AR Experience: Transform static images into interactive talking heads
- Multi-language Support: Break language barriers with real-time translation and voice synthesis
- Educational & Marketing Applications: Perfect for museums, retail, education, and advertising
- Accessibility: Make content accessible to users with different language preferences
TalkAR/
βββ mobile-app/ # Android AR app (Kotlin + ARCore)
β βββ app/
β β βββ src/main/java/com/talkar/app/
β β β βββ data/ # Data layer (API, local DB)
β β β βββ ui/ # UI components and screens
β β β βββ viewmodels/ # Business logic
β β βββ build.gradle # ARCore + Compose setup
β βββ build.gradle
βββ backend/ # Node.js/TypeScript API
β βββ src/
β β βββ config/ # Database configuration
β β βββ middleware/ # Auth, validation, error handling
β β βββ models/ # Data models
β β βββ routes/ # API endpoints
β β βββ services/ # Business logic services
β βββ package.json
βββ admin-dashboard/ # React TypeScript dashboard
β βββ src/
β β βββ components/ # Reusable UI components
β β βββ pages/ # Dashboard pages
β β βββ services/ # API integration
β β βββ store/ # Redux state management
β βββ package.json
βββ docs/ # Comprehensive documentation
β βββ API.md # API documentation
β βββ SETUP.md # Development setup guide
βββ docker-compose.yml # Container orchestration
- AR Image Recognition: ARCore-powered image detection and tracking
- Real-time AR Overlay: Seamless 3D talking head rendering
- Multi-language Support: Dynamic language switching
- Offline Capability: Cached content for offline usage
- Modern UI: Jetpack Compose with Material Design 3
- RESTful API: Comprehensive endpoints for image and dialogue management
- Sync API Integration: Lip-sync video generation
- Cloud Storage: AWS S3 integration for media assets
- Authentication: JWT-based secure access
- Analytics: Usage tracking and insights
- Content Management: Upload and manage images and dialogues
- Analytics Dashboard: Usage statistics and insights
- Multi-language Editor: Manage content in multiple languages
- User Management: Admin access control
- Language: Kotlin
- AR Framework: ARCore 1.41.0
- UI Framework: Jetpack Compose
- Networking: Retrofit 2.9.0 + OkHttp
- Image Loading: Coil 2.5.0
- Architecture: MVVM with Repository pattern
- Min SDK: 24 (Android 7.0)
- Target SDK: 34 (Android 14)
- Runtime: Node.js 18+
- Language: TypeScript 5.3.3
- Framework: Express.js 4.18.2
- Database: PostgreSQL with Sequelize ORM
- Authentication: JWT with bcryptjs
- File Storage: AWS S3 SDK
- Validation: Joi 17.11.0
- Security: Helmet, CORS
- Framework: React 18.2.0 + TypeScript
- UI Library: Material-UI 5.15.0
- State Management: Redux Toolkit 2.0.1
- Routing: React Router DOM 6.20.1
- Forms: React Hook Form 7.48.2
- HTTP Client: Axios 1.6.2
- Sync API: Lip-sync video generation
- AWS S3: Cloud storage for images and videos
- PostgreSQL: Primary database
- Docker: Containerization and orchestration
- Node.js 18+ and npm
- Android Studio (latest version)
- Docker and Docker Compose
- PostgreSQL (or use Docker)
- AWS S3 account
- Sync API account
git clone <repository-url>
cd TalkAR# Backend environment
cp backend/env.example backend/.env
# Edit backend/.env with your configuration
# Admin dashboard environment
echo "REACT_APP_API_URL=http://localhost:3000/api/v1" > admin-dashboard/.env
# Root environment (for Docker)
cp .env.example .env
# Edit .env with your configurationdocker-compose up -d# Backend
cd backend && npm install && npm run dev
# Admin Dashboard
cd admin-dashboard && npm install && npm start
# Mobile App
# Open mobile-app/ in Android Studio- Install Android Studio (latest version)
- Configure ARCore:
- Install ARCore SDK
- Enable ARCore in project settings
- Configure device for AR testing
- Import Project: Open
mobile-app/directory - Sync Dependencies: Gradle sync will install ARCore and Compose dependencies
- Install Node.js 18+
- Install Dependencies:
npm install - Database Setup: Configure PostgreSQL connection
- Environment Variables: Set up
.envfile - Development Server:
npm run dev
- Install Dependencies:
npm install - Environment Configuration: Set API URL
- Development Server:
npm start - Access: http://localhost:3001
- Create Firebase Project
- Enable Firestore Database
- Configure Authentication
- Update Environment Variables
- Purpose: Generate lip-synced talking head videos
- Integration: RESTful API calls for video generation
- Authentication: API key-based access
- Features: Multiple voice options, language support
- Image Tracking: Recognize and track reference images
- 3D Rendering: Overlay talking head models
- Performance: Optimized for mobile devices
- Compatibility: Android 7.0+ with ARCore support
- AWS S3: Store images, videos, and assets
- CDN Integration: Fast content delivery
- Security: Secure access controls
This project uses environment variables to manage sensitive configuration data. Never commit actual secrets to the repository.
For local development with Docker, use the .env file:
-
Copy
.env.exampleto.env:cp .env.example .env
-
Edit
.envwith your actual values (never commit this file) -
Docker Compose will automatically load these variables
For manual development setup:
-
Backend:
cd backend cp env.example .env # Edit .env with your configuration
-
Frontend:
cd admin-dashboard echo "REACT_APP_API_URL=http://localhost:3000/api/v1" > .env
- Rotate JWT secrets periodically
- Rotate AWS credentials using IAM roles where possible
- Update Sync API keys through their dashboard
- Change database passwords regularly
- Setup Guide: Comprehensive development setup
- API Documentation: Complete API reference
- Architecture: MVVM pattern with clean separation
- Deployment: Docker-based containerization
- β Repository Structure: Monorepo with organized folders
- β Tech Stack Definition: Complete technology specifications
- β Development Environments: Setup guides for all platforms
- β Documentation: Comprehensive README and setup guides
- β Project Architecture: Clean, scalable code organization
- β TalkAR Enhanced Development Branch: Created and ready
- β AR Components: Multiple AR implementations ready for testing
- β Backend Integration: Complete API system functional
- β Device Testing: Samsung A35 ready for development
- Device Setup: Samsung A35 connected and tested
- AR Component Testing: All existing AR components verified
- Performance Baseline: AR performance metrics established
- Documentation: Enhanced AR development roadmap documented
- 3D Avatar System: Interactive 3D avatars with full body movement
- Voice Commands: Natural language processing and voice recognition
- Product Interaction: AR shopping and product manipulation
- High-Fidelity Rendering: Photorealistic 3D rendering with advanced lighting
- Mobile Optimization: Enhanced ARCore stability and offline caching
Ready for Enhanced AR Development Phase
- Test existing AR components on Samsung A35
- Implement 3D avatar system
- Add voice command integration
- Develop product interaction features
- Optimize AR performance for production