This is a submission for the Hacktoberfest Open-Source AI Challenge Week 1: Touch Grass
What I Built
ForageCast AI is a real-time, micro-climate dashboard that lets you know exactly when to leave your computer and go into the woods.
I am an amateur forager from Punjab, India, and I am aware that hunting wild mushrooms is dependent on very specific weather conditions. Go on a hot, dry day of 30 degrees and you will return empty handed. But the forest really comes alive after a rain when the temperature drops.
Instead of doom scrolling, ForageCast AI gets you off the screen and into the real world. It pulls live satellite data for your exact location and uses an advanced machine-learning model to generate a βForaging Confidence Score,β telling you exactly when itβs time to grab your basket and touch grass.
Demo
Code
π² ForageCast AI
ForageCast AI is a real-time, micro-climate dashboard that uses live satellite weather data and the TabPFN Foundation Model to predict optimal foraging conditions in Punjab, India.
Built for the Hacktoberfest 2026 Open-Source AI Challenge ("Touch Grass" theme).
π Architecture & Tech Stack
This project is built around a lightweight, open-weight architecture that runs zero-shot inference locally on the CPU.
1. The Frontend (UI)
- Streamlit: A highly reactive Python web framework used to build the dashboard.
- Custom Styling: Uses injected inline CSS to bypass standard Streamlit limitations, achieving a beautiful, glassmorphism-inspired dark mode UI with a nature theme.
2. The Data Pipeline (Open-Meteo API)
- Live Satellite Data: The app fetches real-time micro-climate metrics (Temperature, Humidity, 7-Day Rainfall, and Soil Moisture at 0-7cm) via the free, open-source Open-Meteo API.
-
Synthetic Dataset Generation: Includes a data generation script (
fetch_real_data.py) that pulls 365 days ofβ¦
How I Built It
To make this work seamlessly, I built the project around three incredible open-source tools:
TabPFN (The AI Brain): This was the core open-source AI I used. Instead of a traditional LLM, I used the TabPFN Foundation Model, which specializes in tabular data. Because it operates zero-shot (meaning it doesn't need to do gradient descent epochs on my specific dataset), I was able to pass a small CSV of historical Punjab micro-climates directly into the model at runtime. It generalized the boundaries instantly on my local CPU in less than a second!
Open-Meteo: I used their open-source, free API to fetch the live satellite data (Temperature, Humidity, 7-Day Rainfall, and Soil Moisture) without restrictive API limits.
Streamlit: I built the entire frontend using Streamlit, utilizing custom inline CSS to create a premium, glass morphism-inspired dark mode UI.
# How TabPFN zero-shot inference is executed in the app:
from tabpfn import TabPFNClassifier
# 1. Initialize the pre-trained open-weight foundation model on CPU
model = TabPFNClassifier(device='cpu', N_ensemble_configurations=2)
# 2. Fit it instantly to historical foraging data (Zero-shot inference)
model.fit(X_train, y_train)
# 3. Predict probability on LIVE satellite data from Open-Meteo
probability = float(model.predict_proba(live_weather_df)[0][1]) * 100
Why Does Open Innovation Matter?
Open innovation was absolutely key to this project. Had I been limited to closed, proprietary APIs, instant tabular inference would have meant sending my exact location coordinates and climate metrics to a third-party server (probably with token costs every time I checked the weather).
Since TabPFN is an open-weight foundation model, I could run the model fully on my own CPU locally. Open innovation enables builders to create hyper-specific localized tools, while ensuring their data (and their secret foraging spots!) remain totally private.
Prize Categories
- TabPFN Partner Category
Top comments (0)