How pwocclasses/myra-ai-assistant- works
Mayra is a voice-enabled assistant application with chat, productivity and specialist tools, Android device actions, and installable web/native app support. Users enter through the web app, select a capability, and receive a conversational or tool-specific result; chat and coding requests are sent to server API routes. The graph preserves major UI capabilities and supporting browser/device services. Source excerpts do not expose server route implementations or all component interactions, so those connections are omitted rather than inferred.
Main entry points: App.tsx App shell · server.ts API server · ChatHistory.tsx Chat history · VoiceControls.tsx Voice controls
Components 22
Assistant experience
- App shell
src/App.tsx - Chat history
src/components/ChatHistory.tsx - Voice controls
src/components/VoiceControls.tsx - Assistant orb
src/components/AiOrb.tsx - Navigation header
src/components/Header.tsx - Action modal
src/components/ActionModal.tsx - Preferences
src/components/SettingsModal.tsx
Specialist tools
- Coding studio
src/components/CodingStudio.tsx - YouTube assistant
src/components/YouTubeAssistant.tsx - Screen assistant
src/components/ScreenAssistant.tsx - Personal planner
src/components/PersonalAssistant.tsx - Weather lookup
src/services/weather.ts
Device and install
- Android launcher
src/components/AndroidAppLauncher.tsx - Android integration
src/services/android.ts - Install dialog
src/components/AndroidInstallModal.tsx - PWA install state
src/services/usePWAInstall.ts - Android host
android/app/src/main/java/ai/mayra/companion/MainActivity.kt
Browser services
- Speech service
src/services/speech.ts - Sound effects
src/services/synth.ts - API server
server.ts
Other components
- User
- Gemini API
Connections 19
- User → App shell: uses
- App shell → Chat history: renders
src/App.tsx - App shell → Voice controls: renders
src/App.tsx - App shell → Assistant orb: renders
src/App.tsx - App shell → Navigation header: renders
src/App.tsx - App shell → Action modal: renders
src/App.tsx - App shell → Preferences: renders
src/App.tsx - App shell → Coding studio: selects view
src/App.tsx - App shell → YouTube assistant: selects view
src/App.tsx - App shell → Screen assistant: selects view
src/App.tsx - App shell → Android launcher: selects view
src/App.tsx - App shell → API server: posts chat
src/App.tsx - Coding studio → API server: posts coding
src/components/CodingStudio.tsx - Personal planner → Weather lookup: fetches weather
src/components/PersonalAssistant.tsx - Android launcher → Android integration: launches apps
src/components/AndroidAppLauncher.tsx - Install dialog → PWA install state: checks install
src/components/AndroidInstallModal.tsx - Chat history → Speech service: uses speech
src/components/ChatHistory.tsx - Voice controls → Sound effects: plays effects
src/components/VoiceControls.tsx - API server → Gemini API