Daily marine weather Telegram bot for the Algerian Mediterranean coast. Deterministic safety assessment in JavaScript; an LLM writes the prose but cannot change a rating. Built on n8n and Open-Meteo, verified against METAR observations.
# Algerian Coast Marine Weather Bot
A Telegram bot that sends a daily marine outlook for six cities on the Algerian
Mediterranean coast at 07:00 `Africa/Algiers`, rating conditions for **sailing**,
**shore fishing**, **small-boat fishing** and **swimming**.
Built on n8n, Open-Meteo and the
Google Gemini free tier.
```
🌊 Marine outlook — Oran
📅 2026-08-27 | Forecast window: 06:00-19:00 (Algiers time)
⛵ Sailing: CAUTION 🟡
Gusts hold near 24 kt through the afternoon over 0.9 m waves at 4.8 s —
short, steep going for a small boat. The morning is calmer.
Better window: 06:00-11:00 (GOOD)
🎣 Fishing:
• Shore: GOOD 🟢 — operational comfort and safety only
• Small boat: AVOID 🔴 — operational safety only
🏊 Swimming: CAUTION 🟡
0.92 m of wave height with a 26.4°C sea; the chop is the limiting factor.
Key forecast: Wind 10 km/h (5.4 kt) W, gusts to 62.6 km/h (33.8 kt);
waves 0.92 m, period 4.8 s; swell 0.76 m; sea 26.4°C.
⚠️ strong wind, short, steep chop.
⚠️ Official marine warnings were NOT checked — no machine-readable feed
exists for this coast. Check them yourself.
Forecast only — not an observed sea state. Verify official marine alerts,
harbour guidance, lifeguard flags and conditions at the launch or beach
before going out.
```
---
## The idea
Marine forecasts are easy to find and hard to read. "1.2 m at 4 s" and "1.2 m at
9 s" are the same number and completely different days on the water. This turns
the numbers into an answer, without pretending to more certainty than a forecast
can carry.
Two rules shape the whole design:
**Code decides, the model writes.** Every rating comes from plain JavaScript
over the forecast data. The LLM receives an assessment that is already final and
turns it into readable prose. It cannot change a rating — not because it is
asked not to, but because the ratings are overwritten from the deterministic
assessment after the response is parsed.
**Nothing positive is ever asserted on thin evidence.** Missing essential data
produces A …