Intelligent Weather Analysis App

🌱 Inspiration

Pakistan has recently faced severe and unpredictable weather conditions — from record-breaking heatwaves to destructive urban flooding. This project was inspired by a need to make sense of local climate data, understand long-term trends, and raise awareness about the climate crisis using data-driven storytelling.

🧠 What it does

Our application allows users to:

  • Visualize historical trends in temperature and precipitation over multiple years
  • Analyze monthly minimum, maximum, and average temperatures
  • Explore precipitation patterns through time-series plots
  • Ask natural-language questions about climate data via an AI-powered chatbot

The combination of interactive visualizations and AI Q&A makes the app accessible and informative for both technical and non-technical audiences.

🔧 How we built it

⚔️ Challenges we ran into

  • Vector upload: Learning how to convert our dataset into embeddings and correctly store them in MongoDB Atlas Search took time and experimentation.
  • Limited documentation: Resources on combining Gemini embeddings with MongoDB vector search were scarce, so we had to try various configurations.
  • Frontend integration: Connecting the chatbot interface with backend responses while maintaining performance required fine-tuning.

🏆 Accomplishments that we're proud of

  • First real-world use of LLM embeddings + MongoDB vector search
  • Built an end-to-end system: data to insight, not just a dashboard
  • Made local climate data interactive and conversational
  • Clean and modular design — flexible for adding more data or models

📚 What we learned

  • How to build a pipeline from raw CSVs to intelligent Q&A
  • Using vector-based semantic search with structured databases
  • Integrating LLMs into traditional full-stack apps
  • Frontend/backend communication best practices using REST APIs

🚀 What's next for Intelligent Weather Analysis App

  • Add forecasting using models like ARIMA or Prophet
  • Include extreme event detection (heatwaves, floods)
  • Upload more datasets: air quality, wind speed, humidity
  • Host the app publicly for public awareness and policy use
  • Let users upload their own datasets for custom analysis

Backend

  • Python for data preprocessing and embedding generation
  • Historical weather data in CSV format (from local or public datasets)
  • Google Gemini Pro API for generating text embeddings and chatbot responses
  • MongoDB Atlas Search for storing and retrieving vectorized knowledge
  • Custom scripts for CSV parsing, preprocessing, and embedding upload

Frontend

  • React + TypeScript for the user interface
  • TailwindCSS for sleek UI components
  • Chart.js for plotting time-series weather data
  • Integrated chat UI connected to the backend for dynamic question answering

⚔️ Challenges we ran into

  • Vector upload: Learning how to convert our dataset into embeddings and correctly store them in MongoDB Atlas Search took time and experimentation.
  • Limited documentation: Resources on combining Gemini embeddings with MongoDB vector search were scarce, so we had to try various configurations.
  • Frontend integration: Connecting the chatbot interface with backend responses while maintaining performance required fine-tuning.

🏆 Accomplishments that we're proud of

  • First real-world use of LLM embeddings + MongoDB vector search
  • Built an end-to-end system: data to insight, not just a dashboard
  • Made local climate data interactive and conversational
  • Clean and modular design — flexible for adding more data or models

📚 What we learned

  • How to build a pipeline from raw CSVs to intelligent Q&A
  • Using vector-based semantic search with structured databases
  • Integrating LLMs into traditional full-stack apps
  • Frontend/backend communication best practices using REST APIs

🚀 What's next for Intelligent Weather Analysis App

  • Add forecasting using models like ARIMA or Prophet
  • Include extreme event detection (heatwaves, floods)
  • Upload more datasets: air quality, wind speed, humidity
  • Host the app publicly for public awareness and policy use
  • Let users upload their own datasets for custom analysis

Built With

Share this project:

Updates

Submission history