Inspiration

Every fall I miss the perfect photo day because peak colors fade faster than I expect.
I wanted a simple way to answer:
“If I shoot tomorrow, will the colors still be at their best?”
FoliaScope turns one photo into a short forecast so people can plan hikes, campus shoots, and neighborhood photowalks.


What it does

  • Takes a tree photo (upload or camera) and your location.
  • Identifies the likely tree type and pulls a 3-day local weather forecast.
  • Estimates how many days of peak color remain and when fading will start.
  • Generates a short time-lapse preview video that visualizes the expected change for the next three days.

How I built it

  • Frontend: Streamlit app with tabs for Upload or Camera.
  • Weather: OpenWeather 3-day forecast, normalized into “Day 1–3” lines and scanned for critical events (wind/rain) that accelerate leaf drop.
  • Models: Gemini 2.5 Flash for lightweight reasoning and fallback species guess; Veo 3.1 Fast (generate-preview) for short video generation.
  • Post-processing: A simple rule model adjusts duration based on weather severity and produces a clear natural-language summary.

Challenges I ran into

  • Getting consistent JSON from the model (added strict schema prompts + JSON extraction).
  • Handling different image inputs (HEIC/PNG/JPEG) and camera capture across browsers.
  • Rate limits / model availability — added graceful fallbacks and clear on-screen status.
  • Avoiding hallucinated weather — strictly separated vision from weather API data.

Accomplishments that I am proud of

  • Using video generation to show how the tree will change over the next three days, which everyone complimented as a creative idea. -The decision to use weather data from OpenWeather helped prevent possible hallucinated weather data from Gemini.

What I learned

  • How to ground AI outputs in real-world data (OpenWeather) instead of trusting the model’s guesses.
  • How to design prompting and JSON schemas so Gemini reliably returns structured data I can use in code.
  • How to chain multiple tools (vision → weather API → reasoning → video generation) into one smooth user flow.
  • How to design fallbacks and status messages so the app still feels stable when models are slow or rate-limited.

What's next for FoliaScope

  • Map view: aggregate reports to show neighborhood-level peak zones.
  • Photo tips: species-aware suggestions (time of day, angle, polarizer, etc.).

Built With

  • gemini-2.5-flash-(google-generativeai)
  • google-ai-agents-(adk)
  • openweather
  • python
  • streamlit
  • veo-3.1-fast-(generate-preview)
  • vertex-ai-(google-cloud-aiplatform)
Share this project:

Updates