Skip to content
View mifuha's full-sized avatar
  • London

Block or report mifuha

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Content in all repositories owned by your account will be closed.
Maximum 250 characters. Please don’t include any personal information such as legal names or email addresses. Markdown is supported. This note will only be visible to you.
Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse
mifuha/README.md

Hi, I'm Miha 👋

I'm a Python developer with a background in backend development and data engineering. I enjoy figuring out why systems aren't behaving as expected, especially when things look fine on the surface but the data tells a different story.

I'm also a keen runner and tennis enthusiast, with an interest in sports data and the technology behind fitness and training applications.

RunWx

RunWx is my personal project exploring race pace and weather across different editions of the same race.

View the comparison.

It combines historical race results and hourly weather data in a Python and dbt pipeline on Google Cloud Platform (GCP). Cloud Storage holds pipeline artifacts, BigQuery stores and analyses the data, and Cloud Run runs processing jobs and serves the comparison website. Much of the work involves messy source data, timestamps and making loads repeatable.

I also built Airflow workflows to coordinate the pipeline, validating the historical workflow on Google Cloud Composer.

It's still evolving. The comparisons explore patterns rather than establish cause and effect.

Selected open-source contributions

  • Prefect · Merged — Added opt-in clearing of deployment schedules, preserving existing behaviour and covering CLI and SDK compatibility.
  • Kloppy · Merged — Identified and fixed dataset filtering that unexpectedly changed player timelines and minutes played in the original dataset.
  • python-garminconnect · Merged — Traced broken HTTP 404 handling to missing response details and fixed empty-result handling for gear requests.
  • Stravalib · Merged — Updated token revocation for Strava's new OAuth endpoint, with authentication handling and regression tests.
  • DataBallPy · Merged — Identified and fixed failures when saving NumPy numeric game metadata to JSON, with save/load regression tests.
  • dlt · Open PR — Identified incremental state loss when switching between dictionaries and Arrow/pandas data; proposed a fix to prevent duplicate loads.

Pinned Loading

  1. runwx runwx Public

    Python data pipeline aligning running activities with weather observations.

    Python