Aura is a modern starter framework that combines Next.js frontend with a Python FastAPI backend to create emotionally intelligent AI applications. It uses advanced NLP models to detect emotions in user messages and responds with contextually and emotionally appropriate responses.
- 🎭 Real-time emotion analysis using state-of-the-art ML models
- 🧠 Context-aware conversations with emotion memory
- 🎨 Beautiful, responsive UI with light/dark mode
- ⚡ High-performance FastAPI backend
- 🔄 Redis-based caching for quick responses
- 📊 Built-in emotion visualization
- 🎯 Sarcasm detection
- 🤝 Multi-emotion support with intensity scoring
- Next.js 15.3
- React 19
- TailwindCSS
- TypeScript
- Framer Motion for animations
- FastAPI
- PyTorch
- Transformers (Hugging Face)
- Redis for caching
- Google's Gemini AI
- Prometheus for metrics
- Node.js 18+ and Bun
- Python 3.9+
- Redis server
- Google AI API key
- Clone the repository:
git clone https://github.com/duggal1/aura.git
cd aura- Install frontend dependencies:
bun install- Install backend dependencies:
cd backend
pip install -r requirements.txt- Set up environment variables:
- Create
.envin project root for frontend - Create
.envinbackendfolder for backend
- Start both servers with a single command:
./start-servers.shOr run them separately:
# Terminal 1 - Frontend
bun run dev
# Terminal 2 - Backend
cd backend
uvicorn app.main:app --host 0.0.0.0 --port 8000 --reloadVisit http://localhost:3000 to see your app running!
Aura's emotion pipeline processes messages through multiple stages:
- Primary Emotion Detection: Uses DistilRoBERTa to classify primary emotions
- Context Analysis: Considers conversation history
- Sarcasm Detection: Uses RoBERTa-based model
- Response Generation: Generates contextually appropriate responses using Gemini AI
- Emotion Validation: Ensures responses match detected emotions
Contributions welcome! Please read our Contributing Guide for details.
MIT
- Emotion detection model: j-hartmann/emotion-english-distilroberta-base
- Sarcasm detection: jkhan447/sarcasm-detection-RoBerta-base-POS
- Next.js and FastAPI communities