The brief
Problem, approach, result.
Problem
Match results and odds were scattered across thousands of pages, useless for analysis until someone turned them into structured data.
Doing that by hand, across multiple seasons and competitions, was a non-starter.
Approach
- Crawled results and odds pages across competitions and seasons, respecting the site’s structure.
- Parsed each match into structured rows, teams, scores, dates, odds, and validated them.
- Exported analysis-ready datasets ready to drop straight into modelling.
Result
A clean historical dataset replaced thousands of unstructured pages, ready for analysis and modelling.
What would have been weeks of manual collection became a repeatable, re-runnable export.
Want results like these?
Send me the details of your project and I'll come back with specifics within 24 hours.
More work

Online-pharmacy price monitoring (Gemini.pl)
Real-time tracking of 100k+ products, trend analysis, and change alerts. Purchasing costs cut 25% via historical analysis.
Python · Web Scraping · FastAPI
Case
Drug price & availability monitoring (PGF, Neuca24)
A system pulls prices and stock daily from Poland’s two largest pharmaceutical wholesalers, runs a comparison, and exports to Excel, supporting purchasing decisions.
Python · SQLite · FastAPI
Case
Back-office automation (Zabezpiecz Auto)
Automated processing of ING bank statements and installer payroll across 15+ parameters, integrated with ClickUp.
Python · FastAPI · Make.com
Case