AI Tools
Skyler Chatbot
A conversational weather assistant that answers natural-language questions with live forecast data, typos and all.

Year
2024
Role
Full-stack Developer
Client
School project
Stack
Python (Flask), spaCy, rapidfuzz, OpenWeather API, HTML/CSS/JS
Coursework project, no public deployment.
01
The problem
Weather forecasting tools often overwhelm users with data or require navigating clunky interfaces. People needed a natural way to ask weather questions and get clear, actionable answers, whether planning a trip, deciding what to wear, or checking conditions for outdoor activities. Existing solutions forced users into rigid search patterns instead of conversational queries.
02
What I built
Skyler bridges that gap with a conversational interface that understands natural-language weather queries. The assistant processes the question, fetches real-time data from the OpenWeather API, and responds with a clear, personalised answer.
What made the conversation work
Natural-language parsing
spaCy extracts intent and entities (locations, time windows) from messy phrasing, and rapidfuzz catches typos so "Cebu Cty" still resolves to Cebu City.
Conversational design
Users ask questions naturally, like "Will it rain tomorrow?" or "What's the warmest time today?", instead of navigating menus.
Real-time data integration
A direct OpenWeather connection ensures current, accurate forecasts rather than cached approximations.
Flask serves the app and routes the chat, spaCy and rapidfuzz handle the natural-language layer, OpenWeather feeds the live data, and plain HTML, CSS and JS keep the UI light.
03
What I learned
This project taught me the power of natural language interfaces. Even simple conversational flows make tools dramatically more usable. I learned to think about API integration as part of the UX, not just a technical detail. If I revisited it, I'd add location detection and multi-day forecast summaries for better context.
