Skip to content

19 results

All work
Internship project · ProAzurePython full-stack development

Dual-Interface Weather Forecasting Platform

A weather platform with both a Flask web app and a Tkinter desktop GUI over two weather APIs, with a caching layer that removes redundant third-party calls.

The problem

Every lookup hitting a third-party weather API costs latency and request quota, and two separate interfaces double the places the same logic can drift apart.

What I built

  • A Flask web application and a Tkinter desktop GUI over the same core.
  • Integration with the OpenWeatherMap and WeatherAPI REST APIs.
  • An API response caching layer that eliminates redundant third-party calls.
  • Parsing and normalisation of JSON responses into live temperature, humidity and wind-speed data.
  • Matplotlib visualisations of historical trends.

My engineering contribution

  • Engineered the platform during my Python full-stack traineeship at ProAzure Software Solutions.
  • Built structured exception handling and input validation across all modules.
  • Kept the codebase modular and PEP 8-compliant, with Git version control and peer code reviews.

Architecture and workflow

Stage 1 of 6 · Two interfaces

A Flask web app and a Tkinter desktop GUI share the same request logic.

Technical decisions

  • Cache API responses so repeated lookups cost nothing upstream.
  • One core, two interfaces — the web app and desktop GUI call the same modules.
  • Normalise both providers into a single data shape before anything is displayed.

Outcomes

  • As reported in my resume for this internship project: the caching layer improved average response time by approximately 30%.
  • As reported in my resume: 99% uptime was sustained through the project's QA cycles. These are project and QA-context figures, not audited production guarantees.
Next case studyBest Food Services