Back to Stargazing
🔧
Developer Mode
Function flow visualization with inputs/outputs
🌐
Weather Providers
▶️
Run Pipeline
Function Pipeline
1
get5DayForecast()
openweather.ts
2
processWeatherData(apiData)
weather.ts
3
calculateStargazingRating()
weather.ts
4
findViewingWindows()
weather.ts
5
calculateDayScore(day)
scoring.ts
6
generateSummary(analysisData)
scoring.ts
7
sendTelegramMessage(text)
telegram.ts
8
createTelegramPoll(question, options)
telegram.ts
9
checkPollWeather(pollData, summary)
scoring.ts
10
createTripConfirmationMessage()
scoring.ts
👈
Select a function to view its details
Data Flow Pipeline
1
get5DayForecast()
Fetches weather data from OpenWeather API
↓
2
processWeatherData(apiData)
Filters to nighttime slots (sunset-2AM), calculates ratings, finds viewing windows
↓
3
calculateStargazingRating()
Rates stargazing conditions based on cloud coverage, visibility, and weather type
↓
4
findViewingWindows()
Identifies continuous windows of good viewing conditions (PERFECT/GOOD ratings)
↓
5
calculateDayScore(day)
Scores each day based on time window, weather quality, duration, and moon phase
↓
6
generateSummary(analysisData)
Scores all days, identifies best weekend/exceptional days, creates formatted summary, decides poll creation
↓
7
sendTelegramMessage(text)
Sends formatted message to Telegram group chat
↓
8
createTelegramPoll(question, options)
Creates a poll in Telegram for trip participation
↓
9
checkPollWeather(pollData, summary)
Monitors active polls, compares current weather to original forecast, decides trip cancellation
↓
10
createTripConfirmationMessage()
Creates final trip confirmation message with departure time (90 min before sunset)