How endrigogustavo/mellowpet works
MellowPet is a mobile-first emotional-wellbeing platform: the app reads facial expression locally, presents emotion-aware pet guidance and analytics, and can synchronize data or request AI support. The backend exposes chat, dashboard-insight, and support-content APIs; care coordination, music, widgets, and Wear OS extend the experience. Edges are limited to README statements and shown source/index references; several subsystems are represented by their exact directory where implementation was not sampled.
Main entry points: App.tsx Mobile app · VisionEngine.tsx Vision engine · AppContext.tsx App state · routers API routes
Components 24
Mobile wellbeing app
- Mobile app
app/App.tsx - App state
app/src/state/AppContext.tsx - Emotion guidance
app/src/data/emotions.ts - Dashboard insights
app/src/dashboard/dashboardClient.ts - Check-ins
app/src/checkins - Chat client
app/src/chat/chatClient.ts
Local emotion sensing
- Vision engine
app/src/vision/VisionEngine.tsx - Native camera reader
app/modules/mellow-vision/android/src/main/java/com/mellowpet/vision/BackgroundReader.kt - Expression classifier
app/src/vision/expressionEngine.ts - Personal calibration
app/src/vision/personalCalibration.ts - Vision event queue
app/src/vision/eventQueue.ts
API and AI services
- FastAPI service
api/main.py - API routes
api/routers - AI provider service
api/services/ai_service.py - Crisis support
api/services/crisis.py - Support content
api/routers/tools.py
Care and synchronization
- Care coordination
app/src/care/careClient.ts - Supabase data and auth
app/src/supabase/client.ts - Care notifications
supabase/functions/care-push/index.ts
Connected experiences
- Music integration
app/src/spotify/spotifyClient.tsx - Android widgets
app/modules/mellow-widget/android/src/main/java/com/mellowpet/widget/WidgetStore.kt - Wear OS companion
wear/app/src/main/java/com/mellowpet/wear/ui/MellowApp.kt
Other components
- App user
- External AI providers
Connections 27
- App user → Mobile app: uses
README.md - Mobile app → App state: mounts
app/App.tsx - App state → Vision engine: uses
app/src/state/AppContext.tsx - Vision engine → Native camera reader: requests frames
app/src/vision/VisionEngine.tsx - Vision engine → Expression classifier: classifies frames
app/src/vision/VisionEngine.tsx - Vision engine → Personal calibration: loads and saves
app/src/vision/VisionEngine.tsx - Vision engine → Vision event queue: queues feedback
app/src/vision/VisionEngine.tsx - Expression classifier → Emotion guidance: uses emotion keys
app/src/vision/expressionEngine.ts - App user → Check-ins: records check-ins
README.md - App state → Emotion guidance: uses guidance
app/src/state/AppContext.tsx - Mobile app → Dashboard insights: shows analytics
README.md - Dashboard insights → FastAPI service: requests insight
README.md - Mobile app → Chat client: offers chat
README.md - Chat client → FastAPI service: sends chat requests
README.md - FastAPI service → API routes: mounts routes
api/main.py - API routes → AI provider service: uses AI service
api/routers/ai_chat.py - API routes → Crisis support: uses crisis support
api/routers/ai_chat.py - API routes → Support content: serves support content
README.md - AI provider service → External AI providers: calls configured provider
README.md - Mobile app → Care coordination: offers care features
README.md - Care coordination → Supabase data and auth: reads and writes
app/src/care/careClient.ts - App state → Supabase data and auth: uses authentication
app/src/state/AppContext.tsx - Care notifications → App user: sends care alerts
- Mobile app → Music integration: offers music
app/App.tsx - Music integration → Supabase data and auth: reads stored playlists
- Mobile app → Android widgets: supports widgets
README.md - Mobile app → Wear OS companion: pairs with watch
README.md