AskNova - Modern ChatGPT Clone
A beautiful, responsive ChatGPT-style web application with enhanced visual aesthetics and smooth user experience.
- šØ Modern Neumorphism/Dark Mode design with theme toggle
- š¬ Real-time chat interface with typing indicators
- š¤ OpenAI GPT integration with fallback mock responses
- š± Fully responsive design (mobile/tablet/desktop)
- ⨠Smooth animations and micro-interactions
- š Dark/Light mode toggle
- š Scrollable conversation history with auto-scroll
āāā backend/
ā āāā index.ts # Hono API server
āāā frontend/
ā āāā index.html # Main HTML template
ā āāā index.tsx # React app entry point
ā āāā components/
ā ā āāā App.tsx # Main app component
ā ā āāā ChatBubble.tsx # Individual message component
ā ā āāā ChatInput.tsx # Message input component
ā ā āāā ThemeToggle.tsx # Dark/light mode toggle
ā āāā style.css # Global styles
āāā shared/
ā āāā types.ts # Shared TypeScript types
āāā README.md
GET /
- Serves the main application
POST /api/chat
- Handles chat messages and AI responses
GET /frontend/*
- Serves frontend assets
GET /shared/*
- Serves shared utilities
OPENAI_API_KEY
- OpenAI API key (optional, falls back to mock responses)
The application automatically serves on the root path. Simply visit the URL to start chatting with AskNova!
ā
Modern UI/UX Design
- Neumorphism design with dark/light mode toggle
- Glassmorphism effects on chat bubbles and navigation
- Animated gradient background with floating shapes
- Smooth transitions and micro-interactions
ā
Chat Interface
- Real-time message exchange with typing indicators
- Typewriter effect for AI responses
- Auto-scroll to latest messages
- Message timestamps
- Responsive chat bubbles (user right-aligned, AI left-aligned)
ā
AI Integration
- OpenAI GPT-4o-mini integration with fallback mock responses
- Context-aware conversations (sends last 10 messages)
- Intelligent mock responses for demo purposes
- Error handling with graceful fallbacks
ā
Responsive Design
- Mobile-first approach with breakpoints for tablet/desktop
- Touch-friendly interface on mobile devices
- Adaptive layout and typography scaling
ā
Accessibility & UX
- Keyboard navigation support (Enter to send, Shift+Enter for new line)
- Auto-resizing input field
- Loading states and disabled states
- Theme persistence in localStorage
- Semantic HTML and ARIA labels
ā
Performance & Polish
- Smooth animations and transitions
- Optimized bundle with pinned React dependencies
- Error boundary for client-side error catching
- Clean, maintainable code structure