Skip to content

Work

Projects and research

Research, applications, and coursework spanning language models, climate, energy, and data science.

Research and machine learning

AutoGate-QLoRA: URL-only ad generation

Master’s research on generating short advertising headlines and descriptions from a landing-page URL while training only a small part of a language model.

  • Built a pipeline for data preparation, adapter training, structured generation, and evaluation. The model uses the URL text without reading the page.
  • The current adapter-selection protocol is implemented and tested on CPU; the full GPU comparison is the next research step.
PythonPyTorchQLoRANLPEvaluation

SPEI drought forecasting in Sri Lanka

A benchmark for predicting next month’s drought index at three Sri Lankan locations, rebuilt from undergraduate research.

  • Rebuilt the analysis around chronological evaluation, simple baselines, saved predictions, and uncertainty estimates.
  • Ridge regression reduced average forecasting error for both drought indices in the historical benchmark. Drought-detection results differed between the two targets.
Climate dataSPEIRidge regressionTime series

Australian electricity demand forecasting

Predicts measured operational demand for the next half hour across Australia’s National Electricity Market (NEM), using public AEMO data.

  • Checks measured demand from all five NEM regions and compares random forest and XGBoost with three simple baselines.
  • On 612 test forecasts from the October–December 2024 pilot, random forest achieved a mean absolute error of 177.94 MW, compared with 487.30 MW for persistence.
Energy dataForecastingXGBoostPython

Investor Assistant RAG

Evaluation work for a team-built retrieval assistant developed during RMIT coursework.

  • Authored the retained rag_eval package, including evaluation code, per-query and cohort summaries, plots, and documentation.
  • Compared generated answers using ROUGE-Lsum text-overlap scores and Sentence-BERT similarity across retrieval depths of 1, 3, and 5 documents.
  • Reported refusal indicators for questions outside the knowledge base. My contribution covered evaluation; the broader application was team work.
RAGNLPSentence-BERTEvaluation

Applications and visualisation

Global Energy Transition Dashboard

An R Shiny dashboard exploring how national electricity mixes changed from 2000 to 2024.

  • Combines country maps, time-series charts, country comparisons, and regional summaries in an interactive interface.
  • Uses a documented Our World in Data snapshot, with source definitions and reproducible data transformations. Coverage varies by country, year, and indicator.
RShinyEnergy dataData visualisation

Fashion Store Review App

A Flask application for browsing clothing reviews and predicting whether a review recommends an item.

  • Connects a saved text classifier to a web interface and JSON API, with category search, review browsing, and input validation.
  • The local demonstration stores newly added reviews in memory. The repository documents the retained dataset, model, API, and application tests.
PythonFlaskText classificationAPI