Index

Selected work.

Each case study follows the same structure: context, question, method, findings, and what I would do next. Written up the way I’d want to read someone else’s — method included, not just the result.

Text Analyzer Pro setup screen showing dropzone, vectorizer options, and clustering controls

012025

Text Analyzer Pro

Private, analyst-friendly text clustering for spreadsheet data.

Passing tests
187
Clustering models
4
Privacy model
Local
  • Python
  • PySide6
  • scikit-learn
  • NLP
Titanic survival heatmap comparing passenger class and sex

022025

Titanic Survival Analysis

A familiar dataset pushed beyond familiar conclusions.

Passengers studied
1,309
Survival odds ratio
11.3×
Passing tests
49
  • Python
  • pandas
  • scipy
  • Chart.js
TicketAudit overview screen showing file summary, column mapping results, and audit status

032026

TicketAudit

Offline desktop tool for auditing ITSM ticket exports — handles 100k–300k row files that choke Excel.

Passing tests
~640
Rows in 8.4 s
300k
Languages detected
33
  • Python
  • PySide6
  • pandas
  • Lingua
  • pytest

Side projects

Independent builds made outside my main work.

Atomic Focus application dashboard showing the AI Pomodoro timer, task breakdown, and ambient sound mixer

2026

Atomic Focus

Free AI Pomodoro timer that breaks overwhelming tasks into atomic steps and blends ambient sounds for deep work.

Public access
Free
Ambient soundscapes
6+
Session storage
Local
  • React
  • TypeScript
  • AI Task Breakdown
  • Web Audio API
  • Tailwind CSS

In progress

2026Planned

Power BI reporting model

A published, end-to-end semantic model demonstrating the BI half of my work.

  • Power BI
  • DAX
  • Data modelling

2026Planned

SQL analytics warehouse

A reproducible SQL transformation layer with tested models and documented lineage.

  • SQL
  • dbt
  • Data quality