automation
Automated Weather Updates with Signal and FastAPI
Explore a Signal-based weather assistant using FastAPI, LangChain, and Docker for automated updates and queries.
Shipped January 2026
A Signal-based assistant integrated with a structured weather service for automated weather updates and queries. This project combines FastAPI, LangChain, and Docker to deliver weather information via Signal messaging.
Features
- FastAPI-based
weather-serviceproviding daily weather forecasts and JSON responses. - Signal assistant (
assistant-core) capable of parsing direct weather commands and natural language queries. - Structured LangChain agent for handling weather queries.
- Background cron job for daily weather notifications.
- Dockerized microservices communicating over a shared Docker network.
Tech Stack
- Python
- FastAPI
- LangChain (structured chat agent)
- Docker
- Signal API (for messaging integration)
Getting Started
Prerequisites
- Docker and Docker Compose installed
- Access to Signal API credentials/configuration
Installation & Running
- Clone the repository:
git clone https://github.com/justin-napolitano/signal-weather-stack-tool.git
cd signal-weather-stack-tool
- Build and start the Docker containers:
docker-compose up --build
-
The services will run on the
assistant-netDocker network, with:weather-serviceexposing/today?city=&state=endpointassistant-coreexposing/inboxfor Signal message handling
-
Configure environment variables such as
CRON_SCHEDULEandNOTIFY_URLas needed.
Project Structure
index.md: Project documentation and overview.weather-service: FastAPI app providing weather data and daily forecast notifications.assistant-core: Signal message handler that routes weather queries and sends responses.notifier-gateway: HTTP gateway forwarding messages to Signal.
Future Work / Roadmap
- Complete and extend documentation and usage examples.
- Add support for more natural language commands and additional weather data.
- Improve error handling and retry mechanisms for gateway communication.
- Enhance scheduling flexibility and configuration management.
- Integrate more advanced LangChain agents or alternative LLM tools.
For detailed usage and architecture, refer to the index.md file within the repository.
Need more context?
Want help adapting this playbook?
Send me the constraints and I'll annotate the relevant docs, share risks I see, and outline the first sprint so the work keeps moving.