About Me.

Dom profile image
Hey, I'm Dom!
I'm a passionate, detail-oriented software engineer with huge aspirations in the field! I love to study all areas of tech and I'm always pursuing new and exciting challenges.
Nice to meet you.

I'm a Mathematics graduate very interested in Python software development, machine learning, and more recently, frontend development.

My interest in technology and programming began in 2012 when I started learning Objective-C and trying to make basic iOS games. And to this day I’ve never really stopped coding! It’s been a continuous learning journey that’s seen me working with a plethora of languages including Swift, Python, MatLab, C#, JavaScript, TypeScript, Pascal, HTML, CSS, SQL,…

At present you'll generally find me pursuing passion projects on just about anything I find interesting! Recently this has involved some tasks aimed at introducing me to fundamentals of machine learning, and also frontend projects (such as this site!).

When I'm not busy coding I'll most likely be practicing Latin and Ballroom dance, at a pub quiz, or out in the park enjoying the summer sunshine!

Dom on graduation day
Skills.
BlenderC SharpCSSHTMLJavaScriptLinuxMatlabNextJSNumpyWebGLPandasPascalPythonReactscikit-learnScipyThreeJSTypeScriptGitHubTensorflow

My strongest skills are in Python programming. I first used the language over five years ago and now have a strong grasp on it's fundamentals. I have experience with packages such as numpy, scipy, pandas, and scikit-learn (which I have even contributed to!). These have helped me complete various projects such as making a Shazam clone, or producing machine learning models.

I'm fortunate to have had the chance to gain exposure to a wide range of other languages such as JavaScript, which I used to produce a video game scene; MatLab for mathematical problems such as coding ODE solvers or matrix manipulations; C#, which was one of the languages I covered first (at age 15) because I wanted to make simple mobile games in Unity! Having this past experience of various languages makes it far easier to pick up new languages and technologies nowadays!

My Work

Featured Projects.

Shazam Clone in Python
This was a project that involved researching the inner workings of Shazam! It required independently implementing a very complicated algorithm, from just a text description. There were three main sub-problems to tackle: audio processing, database generation, and efficient database lookup. I learnt lots of new skills including recording audio, downsampling, frequency filtering, discrete fourier transform algorithms, methods of hashing for efficient data retrieval, etc.
Technologies used:
PythonNumpyScipy
Shazam Clone Project Thumbnail
Machine Learning with Adult Dataset
This project involved a large amount of data processing, to manipulate the data into a form suitable for Machine Learning. I covered various techniques such as imputing missing values, encoding categorical variables, and scaling numeric values. I then tested various models on the data to find the most appropriate to the classification task. I found it a challenging but very rewarding project which greatly increased my confidence with data processing.
Technologies used:
PythonPandasscikit-learnNumpy
ML for Adult Dataset Project Thumbnail
JavaScript Video Game Environment
This was a project focused around WebGL, Blender and ThreeJS. I created a snowy forest at night which the player can explore with a torch. There's a cabin in the center which can be entered. I produced some of the 3D models myself using Blender, including the torch and chairs in the cabin. I learnt lots about how to build scenes and code lighting into them using ThreeJS and WebGL. I also learnt about coding native WebGL shaders, which I used to implement the snow, for performance reasons.
Technologies used:
JavaScriptThreeJSWebGLBlender
JavaScript video game scene of a snowy forest at night
Python Flask URL Shortener
I built this project using Python, Flask and SQLite. It's a Flask web application which takes a user input of a lengthy URL, generates a random short string, and then outputs a short URL that redirects to the original long URL. I'm storing the mappings between the long and short URLs in an SQLite database, for which I also used SQLAlchemy. For the web page itself I created an HTML template which incorporated Jinja and TailwindCSS.
Technologies used:
PythonFlaskTailwindCSSSQLAlchemy
URL Shortener website built with Flask
My Writing
Let's Chat!

Contact Me.