How mrmeralco/teamohmmygrid works
KuryenTipid is a consumer energy-management app aimed at preventing electricity bill shock. Users register and configure a budget, then monitor bills and meter usage, explore savings, manage simulated smart plugs, get alerts, and ask Tanong AI for explanations. The map includes billing analysis, AMI and analog-meter workflows, and personalization. Some screen implementations were not sampled; those branches and their user-facing relationships are represented from the README, while source-level links are limited to indexed references and excerpts.
Main entry points: index.tsx Usage dashboard · plugs.tsx Smart plug controls · analogMeterService.ts Analog meter analysis · amiTelemetryService.ts AMI telemetry
Components 26
App experience
- Usage dashboard
src/app/(tabs)/index.tsx - Energy state
src/context/EnergyContext.tsx
Metering and billing
- Bill scanning
src/app/(tabs)/bill.tsx - Bill verification
src/components/BillVerificationDrawer.tsx - Manual meter entry
src/app/manual-meter-input.tsx - Analog meter analysis
src/services/analogMeterService.ts - AMI telemetry
src/services/amiTelemetryService.ts - Meter data types
src/types/amiTelemetry.ts
Energy insights
- Budget setup
src/app/budget-setup.tsx - Tariff calculations
src/lib/tariffEngine.ts - Usage analysis
src/lib/usageAnalysis.ts - Savings scenarios
src/app/whatif.tsx - Energy alerts
src/app/(tabs)/alerts.tsx - Tanong assistant
src/app/(tabs)/tanong.tsx - AI services
src/lib/geminiService.ts
Plug management
- Smart plug controls
src/app/(tabs)/plugs.tsx - Plug simulator
src/lib/smartPlugSimulator.ts - Plug discovery
src/components/plugs/PlugDiscoveryModal.tsx
Identity and preferences
- Sign in
src/app/login.tsx - Registration
src/app/register.tsx - Authentication state
src/context/AuthContext.tsx - Account service
src/services/authService.ts - Supabase
src/config/supabase.ts - Profile settings
src/app/(tabs)/profile.tsx - Personalization
src/context/ThemeContext.tsx
Other components
- Household user
Connections 31
- Household user → Sign in: signs in
- Household user → Registration: registers
- Sign in → Authentication state: submits credentials
- Registration → Authentication state: submits details
- Authentication state → Account service: uses account service
src/context/AuthContext.tsx - Account service → Supabase: uses when configured
src/services/authService.ts - Household user → Usage dashboard: monitors usage
- Usage dashboard → Energy state: reads energy state
src/app/(tabs)/index.tsx - Household user → Bill scanning: scans bill
- Bill scanning → Bill verification: verifies extraction
- Household user → Manual meter entry: records reading
- Manual meter entry → Analog meter analysis: captures and analyzes
src/app/manual-meter-input.tsx - Analog meter analysis → Meter data types: uses reading types
src/services/analogMeterService.ts - Usage dashboard → Analog meter analysis: loads analog data
src/app/(tabs)/index.tsx - Usage dashboard → AMI telemetry: loads telemetry
- AMI telemetry → Meter data types: uses telemetry types
src/components/AmiCurveGraphCard.tsx - Energy state → Tariff calculations: uses calculations
src/context/EnergyContext.tsx - Household user → Budget setup: sets budget
- Household user → Savings scenarios: explores savings
- Household user → Energy alerts: views warnings
- Household user → Tanong assistant: asks questions
- Tanong assistant → AI services: requests answers
- AI services → Usage analysis: parses analysis
src/lib/geminiService.ts - Household user → Smart plug controls: manages devices
- Smart plug controls → Plug simulator: controls devices
src/app/(tabs)/plugs.tsx - Smart plug controls → AI services: requests device advice
src/app/(tabs)/plugs.tsx - Smart plug controls → Plug discovery: opens discovery
- Household user → Profile settings: manages preferences
- Profile settings → Personalization: updates preferences
- Usage dashboard → AMI telemetry: shows telemetry charts
- Usage dashboard → Tariff calculations: shows tariff breakdown
src/app/(tabs)/index.tsx