An AI-powered therapeutic companion for emotional well-being and supportive conversations.
⚠️ Copyright Notice
This is a private portfolio project by Shivaansh Dhingra. All rights reserved. The code and design of this project are protected by copyright law. This project is not open source and may not be reproduced, distributed, or used for commercial purposes without explicit permission.
- 💬 Natural conversation with AI-powered responses
- 🎙️ Voice input/output with Web Speech API
- 🧘 Breathing exercises and mood tracking
- 🌓 Dark/Light theme with Material-UI
- ⌨️ Keyboard shortcuts for quick access
- 🔔 Desktop notifications
- 📱 Responsive design for all devices
- 🔒 Privacy-focused with local data storage
- 🌍 Multi-language support
- ⚡ Real-time response generation
- Node.js 18+ and npm
- Google Gemini API key (Get one here)
- Modern web browser with Web Speech API support
-
Clone the repository:
git clone https://github.com/shivaansh74/serenityAI.git cd serenityAI -
Install dependencies:
npm install
-
Create environment file:
cp .env.example .env
Add your Gemini API key to
.env:VITE_GEMINI_API_KEY=your_api_key_here -
Start development server:
npm run dev
Visit http://localhost:5173 to see the app.
- Push your code to GitHub
- Visit Vercel
- Import your repository
- Add environment variables
- Deploy!
Or use Vercel CLI:
npm i -g vercel
vercelnpm run buildEnter- Send messageB- Open breathing exerciseM- Open mood trackerH- View mood historyS- Open settingsT- Toggle themeR- View resourcesC- Clear chatEsc- Clear input
- Click microphone icon or press
Vto start - Supports continuous speech recognition
- Auto-punctuation and formatting
- Crisis detection and response
- Emergency resource access
- Professional help recommendations
- Regular safety reminders
serenity-ai/
├── src/
│ ├── components/ # React components
│ ├── services/ # API and utility services
│ ├── hooks/ # Custom React hooks
│ ├── types/ # TypeScript definitions
│ └── styles/ # CSS and styling
├── public/ # Static assets
└── tests/ # Test files
- Frontend: React 18 with TypeScript
- Styling: Material-UI + TailwindCSS
- Build Tool: Vite
- AI: Google Gemini
- Voice: Web Speech API
- Storage: IndexedDB + LocalStorage
- ESLint configuration included
- Prettier for formatting
- TypeScript strict mode enabled
This is a private portfolio project and is not open for contributions. Please do not copy or distribute the code.
Copyright © 2024 Shivaansh Dhingra. All rights reserved.
This project is private and proprietary. No part of this project may be reproduced, modified, or distributed without explicit permission. This project is intended solely for demonstration purposes as part of a professional portfolio.
Having issues? Contact me:
- Email: dhingrashivaansh@gmail.com
- GitHub: @shivaansh74