A full-stack, multi-model AI chat application that allows users to interact with multiple AI models (e.g., GPT-4, Claude, Gemini, Llama, DeepSeek) simultaneously. The project features a modern, responsive frontend and a robust Java Spring Boot backend.
- Send prompts to one or more AI models and view responses side by side
- Model selection dropdown (single or all models)
- Chat history with timestamps and avatars
- Copy-to-clipboard for AI responses
- Clear chat functionality
- Responsive design (desktop & mobile)
- Light/dark mode toggle
- Error handling and loading indicators
- React (TypeScript)
- Tailwind CSS
- Vite
- Java Spring Boot
- REST API
- Node.js (v18+ recommended)
- Java 17+
cd backend- Build and run the Spring Boot application:
- With Maven:
./mvnw spring-boot:run - Or import into your favorite Java IDE and run
BackendApplication.java
- With Maven:
- The backend will start on http://localhost:8081
cdto the project root- Install dependencies:
- With npm:
npm install - Or with bun:
bun install
- With npm:
- Start the frontend:
- With npm:
npm run dev - Or with bun:
bun run dev
- With npm:
- The frontend will start on http://localhost:5173/
- Open http://localhost:5173/ in your browser.
- Enter your prompt in the text box.
- Select one or more AI models from the dropdown.
- Click "Send" to get responses from the selected models.
- View responses side by side, copy responses, or clear the chat.
POST /api/chat/send
{
"conversationId": "string",
"aiModel": "string",
"message": "string"
}Response:
{
"id": "string",
"content": "string",
"aiModel": "string",
"conversationId": "string",
"timestamp": "string"
}POST /api/conversations
{
"aiModel": "string"
}GET /api/conversations/{conversationId}
DELETE /api/conversations/{conversationId}
- To add or remove AI models, update the model list in the frontend and backend configuration.
- For production, configure CORS and environment variables as needed.
MIT