DjangoCon 2022 | Predict Lightning Strikes using Django and AWS

"Learn how a team built a cloud-native solution using Django, Python, and AWS to predict lightning strikes and improve safety, with features like Redis caching, GeoJSON processing, and containerized development."

Key takeaways
  • The project leverages Redis to cache the delivery of results from Nixrad data, RAP data, and other data sources.
  • The goal is to achieve a response time of under 500 milliseconds for subscribers.
  • The team uses GeoJSON to process, store, and transfer data between the application and users.
  • Container images for Lambdas are used to run the application locally, allowing developers to test changes quickly.
  • The project uses Amazon Web Services (AWS) and its services, including Lambda, ElastiCache, and Fargate, to build a cloud-native solution.
  • The project also uses Python, Django, and scientific computing tools like scipy and numpy to make predictions.
  • The team uses AWS’s NEXRAD data, and ingests around 450 gigabytes of data per day.
  • Predictions are made using algorithms that show where lightning will strike, helping to improve safety and reduce delays.
  • The team uses CodeArtifact and Pip to manage dependencies and build processes.
  • The project uses Terraform to automate infrastructure deployment and management.
  • The team uses environment variables and caching to improve performance and reduce latency.
  • The project uses AWS services like Route 53, SNS, and SES to manage DNS, events, and email notifications.
  • The team is working on expanding the platform to predict other weather-related events, such as tornadoes.