Humanity faces a massive issue. We heavily rely on unsustainable energy sources, and most attempts to move to a sustainable solution haven't worked out. A leading source of energy we could use is solar power. But this comes with its own challenges. Most solar energy is harvested with panels. But due to the sun's movement, panels can often be left facing the opposite side of the sun. Along with this problem, the UN aims to create "Sustainable Cities and Communities". While thinking about all of this, we thought of a piece of software that could take steps to improve these shortfalls.
What it does
SunSpot is an easy way for officials, homeowners, and governments to get accurate rotation details for their solar panels with location and timezone taken into account.
How we built it
There were 2 main options when building SunSpot. We could have gone with Brain.js or used Python. We went with Python due to it's flexibility. Using the MeteoStat library for weather data and PySolar for calculating the altitude's and azimuth's of the sun, we were able to build the key system for analyzing all of our data and selecting the best rotation. We then used GeoPy as a geolocation decoder and Flask to get a website up and running for the project so user's would have a simple time using it instead of learning the command line.
Challenges we ran into
The biggest challenge when creating SunSpot was dealing with timezones. Timezones are a very finicky thing and since many countries choose to have specific timezones that don't align internationally, this was a challenge. But we used official timezones and used the DateTime module to set back and forth the time from UTC so the reading's were accurate based on the user's location.
Accomplishments that we're proud of
We are very proud of the speed of development for SunSpot. We joined the hackathon when submission's opened and had very limited time to work on this project (sometimes going a few days without any progress due to time constraints). But the fact we were able to get it done in time was a very big achievement. Along with this, we have never used Flask before and it was a great experience to build a full project in a short time with a new piece of technology.
What we learned
We learned how to deal with large datasets and how to interpret data which was a very fun (but at time's, frustrating) process. We also learned how to use the Flask web framework and got more comfortable with Python in general.
What's next for SunSpot
The next big goal for SunSpot is to build out a callable API for other user's to use inside of their own projects. We feel that SunSpot shouldn't just be limited to it's web version and if used correctly within other applications, it could make a great deal to the use of solar energy across the world!