SO.Sherlyn Olalo, home
All projects

AI Tools

Skyler Chatbot

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

Skyler Chatbot showing a natural-language weather conversation, with the assistant returning current OpenWeather data for the requested city.

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.