ARty20 is an interactive, AI-powered museum guide designed specifically for children visiting the Neues Museum in Berlin. It uses advanced AI technology to make museum exploration fun, engaging, and educational for young minds.
- 🗣️ Voice Interaction: Listen to engaging explanations about exhibits
- 📸 Image Recognition: Take photos of artifacts to learn more about them
- 👶 Child-Friendly Interface: Designed specifically for young museum visitors
- 🤖 AI-Powered Responses: Uses GPT-4 for accurate and engaging information
- 📱 Responsive Design: Works seamlessly on various devices
- 🎯 Interactive Elements: Suggestion cards and dynamic responses
- Frontend: React, TypeScript, TailwindCSS
- Backend: Node.js, Express
- AI Services: OpenAI GPT-4, Vision API
- Audio: Text-to-Speech capabilities
- Styling: Modern, accessible UI with Lucide icons
- Node.js (v16 or higher)
- npm (v7 or higher)
- OpenAI API key
-
Clone the repository:
git clone https://github.com/yourusername/Arty20.git cd Arty20
-
Install dependencies for both frontend and backend:
# Install frontend dependencies npm install # Install backend dependencies cd server npm install cd ..
-
Set up environment variables:
# In the server directory, create a .env file OPENAI_API_KEY=your_openai_api_key PORT=3001
Start both frontend and backend with a single command:
npm start
This will launch:
- Frontend on
http://localhost:3000
- Backend on
http://localhost:3001
-
Text Search:
- Type your question in the search bar
- Press Enter or click the search button
- Receive both text and audio responses
-
Camera Feature:
- Click the camera icon
- Take a photo of an exhibit
- Get AI-powered insights about the artifact
-
Voice Playback:
- Click the speaker icon to hear explanations
- Perfect for young children who prefer listening
-
Port Conflicts:
# Check if ports are in use lsof -i :3000 lsof -i :3001 # Kill processes if needed kill -9 <PID>
-
Large Payload Errors:
- The server is configured to handle large image files
- If you encounter issues, check your network connection
-
Camera Access:
- Ensure your browser has camera permissions enabled
- Try refreshing the page if camera doesn't initialize
We welcome contributions! Please follow these steps:
- Fork the repository
- Create your feature branch (
git checkout -b feature/AmazingFeature
) - Commit your changes (
git commit -m 'Add some AmazingFeature'
) - Push to the branch (
git push origin feature/AmazingFeature
) - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
- Neues Museum Berlin for inspiration
- OpenAI for AI capabilities
- The museum education community
For support, please email support@arty20.com or open an issue in the GitHub repository.