BoulderAgent is an intelligent assistant designed to help climbers plan their outdoor sessions (currently focused on the Powerlinez and the Gunks). It combines a local climbing database with real-time weather forensics to answer the questions such as: "Is it dry enough to send?" or "What grade is Oliphant Crack?"
Try it out at https://atrbyg24-boulder-agent-app-dogq4m.streamlit.app/
- Natural Language Database Queries: Ask questions like "How many V3s are at the Welcome Boulders?"
- Weather Forensics: Automatically checks 48-hour precipitation history and "Send Temps" (35°F - 60°F) for specific GPS coordinates.
- Function Calling: Powered by Gemini 2.5 Flash, the agent intelligently decides when to query the SQL database or check the weather API.
- Safety Logic: Uses a "Green/Yellow/Red" status system to warn users about wet rock or dangerous conditions.
- Interactive Chat: A persistent web interface built with Streamlit.
- AI Model: Google Gemini (via the
google-genaiSDK) - Database: SQLite (Climbing data provided by OpenBeta)
- Weather API: Open-Meteo (Historical and Forecast data)
- Environment: Python 3.12+
git clone https://github.com/atrbyg24/boulder-agent.git
cd boulder-agent
python -m venv .venv
source .venv/bin/activate # On Windows: .venv\Scripts\activate
pip install -r requirements.txtCreate a .streamlit/secrets.toml file in the root directory. Do not commit this file to GitHub.
GEMINI_API_KEY=your_api_key_here
streamlit run app.pyThis project would not be possible without the following open-data providers:
- OpenBeta: For providing the comprehensive, open-source climbing dataset (routes, grades, and coordinates).
- Open-Meteo: For the high-resolution weather API that allows for historical precipitation and hourly forecast lookups without an API key for non-commercial use.
Climbing is inherently dangerous. BoulderAgent is an experimental tool and should not be your only source of safety information. Always check local conditions in person and respect all access closures.