Public
Like
ASKNOVA
Val Town is a collaborative website to build and scale JavaScript apps.
Deploy APIs, crons, & store data β all from the browser, and deployed in milliseconds.
index.ts
https://Abdullah7826--64bbba383b9711f0b1b69e149126039e.web.val.run
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 applicationPOST /api/chat
- Handles chat messages and AI responsesGET /frontend/*
- Serves frontend assetsGET /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