AquaPT is a comprehensive mobile application for aquarium enthusiasts to manage their tanks, track livestock, monitor water parameters, schedule maintenance tasks, and get AI-powered care assistance.
- Multi-tank support (freshwater, marine, brackish)
- Track tank specifications: volume, dimensions, setup date, investment cost
- Quick logging of water parameters, memos, issues, and dosing
- Log parameters: NH3, NO2, NO3, pH, temperature, GH, KH, salinity, calcium, alkalinity
- Visual charts showing parameter trends over time
- Automated safety alerts when parameters are outside optimal ranges
- Track fish, shrimp, snails, corals, plants, and other livestock
- Record species, quantity, purchase price, and photos
- Monitor health status (active, ill, deceased)
- Feeding notes and scheduled feeding tasks
- Transfer livestock between tanks and record offspring
- Create maintenance tasks for equipment
- Automated feeding schedules for livestock
- Task reminders and completion tracking
- Log and monitor tank issues
- Track issue status (open, monitoring, resolved)
- Resolution notes and history
- Track equipment (filters, heaters, lights, CO2 systems)
- Inventory management for consumables
- Low stock alerts and reorder reminders
- Voice-enabled AI assistant for aquarium care advice
- Memory of past conversations
- Can perform actions like logging parameters, creating tasks, and adding livestock
- Framework: Expo (React Native)
- UI Library: React Native Paper (Material Design 3)
- Database: SQLite with op-sqlite
- AI: OpenRouter API for LLM-powered assistant
- Voice: expo-speech-recognition
- Charts: react-native-gifted-charts
- Node.js 18+
- Bun (for package management)
- Expo CLI
- For development: Android Studio or Xcode
# Install dependencies
bun install
# Start development server
bun expo start
# Run on Android
bun expo run:android
# Run on iOS
bun expo run:ios# Generate Android project
bun expo prebuild --platform android
# Build release APK
cd android && ./gradlew assembleReleaseaquapt/
├── app/ # Expo Router pages
│ └── (tabs)/ # Tab-based navigation
│ ├── index.tsx # Dashboard/home
│ ├── assistant.tsx # AI assistant
│ ├── tasks.tsx # Task management
│ ├── timeline.tsx # Event timeline
│ └── settings.tsx # App settings
├── components/ # Reusable UI components
├── services/ # Business logic
│ ├── assistant-ai.ts # OpenRouter API
│ ├── assistant-orchestrator.ts
│ ├── assistant-executor.ts
│ ├── assistant-memory.ts
│ ├── persistence.ts # SQLite operations
│ ├── scheduling.ts # Task scheduling
│ ├── water-alerts.ts # Parameter alerts
│ └── voice.ts # Voice recognition
├── types/ # TypeScript types
└── assets/ # Images and icons
- Get an API key from OpenRouter
- Enter the API key in the Settings tab
- Select your preferred AI model
Configure reminder notifications in Settings to get notified about scheduled tasks.
Private - All rights reserved