02 + +

Section 02 / 04 · Selected work

Professional, personal, tools, university.

The same story-led approach across every context, whether it's client work, a side build, a small live tool, or coursework.


01 Professional

Professional · 2025 Call Observation Analytics, Privacy-Safe Performance Insight Enterprise call observation platform with aggregated dashboards, text analytics on reflection notes, and leadership-ready demo narratives, with a minimum five-person aggregation floor enforced in the schema. Python · Flask · SQLAlchemy · SQLite Open project → Professional · 2025 Skill Similarity Engine, Workforce Mobility at Scale Precomputed job-to-job skill similarity for enterprise workforce planning, with BI-ready outputs and career mobility insights across tens of thousands of roles. Python · pandas · scikit-learn · Power BI Open project → Professional · 2025 Workforce Intelligence, From Movement History to Career Pathways Enterprise workforce analytics combining historical position transition detection with skills-based career pathway recommendations, and configuration-driven synthetic data so iteration never waits on production extracts. Python · pandas · YAML · Domain-Driven Design Open project → Professional · 2024 I Read 5,000 Books in 30 Minutes Better course recommendations for an enterprise learning programme, by grading capability text against a 5,000-book complexity benchmark before any NLP matching ran. Python · Natural Language Processing · TF-IDF Analysis · Project Gutenberg API Open project → Professional · 2024 Client File Processor, Eight Days Collapsed to Twenty-Eight Minutes An automated pipeline that ingests hundreds of large CSV and Excel extracts each month, validates structure and quality, standardises date formats, and feeds Power BI without manual touchpoints. Python · Pandas · Jupyter Notebooks · Data Processing Open project →

02 Personal

03 Tools

04 University

University · 2025 Costing a Control Decision, When the Right Answer Is Don't Buy It Quantitative cost-benefit analysis of six threat and control pairs for a retailer, producing an ROI per control, one clear recommendation against spending, and a budget that cannot cover everything worth doing. risk analysis · ALE modelling · cost-benefit analysis · ROI Open project → University · 2025 A Weighted Framework for Choosing What to Build Six-dimension scoring across five candidate technologies for a healthcare network, built so that the most impressive option cannot win on impressiveness, which is exactly what happened to AI. evaluation framework · weighted scoring · tech assessment · roadmapping Open project → University · 2025 Three Chatbot Platforms, Built Rather Than Reviewed The same healthcare booking assistant implemented three times, on Flow XO, ManyChat and Amazon Lex, to test the no-code claims against what the build actually required. Amazon Lex · Flow XO · ManyChat · conversational design Open project → University · 2025 Data Governance for a Board, Four Jurisdictions and One Framework A governance assessment for a healthcare provider expanding into the UK, India and the US, mapping compliance exposure per region and translating it into something a board can approve rather than a control list it will not read. data governance · regulatory compliance · risk assessment · board reporting Open project → University · 2025 M&A Target Screening, What Actually Predicts Growth A gradient boosting model that screens acquisition targets from SEC filings, and the finding that upended the brief, balance sheet discipline predicts growth while revenue metrics predict almost nothing. Python · scikit-learn · pandas · SMOTE Open project → University · 2025 Analytics Capability Transformation, From Maturity Score to Change Plan A three-part arc for a financial services firm, assessing analytics maturity against a capability model, building the talent strategy the gaps implied, then turning both into a Kotter-based transformation plan with dated deliverables. CMM assessment · change management · Kotter's 8-step · stakeholder mapping Open project → University · 2024 Indigenous Land Management and Educational Outcomes: Two Public Datasets, One Tidy Table Joining the Australian Indigenous Land and Forest Estate dataset with ABS census education data into a single tidy long-format table, and being clear about what the resulting join can and cannot be asked. R · tidyverse · data wrangling · statistical analysis Open project → University · 2024 Streaming Recommendation Engine, Did the New One Move the Needle? An A/B impact analysis of a new recommender on a streaming service, with hours watched as the dependent variable, controlling for the age imbalance the test assignment left behind. R · tidyverse · ggplot2 · regression analysis Open project → University · 2024 Synthetic Data Generation, Building a Teachable Dataset from Scratch Generating a two-table ride-share dataset in R with correlated variables, planted missing values and known outliers, then running the full merge, understand, manipulate, scan and transform pipeline against it. R · tidyverse · ggplot2 · statistical analysis Open project → University · 2024 Flu Vaccination Analysis, Reading the Numbers Honestly Five statistical exercises in R, from a binomial confidence interval on flu-trial data to a one-way ANOVA on promotional scenarios, each reported in the language a decision-maker can actually act on. R · tidyverse · ggplot2 · hypothesis testing Open project → University · 2024 Employee Attrition Clustering, Finding the Group That Leaves Unsupervised segmentation of 1,470 employee records with KMeans and DBSCAN, which separated out a 349-person cluster resigning at three times the rate of everyone else, and a variable that stops meaning anything once you condition on it. Python · pandas · scikit-learn · KMeans Open project → University · 2024 Interactive Data Visualisation, A Shiny Exploration Surface An R Shiny dashboard over 76 years of Australian Consumer Price Index data, with a quarterly date range, eight capital cities and eleven expenditure groups the reader can select between. R · Shiny · flexdashboard · plotly Open project → University · 2024 SMS Spam Classification, When 94% Accurate Misses Four in Ten An NLP pipeline over 5,351 text messages where the highest-accuracy model was the worst spam filter, and rebalancing the training data raised spam recall from 60% to 87% while accuracy went slightly down. Python · scikit-learn · NLTK · SMOTE Open project →
KJ·OS v4 · content/projects Work · 02 / 04
↩ Return to the experience