🛠️ Engineering Challenges

A deep dive into the technical hurdles and solutions encountered during development.

Bulk Image Resizer Resolved

The Challenge: Memory Management

The Problem: Processing massive folders caused Python to crash due to RAM exhaustion.

The Solution: Switched to lazy-loading images and clear-memory garbage collection after each save.

Health Tracker App Resolved

The Challenge: Library Compatibility

The Problem: The latest Flet version had breaking changes and installation conflicts with the Python runtime.

The Solution: Performed a version rollback to an earlier, stable Flet release to restore UI rendering and functionality.

Patch Gap Auditor Resolved

The Challenge: API Performance

The Problem: Sequential vulnerability lookups for each package created significant network latency.

The Solution: Implemented the OSV querybatch endpoint to audit the entire environment in a single request.

UK Real Estate Scraper Resolved

The Challenge: Bot Detection

The Problem: The site kept blocking my Selenium requests after only 5-10 pages of data.

The Solution: Implemented custom User-Agent rotation and added random 'human' delays between clicks.

NHS Performance Dashboard Resolved

The Challenge: Data Cleaning & Standardization

The Problem: Inconsistent date formats and missing values in the raw healthcare datasets caused plotting errors in the dashboard.

The Solution: Built a preprocessing pipeline using Pandas to normalize datetime objects and apply forward-fill logic for missing metrics.

Geo-Loan UK Predictor Resolved

The Challenge: State Synchronization (Folium/JS)

The Problem: Python variables wouldn't update based on Leaflet.js map clicks, creating a disconnect between the UI and the backend.

The Solution: Injected custom JavaScript into the Folium header to bridge the gap via a Python-Flask endpoint for real-time state updates.

Bus App Resolved

The Challenge: Silent Failures (Kivy)

The Problem: Application would crash on launch with zero traceback or logs, specifically during the KV language parsing phase.

The Solution: Implemented a modular 'Build-and-Test' approach, isolating UI elements into separate files to identify the specific layout syntax causing the silent crash.