How smdanial/bup_hackathon works
GridWise is an energy-scheduling API: a caller submits a 24-hour demand, solar, tariff, battery, and operator-note scenario, and receives interpreted directives plus an optimized hourly plan and cost metrics. The workflow validates the request, interprets notes, checks directive guardrails, then solves the schedule. The sampled source shows these stages and their calls; the README provides no additional capability detail, and the frontend file was not sampled.
Main entry points: optimize.py Optimization Service · routes.py Optimization Endpoint · interpreter.py Note Interpreter · solver.py Schedule Solver
Components 8
API
- Optimization Endpoint
app/api/routes.py - Optimization Service
app/services/optimize.py
Directive Processing
- Note Interpreter
app/llm/interpreter.py - Directive Guardrails
app/validation/directives.py
Schedule Optimization
- Schedule Solver
app/optimizer/solver.py
Data Contracts
- Request and Response Models
app/models/schemas.py
Other components
- API Caller
- Gemini API
Connections 10
- API Caller → Optimization Endpoint: submits scenario
- Optimization Endpoint → Request and Response Models: validates body
- Optimization Endpoint → Optimization Service: calls
- Optimization Service → Note Interpreter: interprets notes
- Note Interpreter → Gemini API: requests directives
- Optimization Service → Directive Guardrails: checks directives
- Optimization Service → Schedule Solver: builds schedule
- Schedule Solver → Optimization Service: returns plan
- Optimization Service → Optimization Endpoint: returns result
- Optimization Endpoint → API Caller: returns response