Portfolio

Every project, written up end to end.

Dashboards, pipelines and automation delivered for sales, operations and finance teams — the brief, the build, the numbers that moved. Filter by tool, or search for the problem you are trying to solve.

  • 10 projects shown
  • 10 organisations
  • 2024–2026 delivery window

Skip to the project grid

Illustrative marks an anonymised, representative scenario rather than a named client engagement — the shape of the work and how I approach it, not a delivered result. Everything without that mark is real, named work.

10 of 10 projects

Screenshot of the Freelance Automation & BI Solutions dashboard: three headline metric cards above a bar chart of manual hours per week across the automated processes, 38 hours/week at Baseline down to 7.5 by Wk 14. Freelance BI Suite
PYTHON · RPA · SQL

Freelance Automation & BI Solutions

Freelance 2024 — Present 5 min read

End-to-end data and automation delivery for small European teams — from first consultation to a deployed pipeline they own.

Annualised labour cost returned
€39k
Hours given back each week
30.5h
Handed over, documented, owned
100%
  • Python (Pandas, Playwright, Selenium)
  • SQL
  • Google BigQuery
  • Power BI
  • n8n
  • Git
Screenshot of the Drawing-to-CAD Conversion Pipeline: three headline metric cards above a bar chart of hours to convert one drawing set, 11 hours at Baseline down to 2.5 by Wk 8. DraftLift Illustrative
AI · AUTOMATION

Drawing-to-CAD Conversion Pipeline

Cork AI Consulting · architecture practice 2026 6 min read

Hand-drawn and scanned plans turned into dimensioned, editable CAD geometry — with the dimensions checked, not guessed.

Annualised drafting cost returned
€32k
Drafting hours returned each week
17h
Dimensional tolerance
±2mm
  • Python (OpenCV, NumPy, Shapely)
  • PyTorch
  • FastAPI
  • DWG/DXF export
  • PostgreSQL
Screenshot of the Document Intake & Triage Service: three headline metric cards above a bar chart of median intake turnaround, 60 hours at Baseline down to 3 by Wk 7. IntakeLens Illustrative
AI · AUTOMATION · CLOUD

Document Intake & Triage Service

Cork AI Consulting · professional services firm 2026 6 min read

Inbound client documents read, classified, key fields extracted and routed to the right queue — with a confidence floor and a human path.

Annualised administrative cost returned
€21k
Administrative hours returned each week
12h
Field-extraction accuracy
94.5%
  • Python (spaCy, pdfplumber, scikit-learn)
  • Claude API
  • FastAPI
  • PostgreSQL
  • Cloud Run
Screenshot of the Ocean Drones — Autonomous Marine Data Platform: three headline metric cards above a bar chart of species classification accuracy by training round, 64 % top-1 accuracy at Baseline up to 91 by R8. DriftWatch
PYTHON · ML

Ocean Drones — Autonomous Marine Data Platform

FIAP Final-year project · FIAP 8 min read

A full-stack platform that deploys autonomous marine drones, streams their sensor telemetry and classifies the species they photograph.

Value returned
No lab trips
Survey turnaround
Same day
Top-1 classification accuracy
91%
  • Python
  • Scikit-learn
  • TensorFlow
  • FastAPI
  • PostgreSQL
  • JavaScript
Screenshot of the Demand Forecasting for an Irish Retail Group dashboard: three headline metric cards above a line chart of weekly forecast error (MAPE), 22.4 % MAPE at W1 down to 15.5 by W12. ShelfPulse Illustrative
PYTHON · ML · POWER BI

Demand Forecasting for an Irish Retail Group

Grocery & convenience group, Munster 2025 7 min read

SKU-level weekly forecasting across 34 stores, replacing a spreadsheet that ordered on last year’s numbers plus a feeling.

Annualised fresh waste avoided
€214k
Buyer hours returned each week
6h
Forecast error (MAPE)
−31%
  • Python (Pandas, scikit-learn, LightGBM)
  • SQL
  • Power BI
  • Azure Blob Storage
  • Excel
Screenshot of the Subscription Churn Early-Warning Scoring dashboard: three headline metric cards above a line chart of monthly logo churn in the worked cohort, 1.9 % of accounts at Jan down to 1.39 by Oct. ChurnRadar Illustrative
PYTHON · ML · CLOUD

Subscription Churn Early-Warning Scoring

B2B SaaS, Dublin 2025 6 min read

A daily churn score for 8,400 B2B accounts that gives customer success three weeks of warning instead of a renewal-week surprise.

Accounts retained each month
43
Median warning before a churn event
23 days
ROC AUC, calibrated
0.81
  • Python (Pandas, scikit-learn, XGBoost)
  • BigQuery
  • Cloud Run
  • dbt
  • Looker Studio
Screenshot of the Month-End Close Automation dashboard: three headline metric cards above a bar chart of working days to close, by cycle, 9 working days at Baseline down to 3 by Cycle 6. CloseFlow Illustrative
AUTOMATION · PYTHON · SQL

Month-End Close Automation

Manufacturing group, five entities 2025 6 min read

A nine-day month-end close cut to three, by automating the reconciliation and consolidation steps rather than asking people to work faster.

Annualised finance cost returned
€60k
Manual hours saved per close
142h
Idempotent jobs replacing 61 manual steps
9 jobs
  • Python (Pandas, openpyxl)
  • SQL Server
  • Excel
  • Power Automate
  • Git
Screenshot of the Live Logistics Control Tower: three headline metric cards above a line chart of on-time-in-full delivery, 88.9 % OTIF at Wk 1 up to 98.3 by Wk 19. RouteWatch Illustrative
POWER BI · SQL · CLOUD

Live Logistics Control Tower

3PL operator, Cork & Rotterdam 2026 6 min read

One live view across four carriers and two hubs, so a delayed consignment is a phone call the same morning instead of a claim three weeks later.

On-time-in-full delivery
+9.4pp
Operations hours returned each week
10h
End-to-end data latency
11 min
  • Power BI
  • SQL Server
  • Azure Data Factory
  • Azure SQL
  • Python
Screenshot of the NLP Triage of Inbound Clinic Enquiries dashboard: three headline metric cards above a line chart of median first-response time on routine enquiries, 6.2 hours at Wk 1 down to 1.6 by Wk 12. TriageLens Illustrative
PYTHON · NLP · AUTOMATION

NLP Triage of Inbound Clinic Enquiries

Private clinic group, Leinster 2026 7 min read

Classifying and routing 1,900 inbound enquiries a week, with a hard rule that anything clinical or uncertain goes to a human immediately.

Annualised reception cost moved to patient-facing work
€13k
Reception hours returned each week
14h
Routing accuracy
96.2%
  • Python (spaCy, scikit-learn, sentence-transformers)
  • FastAPI
  • PostgreSQL
  • Microsoft Graph API
Screenshot of the Anomaly Detection on Building Energy Telemetry dashboard: three headline metric cards above a bar chart of median time to detect an energy anomaly, 1512 hours at Baseline down to 4.2 by Wk 14. GridWatch Illustrative
PYTHON · ML · CLOUD

Anomaly Detection on Building Energy Telemetry

Commercial property portfolio, 62 buildings 2026 7 min read

Unsupervised detection across 1,480 meters that finds a failing plant item in hours instead of at the quarterly bill.

Annualised energy waste identified
€318k
Median time to detect an anomaly
4.2h
Alert precision
68%
  • Python (Pandas, scikit-learn, statsmodels)
  • BigQuery
  • Cloud Functions
  • SQL
  • Looker Studio
Next step

Got a reporting problem that looks like one of these?

Send me the shape of it — the data you hold, the decision it should support, the deadline. You will get an honest read on scope and sequencing, and whether it is a dashboard problem or a data problem.

Back to the top of the portfolio