Skip to content

Latest commit

 

History

113 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

UrjaBandhu - Electricity Bill Optimization WebApp

An intelligent platform that helps users optimize their electricity consumption using AI-powered analytics, Non-Intrusive Load Monitoring (NILM), and personalized recommendations.

🚀 Features

  • Time Series Analysis: Advanced consumption prediction using foundation models
  • Device Detection: OCR-based automatic device identification and power estimation
  • NILM Technology: Individual appliance load disaggregation
  • AI Chatbot: Personalized optimization suggestions with multi-language support
  • Real-time Analytics: Live consumption monitoring and statistics
  • Multi-language Support: TTS/STT in Hindi, Bengali, Tamil, Telugu, and more

🏗️ Architecture

UrjaBandhu/
├── frontend/          # Next.js React application
├── backend/           # FastAPI Python backend
├── ml-models/         # ML models and training scripts
├── docs/              # Documentation and API specs
└── docker/            # Docker configuration files

🛠️ Technology Stack

Frontend

  • Framework: Next.js 14 with TypeScript
  • UI: Tailwind CSS + Shadcn/UI
  • State Management: Zustand
  • Charts: Chart.js + D3.js
  • PWA: Next-PWA

Backend & Database

  • Backend: Supabase (PostgreSQL + Auth + Real-time + Storage)
  • Authentication: Supabase Auth with Google OAuth
  • Database: Supabase PostgreSQL with Row Level Security
  • Real-time: Supabase Real-time subscriptions
  • File Storage: Supabase Storage (for device images)

ML/AI & External Services

  • Time Series: Prophet, LSTM, Transformers
  • NILM: HMM, Neural Networks
  • OCR: Tesseract, Google Vision API
  • NLP: Transformers, OpenAI GPT
  • TTS/STT: Azure Cognitive Services
  • Time Series Analytics: InfluxDB (optional)

🚀 Getting Started

Prerequisites

  • Node.js 18+
  • Supabase Account (free tier available)
  • Docker (optional, for additional services)

Installation

  1. Clone the repository
git clone https://github.com/SrivarsanK/UrjaBandhu.git
cd urjabandhu
  1. Setup Supabase
  • Create a new project at supabase.com
  • Copy your project URL and anon key
  • Run the SQL schema from supabase/schema.sql in your Supabase SQL editor
  1. Setup Frontend
cd frontend
npm install
cp .env.local.example .env.local
# Edit .env.local with your Supabase credentials
npm run dev
  1. Access the Application
  1. Optional: Setup Additional Services
# For advanced analytics with InfluxDB
docker-compose --profile analytics up -d

# For caching with Redis
docker-compose --profile cache up -d

📈 Development Roadmap

Phase 1: Foundation ✅

  • Project structure setup
  • Basic UI mockups
  • Sample data integration

Phase 2: Core Features ✅

  • OCR device detection
  • Time series data handling
  • Basic analytics

Phase 3: Advanced Analytics ✅

  • NILM implementation
  • Time series foundation models
  • Advanced visualizations

Phase 4: AI Integration ✅

  • AI chatbot
  • Personalized recommendations
  • Multi-language TTS/STT

📝 License

This project is licensed under the MIT License - see the LICENSE file for details.

🙏 Acknowledgments

  • Time Series Foundation Models research community
  • NILM algorithm developers
  • Open source ML/AI libraries
  • Indian language processing tools

Note: This project is under active development. Check the Plan.md for detailed development timeline and progress updates.

About

Resources

Stars

5 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages