reactHonoStarter
Val Town is a collaborative website to build and scale JavaScript apps.
Deploy APIs, crons, & store data – all from the browser, and deployed in miliseconds.
This is a personal AI assistant app built with React and Hono on Val Town. It provides a clean, minimalist chat interface for interacting with multiple AI assistants.
- Typewriter Effect: Sentence-by-sentence revealing of AI responses
- Haptic Feedback: Subtle vibrations when scrolling and interacting
- Smooth Scrolling: Camera movements that follow gestalt principles
- Focus Mode: Highlighting current sentences while subtly blurring past ones
- Message Actions: Favorite, share, and listen to messages
- Intimate AI Responses: Warm, personalized messaging
- Clean, Minimalist Design: Modern, intuitive interface
- Multiple AI Agents: Support for different AI models with unique personalities
- Suggestion Chips: Quick-start conversation prompts
- Category Tabs: Switch between agents and suggestions
- Quick Action Buttons: For specialized tasks (Summary, Code, Design, Research)
- Login/Signup: Complete authentication with Supabase
- Profile Management: Edit profile details and settings
- User Settings: Control haptic feedback and typewriter speed
- Theme Options: Light, dark, and system theme support
- Conversations: Store chat history
- Messages: Individual chat messages
- User Profiles: User information
- Settings: User preferences
- AI Agents: Different AI personalities
-
Backend:
/backend/index.ts
- Handles API requests and serves frontend assets- OpenAI integration for chat completions
- API endpoints for authentication, chat, and user data
- Supabase integration for database and authentication
-
Frontend:
/frontend/index.html
- Main HTML template/frontend/index.tsx
- Client-side entry point/frontend/components/
- React components for the UIApp.tsx
- Main application componentAuthScreen.tsx
- Login and signup screensChatInterface.tsx
- Chat UI with message display and inputTypewriterMessage.tsx
- Typewriter effect for AI responsesSidebar.tsx
- Conversation history and navigationSettings.tsx
- User settings managementAuthContext.tsx
- Authentication state managementThemeContext.tsx
- Theme state management
-
Shared:
/shared/types.ts
- TypeScript interfaces/shared/utils.ts
- Utility functions/shared/supabase.ts
- Supabase client and helper functions
- Frontend: React with TypeScript
- Backend: Hono on Deno
- Database: Supabase
- Authentication: Supabase Auth
- AI: OpenAI API
- Styling: Custom CSS with Tailwind utility classes
- Sign up or log in to your account
- Select an AI agent to chat with
- Type your message or select a suggestion
- Enjoy the typewriter effect as the AI responds
- Use message actions to favorite, share, or listen to responses
- Switch between different AI agents for different types of assistance
- Customize your experience in the settings
- Voice input functionality
- Image upload and processing
- Custom AI agent creation
- Conversation search and filtering
- Export conversations
- Mobile app with push notifications