Inspiration
The inspiration for Solarity stems from the "intermittency problem" of renewable energy. Grid operators often struggle to balance supply and demand because solar and wind are volatile; a passing cloud can drop a farm's output in minutes. We wanted to build a tool that doesn't just "guess" the weather, but provides an Enterprise Risk Framework—giving energy traders and operators the same level of data certainty they have with traditional fossil fuels.
What it does
Solarity is a real-time predictive dashboard that: Predicts Power Yield: Translates raw weather telemetry (irradiance, wind speed, sky cover) into Megawatts (MW) for specific grid nodes. Quantifies Risk: Uses probabilistic "Fan Charts" to show P10 (conservative), P50 (expected), and P90 (optimistic) forecasts. Monitors Uncertainty: Provides a real-time Uncertainty Percentage so traders know exactly how much they can safely bid into the market. Solana Verification: Anchors critical forecast data to the Solana Blockchain, creating an immutable, auditable trail of "truth" for utility billing and compliance.
How we built it
The Backend: Python-based engine utilizing requests to pull live National Weather Service (NWS) telemetry. Mathematical Modeling: Custom algorithms that apply Horizon Decay—increasing uncertainty by approximately 1.5% per hour to reflect the natural loss of accuracy in long-term forecasting. The UI: A "Glassmorphism" interface built with Streamlit, featuring high-contrast Plotly visualizations designed for dark-mode command centers. Solana Integration: Simulated transaction anchoring to demonstrate how decentralized ledgers can verify grid data without the need for a central clearinghouse. Quality Control: We used Vultr for static code analysis to ensure the production build remains lean and free of "dead code" that could lag real-time updates.
Challenges we ran into
The Data Translation Gap: Converting "percentage of sky cover" into actual solar panel efficiency is non-linear. We had to build logic that accounts for atmospheric scattering and "volatility penalties" for partly cloudy days. Visualizing Uncertainty: It’s easy to plot a line; it’s hard to plot a "range" that feels intuitive. We spent significant time perfecting the Fan Chart gradient to ensure operators could distinguish between the demand floor and the supply ceiling. Real-Time Syncing: Ensuring the dashboard feels "alive" requires implementing heartbeat pulses and simulated telemetry streams that align with real-world time-steps.
Accomplishments that we're proud of
The P10 Alert System: We successfully implemented a logic-gate that triggers a Critical Alert if the "conservative" supply falls below the grid demand floor. This is a game-changer for preventing blackouts. Clean Architecture: Achieving a perfect scan with Vultr while maintaining a complex UI with multiple interactive components. Risk Quantization: Turning "it might be cloudy" into a hard 22% Uncertainty metric that a trader can actually use for financial decision-making.
What we learned
Probabilities > Points: We learned that in the energy industry, a single number (e.g., "50MW") is almost useless. Operators care about the range of possibility. Blockchain Context: We discovered that Solana's high throughput makes it uniquely suited for "Grid Edge" data, where thousands of meters might need to verify their output simultaneously. The Power of Decay: Weather models aren't static; the math must reflect that we know less about tomorrow than we do about today.
What's next for Solarity
Battery Storage Integration: Developing a "Virtual Battery" module that shows how excess P90 energy can be stored and "discharged" during predicted P10 deficit hours. Machine Learning (LSTM) Refinement: Moving from mathematical heuristics to Long Short-Term Memory (LSTM) neural networks to better predict "Ramp Events" (sudden shifts in wind/solar). Live Solana Mainnet Deployment: Transitioning from simulated hashes to a live Devnet environment where actual grid data is hashed for permanent record-keeping.
Log in or sign up for Devpost to join the conversation.