So during the pandemic I wrote a python program. The pipeline is to (1) download daily cloud formation data from NOAA (https://www.nco.ncep.noaa.gov/pmb/products/nam/); (2) get a minute level extrapolation (NAM only has hourly prediction); (3) use a physical model to get the sun location and calculate the cloud color based on Rayleigh scattering (https://en.wikipedia.org/wiki/Rayleigh_scattering); (4) visualize the sunset/sunrise color on matplotlib Basemap; and (5) send out an email notification when the cloud is colorful enough for long enough.
Me and friends tested it for the summer and it was pretty accurate (good true positive). Some photos we got are in https://crispysky.com/#demo
It turns out the entire calculation for the US continent was pretty fast (each tile on the map can run the computation in parallel). After downloading the data from NOAA, serving the notification for me and my friends or serving thousands of people should almost cost the same. So I wrote this simple website to share the service :) The viewing experience is optimized for desktop users for now.
It's a small web service for fun but I would love to learn what you think we can further improve, for this website and for data-driven photography in general. Thanks!