About Me History Visualise GitHub Contact Tour

Portfolio


Skills and Experience

Python

Python for Data Science

  • Explored Python basic syntax and data types
  • Created and manipulated regular Python lists
  • Used functions and imported packages
  • Applied variables, loops, and control flows
  • Built Numpy arrays, and performed calculations
  • Created and customized plots on real data
  • Utilized the Pandas DataFrame
  • Explored Matplotlib and Seaborn visualizations
SQL Databases

Querying SQL Databases

  • Created Transact-SQL SELECT queries
  • Worked with data types and NULL
  • Queried multiple tables with JOIN
  • Used functions and aggregated data
  • Worked with sub-queries and APPLY
  • Grouped sets and pivot data
  • Implemented error handling and transactions
Excel

Excel Data Analysis

  • Developed databases using DAX and PowerPivot
  • Modelled business information
  • Built interactive dashboards using pivot tables
  • Utilized PowerQuery to ETL data from SQL Server
  • Automated tasks using Macros and VBA
  • Carried out What-If Analysis and Simulations
  • Used the Analysis ToolPak for statistics
  • Dealt with a wide range of formulas
Spark

Implementing Predictive Analytics with Spark

  • Used Spark to explore big data
  • Deployed models using the Spark ML library
  • Built and modeled recommendation systems
  • Explored data using Python, Scala and SQL
Statistical Analysis

Statistical Analysis

  • Sampling
  • Correlation
  • Distribution
  • Probability
  • Equations and Algebra
  • Vectors and Matrices
  • Hypothesis testing
Power BI

Power BI Data Analysis

  • Created real-time dashboards
  • Used the Query Editor for ETL
  • Automated ETL processes
  • Utilised DAX to create measures
  • Used PBI Embedded within a C# application
  • Explored a range of visualisations
  • Developed custom visuals using TypeScript
  • Utilised bookmarks and drillthroughs
  • Designed custom tooltips
  • Created solutions using URL filter query parameters
R for Data Science

R for Data Science

  • Basic R syntax
  • R programming; data types, vectors, factors
  • R operations; sorting, wrangling and plotting
  • Used lists and DataFrames to explore data
  • Created visualisations using ggplot2
  • Created web dashboards using Shiny
  • Explored RStudio IDE
Machine Learning

Machine Learning with Scikit Learn

  • Supervised and Unsupervised.
  • Linear regression, logistic regression,
  • random forests, naive Bayes,
  • decision trees, K-means clustering
CS50 Web Programming

CS50 Web Programming

  • HTTP IP/TCP, APIs
  • HTML, CSS, JavaScript and jQuery
  • PHP, Apache, MySQL
  • Flask, Django and Git
  • Security and Scalability
Frontend Libraries

Frontend Libraries

  • Modules representing 300 hours of coursework.
  • React and Redux.
  • Bootstrap, jQuery, Sass and Axios.
  • State and lifecycle methods.
  • Component-based design.
  • Completed SPA final projects
C# and ASP.NET Core

C# and ASP.NET Core

  • Built professional ASP.NET Core MVC apps
  • Applied OOP, SOLID and MVC design patterns
  • Created backend APIs for CRUD operations
  • Implemented a service layer and used DI
  • Used Entity Framework Core and LINQ
  • Deployed to Azure App Service using CI/CD
  • Integrated Nuget packages
Angular dashboard app

Angular

  • Introduction to building Angular SPAs
  • Subscribed to an ASP.NET Core Web API
  • Scaffolded components using the CLI
  • Used event emitters for child components
  • Implemented a service layer and used DI
  • Configured the Angular Router for routes
  • Wrangled data using map, reduce and filter
Java Spring Boot app

Java and Spring Boot

  • Introduction to building Spring Boot apps
  • Created a backend API for CRUD operations
  • Utilised Maven build tool
  • Implemented a service layer and used DI
  • Used Spring Data JPA to persist and modify data
  • Deployed to AWS Elastic Beanstalk using CI/CD
  • Developed an Angular frontend app to showcase
PHP Laravel logo

PHP and Laravel

  • Introduction to building PHP Laravel apps
  • Built a micro order management system
  • Used XAMPP for local development server
  • Used Artisan CLI for rapid development
  • Created dynamic templates using Blade
  • Enabled user authentication using Laravel UI
  • Integrated a MySQL database with Eloquent models
Nuxt

Nuxt and Jamstack

  • Deployed static blog site to Netlify
  • Applied Jamstack architecture principles
  • Integrated the Nuxt Content module
  • Optimised the site for search engines
  • Configured automated deployment pipeline
  • Created a custom website analytics solution
Rails

Ruby on Rails

  • Introduction to building Ruby on Rails apps
  • Applied OOP and MVC design patterns
  • Scaffolded models
  • Intepolated data within views
  • Integrated Gem packages
  • Built job board web app with Stripe payments
Gulp

Gulp Task Runner

Experience with both Gulp and Grunt to automate:

  • Compilation and transpilation of JavaScript files
  • Transpilation of SCSS into CSS
  • Concatenating JavaScript and CSS files
  • Optimising and compressing images
  • Moving files between folders
  • Running unit and integration tests
  • Compiling templated HTML such as Nunjucks
Agile

Agile Software Development

  • The key agile ideas
  • Agile principles, roles, practices, and artifacts
  • Pros and cons of the most popular agile methods
  • How to benefit from agile methods in general
MIT Computer Science

Computer Science and Programming using Python

  • Computational thinking
  • Algorithms
  • Data Structures
  • Object Oriented Programming
  • Testing and debugging
Cloud computing

Cloud Computing

  • Deployed apps to Azure App Service and AWS Elastic Beanstalk
  • Managed provision and scaling of cloud SQL databases
  • Created storage accounts in Azure Blob Storage, AWS S3 and Google Firebase
  • Enabled secrets management using Azure KeyVault and AWS KMS
  • Deployed FaaS using Azure Functions and AWS Lambda
  • Deployed Docker images using AWS Elastic Registry
Docker and containers

Docker & Containers

  • Introduction to Docker and Containers
  • Used Docker CLI and Docker Desktop to run containers
  • Set up dockerfile and base images
  • Utilised volumes to share data between containers & host
  • Explored caching and layers while building images
  • Deployed image to AWS ECR - a Docker (container) registry
Azure DevOps

Azure DevOps

  • Used Azure Repos to collaborate with others
  • Practised agile using Azure Boards
  • Practised BDD and TDD
  • Developed build pipelines for CI/CD
  • Integrated automated testing
  • Created releases pipelines for deployment
  • Improved full-stack development workflow
Microsoft Data Science Program

Microsoft Professional Program in Data Science

  • Used Microsoft Excel to explore data
  • Used SQL to query relational databases
  • Created data models using Excel & Power BI
  • Applied statistical methods to data
  • Used Python to explore and transform data
  • Applied a data science methodology
  • Created and validated machine learning models
  • Applied data science techniques
  • Implemented machine learning solutions
BA Criminology and Sociology

2:1 BA Criminology and Sociology

Joint Honours Undergraduate Degree over 3 years involving multidisciplinary learning across criminal justice, politics, economics, philosophy, research methods, statistics, history, psychology and industrial relations. Final year dissertation focused on statistical and theoretical review of effect on prisoners leaving the criminal justice system and policy research on positive indicators in desisting from criminality.

This has led to positions in business and later a career in the Public Sector alongside a voluntary position of mentoring former offenders to encourage re-integration into the community.

CS50 Computer Science

Introduction to Computer Science CS50

  • Built a broad understanding of programming
  • Applied algorithms to problem solving
  • Programmed in C, Python, SQL, JS
  • Applied variables, loops, and control flows
  • Explored data structures; arrays, linked lists, tries
  • Explored security, networks and AI
  • Software engineering - MVC, MDE, FDD
  • Used JS, jQ and Ajax for web development
  • Earned 90% on 9 programming assignments
ILM

Award in Leadership and Management Level 2

  • Core skills to lead successfully
  • Motivation techniques to lead others
  • Confidence in tackling difficult issues
  • Tools to further develop as a leader
  • Frameworks to assess and improve performance
freeCodeCamp Developer Certification

freeCodeCamp Developer Certification

  • Modules representing 300 hours of coursework.
  • JS Algorithms and Data Structures course.
  • ES6, Regular Expressions, Debugging.
  • Object Oriented and Functional Programming.
  • Algorithm Scripting.
Government Statistical Service (GSS)

Government Statistical Service (GSS)

The GSS is a community working in the collection, production and communication of official statistics to help government, business and the public make informed decisions. The GSS is made up of statisticians, data scientists, researchers, economists, policy experts, business support teams, data journalists, data visualisation experts, methodologists, media experts etc.

The GSG is made up of the statisticians and data scientists working in government who have passed a GSG badging exercise. This can be done as part of the interview process or you can “go through badging” when you are already working in the GSS.

theDataLog Django Website

theDataLog Django Website

A course and blog website built using Django, Python and PostgreSQL. Deployed using a Linode Ubuntu Linux container. Features included:

  • Security and user login
  • HTTPS Let's Encrypt
  • Object-relational mapping
  • Integration to Google Sheets API
  • Statistics on user progress with ChartJS
  • Clean design principles
theDataLog Django Website

CS50 Final Project - ML Flask App

The project was to create a machine learning web application which predicts the probability of surviving the famous titanic ship-wreck based upon user input variables and the training dataset from Kaggle. This combined both CS and machine learning skills to deploy a Flask app to Heroku. In addition, I built an automated web driver script to speed up testing.

Help Me Apply

Interview Club MERN App

A project to find and share answers to interview questions. Built using MongoDB, React, Express and Node.js

  • JWT authentication and user login
  • Built backend API using Express
  • Used React and Redux for component state
  • Implemented protected routes with React Router
  • Persistance layer built with NoSQL MongoDB
  • Integrated to controller / ODM using Mongoose
Help Me Apply

Help Me Apply - NLP

A project I built with NLTK and Python Flask to scrape job applications and analyse their keywords usage. Deployed using Heroku and GitHub.

Almanac Dashboard

UK Almanac Dashboard

A project I built with Python Flask, Bootstrap and jQuery to present statistics on the UK in a Tropico almanac fashion. Deployed using Heroku and GitHub. Features include:

  • Web scraping - Daily briefing from The Week
  • API data calls
  • Mapping with Leaflet
  • Graphing with ChartJS
Pyflix Vue Electron App

Pyflix Movie App

A cross platform electron-vue desktop application to display movie information using OMDB of the files stored in a directory. The built application can be used by downloading and running the folders and Setup exe below via OneDrive. Please note you accept any risk in downloading and using this software.

  • Node.js
  • Vue
  • Electron
  • Vuex and Vue Router
  • Cross-platform deployment
  • Windows, macOS and Linux
House Prices Machine Learning

House Prices Machine Learning

A project completed on Kaggle whilst completing the Microsoft Professional Certificate in Data Science. I built a ML regression model to predict house prices in Aymes, Iowa. I demonstrated CRISP-DM (cross-industry standard practice in data mining) to explore, model and evaluate the solution which scored highly upon submission.

Numerical Assessment App

Numerical Assessment App

The project was to create a numerical assessment test from printed PDF materials I purchased from Assessment Day a few years ago. This project is for personal use for the purposes of learning.

News Rewind Web App

News Rewind Web App

A project I built using HTML, CSS and jQuery to decorate a Google News URL to gather five years worth of a news story to see how it has developed over time. This is very useful in a time of information overload, we are quick to forget key events that happened years ago so this allows a user to review previous articles.

Savings Calculator Web App

Savings Calculator Web App

A project I built using HTML, CSS and JavaScript to forecast how many years it will take to reach x25 your annual expenses, and to show you your savings rate.

I used auto-calculating fields on key-up, HTML DOM, variables, functions, while loops and arithmetic operators and increased my understanding in applying algorithms and equations to problems.

Wikipedia Search App

Wikipedia API App

Inspired by the challenge at FreeCodeCamp, the app uses the Wikipedia API open search endpoint to pull back requests. The user stories were; I can search Wikipedia entries in a search box, and I can click a button to see a random Wikipedia entry.

I used HTML, CSS, JavaScript, AJAX and JSON and developed knowledge on manipulating URLs and arrays alongside DOM manipulation.

Shiny Dashboard App

Shiny Dashboard - Customer Satisfaction

The project was to create an interactive dashboard which displayed a dataset based upon telephony information (Software company's service center). This would allow insight into demand, customer insight, satisfaction and performance management information.

Random Quotes Machine

Random Quotes Machine

A quick project to implement a random programming quotes generator using AJAX to call an open API; credit to skolakoda.

There are functions for viewing a quote author's Wikipedia page, alongside a decorated URL function to tweet the quote.

Hello, World! Travel Website

Hello, World! Travel Website

A website to present my hobby of traveling, built for CS50 Pset 5. I used mostly HTML, CSS and Bootstrap4 to build this simple mobile-optimised site with a function for the I'm Feeling Lucky random page button using JS and jQuery. I used the W3C Markup Validation Service to error check the code as per the project specification..