AI DJ for Your Mind & Music
A minimalist, offline-first music player with AI-powered personalization. Experience your music like never before with an intelligent DJ that understands your vibe.
| Guide | Description |
|---|---|
| ποΈ Architecture | High-level overview, state management, navigation |
| π§© Components | Component types, patterns, best practices |
| π‘οΈ Error Handling | Result type pattern, user-facing errors |
| π Logger | Logging setup, usage, production logging |
| π§ͺ Testing | Unit tests, integration tests, CI/CD |
| π€ Contributing | How to contribute, coding standards |
New to Aurora? Start with Architecture β Components β Testing
- Play local music files from your device
- Create and manage custom playlists
- Shuffle and repeat modes
- Beautiful full-screen player with lyrics support
- Mini player for seamless multitasking
- Multi-Provider Support: Google Gemini, Groq, and local Ollama models
- Natural Control: Chat with your AI to change themes, add music, adjust settings
- Custom Personas: Define your AI's personality
- Smart Actions: AI can execute app commands through conversation
- Chat History: Last 50 messages saved locally
- 35+ Premium Themes: Cyberpunk, Matrix, Cosmos, Nebula, and more
- Dynamic Themes: Music rhythm-based theme transitions
- Custom Themes: Create themes with AI or manually
- Light/Dark/System mode support
- 18+ Animated Effects: Bokeh, Quantum, Waves, DNA, Matrix, and more
- Dynamic Switching: Effects respond to your music
- Custom Effects: AI-generated background configurations
- 100% Offline: No internet required (except AI features)
- Zero Data Collection: Your data stays on your device
- Local Storage: SQLite + MMKV for fast, secure storage
- No Ads: Clean, uninterrupted experience
- English and Turkish support
- Auto-detect device language
- Easy to extend with more languages
For local AI integration (Ollama and Stable Diffusion), Aurora uses standard HTTP connections to communicate with services running on your local machine or LAN.
- Ollama: Connects via
http://[IP]:[PORT]/api/chat - Stable Diffusion: Connects via
http://[IP]:[PORT]/sdapi/v1/txt2img
Important
Since these connections are unencrypted (HTTP), they are intended for use within trusted local networks only. If exposing these services over a public network, it is highly recommended to use a reverse proxy with HTTPS (like Nginx or Caddy).
- Node.js 18+
- npm or yarn
- Expo CLI
- iOS Simulator (Mac) or Android Emulator
# Clone the repository
git clone https://github.com/neurodivergent-dev/aurora.git
cd aurora
# Install dependencies
npm install
# Start the development server
npm start
# Run on iOS
npm run ios
# Run on Android
npm run android
# Run on Web
npm run web# Windows PowerShell
.\clean-reinstall.ps1
# Reset Metro cache
.\reset-metro.ps1Add your screenshots here:
assets/screenshots/home.pngassets/screenshots/player.pngassets/screenshots/ai-chat.pngassets/screenshots/themes.png
| Category | Technology |
|---|---|
| Framework | React Native + Expo SDK 55 |
| Language | TypeScript |
| Navigation | expo-router (file-based) |
| State | Zustand + persist middleware |
| Storage | MMKV, AsyncStorage, SecureStore |
| Database | expo-sqlite |
| AI | Google Gemini, Groq, Ollama |
| Media | expo-av |
| Animations | react-native-reanimated |
| Icons | lucide-react-native |
| i18n | i18next + react-i18next |
| Testing | Jest + Testing Library |
aurora/
βββ app/ # Expo Router screens
β βββ (tabs)/ # Tab navigation
β β βββ index.tsx # Library
β β βββ playlists.tsx
β β βββ ai-chat.tsx
β β βββ settings.tsx
β βββ music-player.tsx
β βββ _layout.tsx
β
βββ src/
β βββ components/ # Reusable UI components
β βββ screens/ # Screen components
β βββ store/ # Zustand stores
β βββ services/ # Business logic
β βββ lib/ # Core utilities (database)
β βββ hooks/ # Custom hooks
β βββ utils/ # Helper functions
β βββ constants/ # Themes, categories, prompts
β βββ i18n/ # Translations
β
βββ assets/
β βββ images/ # Icons, splash screens
β βββ fonts/ # Custom fonts
β βββ sounds/ # Default music tracks
β
βββ scripts/ # Build scripts
βββ scripts/ # Build scripts
βββ package.json
To use AI features, configure your API keys in the app settings:
- Open Settings β AI Settings
- Choose your provider (Gemini, Groq, or Ollama)
- Enter your API key
- Start chatting with your AI DJ
- iOS Bundle ID:
com.metaframe.aurora - Android Package:
com.metaframe.aurora
To change, update app.json and rebuild.
# Run tests
npm test
# Run tests with coverage
npm run test:coverage
# Run in CI mode
npm run test:ci
# Type check
npm run typecheck
# Lint
npm run lint| Directory | Target | Status |
|---|---|---|
src/utils |
80% | β 70% |
src/store |
80% | π‘ 40% |
src/hooks |
70% | π‘ 30% |
src/services |
70% | π‘ 25% |
| Overall | 30% | π‘ ~10% |
π Learn More: Testing Best Practices
# Build APK
eas build --platform android --profile preview
# Build for Play Store
eas build --platform android --profile production# Build for TestFlight
eas build --platform ios --profile productionSee eas.json for build profiles.
- Spotify/Apple Music integration
- Smart playlists (AI-generated)
- Social sharing features
- Widget support
- CarPlay / Android Auto
- More AI providers (Claude, local LLMs)
- Advanced audio EQ
- Sleep timer with fade-out
Contributions are welcome! We appreciate all types of contributions:
- π Bug reports
- π‘ Feature suggestions
- π Documentation improvements
- π§ͺ Test additions
- π¨ Design enhancements
- π Translations
- Read Contributing Guide
- Read Architecture Overview
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Make your changes (follow coding standards)
- Write tests (see Testing Guide)
- Commit your changes (
git commit -m 'feat: add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
- β TypeScript for all code
- β ESLint + Prettier configured
- β Logger instead of console.log
- β Error handling with Result type
- β Accessibility labels on touchables
- β Tests for new features
π Full Guide: CONTRIBUTING.md
This project is licensed under the MIT License - see the LICENSE file for details.
Aurora is developed by MetaFrame, a studio focused on creating smart tools for modern life.
- FocusTabs - Productivity & Focus
- Mindbook Pro - Mental Health & Journaling
- Mindbook Trial - Free version
- Aurora - AI Music Player (this app)
π Publisher Page: APPLION - MetaFrame
- ποΈ Architecture Overview
- π§© Component Guide
- π‘οΈ Error Handling Best Practices
- π Logger Usage Guide
- π§ͺ Testing Best Practices
- π€ Contributing Guide
- Expo Documentation
- React Native Documentation
- Zustand Documentation
- Expo Router Documentation
- Icons by Lucide
- AI by Google Gemini & Groq
- State management by Zustand
- GitHub: @neurodivergent-dev
- Project Link: github.com/neurodivergent-dev/aurora
Made with β€οΈ and AI
"Your music, amplified by intelligence."