Chat with Soul AI is a responsive web application that allows users to chat with an AI model, provide feedback on responses, and view past conversations with ratings and comments.
The app is designed to deliver an interactive experience with clean UI, smooth animations, and proper state management. Users can engage in multiple conversations, rate the AI at the end, and even revisit their past chats with all associated feedback.
Users can chat with the Soul AI model in a conversational interface.
Each AI response is displayed using a tag.
If the query doesnβt match any known question, AI replies with:
βSorry, Did not understand your query!β
Hover over any AI response to reveal thumbs up / thumbs down buttons for quick feedback.
At the end of the conversation, users can provide:
β A rating out of 5 (stars or Likert scale).
Conversations are automatically saved upon clicking the Save button (type="button").
Saved conversations can be revisited through the /history route.
Each saved chat retains the feedback and rating associated with it.
A separate section allows users to view all feedback points across different conversations.
Includes filtering options based on ratings.
Clean and modern UI that matches the provided Figma design reference.
Displays Soul AI using a tag.
Chat Input Placeholder: Message Bot AIβ¦
Ask Button: Must have type="submit".
Save Button: Must have type="button".
Fully responsive and adapts seamlessly to mobile, tablet, and desktop views.
Layout adjusts dynamically for smaller screens with optimized spacing and typography.
ChatBox Displays real-time conversation between the user and Soul AI.
FeedbackButtons Floating like/dislike icons visible on hover over AI messages.
RatingModal Allows users to submit star rating and written feedback after chat ends.
HistoryPanel Lists all saved conversations with timestamp and feedback summary.
FeedbackView Displays all feedback entries across conversations with rating filters.
Frontend Framework React / Next.js
Styling Tailwind CSS / CSS Modules
Routing React Router / Next.js Routes
State Management React Hooks / Context API
Icons Lucide Icons / React Icons
Data Handling Local JSON (sample data provided in stub.json)
β Design & Layout
Matches the Figma mockups
Consistent spacing and alignment
Responsive across devices
β Functionality
AI responds correctly to known queries
Displays default message for unknown queries
Feedback buttons appear on hover
Ratings and comments work properly
Conversations can be saved and revisited
β Performance
No console errors
Optimized images and CSS
β Accessibility
Keyboard navigable buttons
Proper ARIA labels for feedback icons
β Code Quality
Reusable components
Proper naming conventions
Meaningful commit messages
1οΈβ£ git clone
git clone https://github.com/yourusername/chat-with-soul-ai.git
2οΈβ£cd projct
2οΈβ£ Install dependencies
npm install
3οΈβ£ Run the development server
npm run dev
4οΈβ£ Build for production
npm run build
npm start
5οΈβ£ Visit in browser
http://localhost:3000
Route Description
/ Chat with Soul AI
/history View saved conversations
/feedback View all feedback with filters
πΎ Sample Data Structure (stub.json)
{
"chats": [
{
"id": 1,
"userMessage": "Hello",
"botReply": "Hi there! How can I assist you?",
"liked": true,
"rating": 5,
"feedback": "Very helpful response!"
}
]
}
β Placeholder in chat input: "Message Bot AIβ¦"
β Ask button β type="submit"
β Save button β type="button"
β AI response inside
tag
β βSoul AIβ displayed inside
β Unknown query β "Sorry, Did not understand your query!"
β Saved chats route β /history
You can deploy your project easily on Vercel, Netlify, or GitHub Pages.
Example Vercel deployment steps:
npm install -g vercel
vercel
This project is licensed under the MIT License.
Feel free to use and modify it for learning or development purposes.
Developed by: Dhamodharan S Full Stack Web Developer Intern
π§ Email:
dhamodharans206@gmail.com
This project is licensed under the MIT License.
Feel free to use and modify it for learning or development purposes.
https://dhamodharan-ece-dhamodharan-ece-imp.vercel.app/