Scanning the QR code will let you control the website with your phone. Bonus: If you hide your phone while someone is watching, you will look like a wizard!

About Me

Hi! I'm Emma and I am a software developer. I'm passionate about machine learning, computer vision and all things data . I am currently working on training demand prediction models in the accommodation industry. I have First Class MSci in Computing Science with specialization in machine learning from University of Glasgow. My projects include building a computer vision pipeline to support the urban ecology department and creating an open source library to turn smartphones into game controllers.

In my free time, I volunteer at a local bird ringing group, paint (mostly birds) and play chess. I've been playing for 13 years, I am two time national chess champion and I've represented my home country at many international competitions including World Youth Chess Olympiad and European Chess Championships. I am also a former president of the Glasgow University Chess Society. Even made it to a local newspaper.


Skills

  • Python
  • Pytorch + Tensorflow
  • Computer vision
  • Machine/Deep learning
  • Matplotlib/ Seaborn/ Plotly
  • Javascript
  • PHP
  • SQL
  • R
  • C#
  • Adobe Illustrator
  • Unity + Blender basics


Github     Linkedin

Portfolio

In this section, you will find all my previous major projects and internship experience.

Blue Tit Computer Vision for Ecology

For my MSci project, I created a computer vision pipeline to aid biodiversity scientists with processing nesting data. The data consisted of hundreds of hours blue tit nest box recordings. The goal was to identify the types of food bird parents bring to their nestlings. This is currently done manually and is very time consuming. The pipeline I developed has 69% accuracy at food classification as either caterpillar or other insect. Furthermore, the pipeline is capable saving frames of the bird entering the nest boxes making it easy and convenient to verify the predicted labels.

I presented my project as a poster at 14th European Ornithologists' Union Congress in Lund, Sweden. This project also won MSci Project Prize for the Most Outstanding Project in Level 5 in Session 2022-23. There is an ongoing work being done to improve the performance with the aim to publish this project.

SmartControllerJS

During my summer internship in 2021 and as my 4th year individual project I created an open source library to harness the power of smart phones. This library allows others to to create remote controllers that do not require any expensive equipment or software installations. The idea is to turn any phone into a controller such as a joystick, a NES controller, a voice controller or hand tracker, by scanning a single QR code on a webpage. Only a few lines of code are required to get started.

During this project, I learnt how to create well structured and useful code documentation but also improve usability and functionality by working with users of the library. This work was published on arxiv .

If you want to try it yourself, scan the QR code on the mini game (your reward for making it this far) or the one on top of the page.

Tower Builder App

For my 3rd year university group project, I worked in a team of 5 people to create a phone app called Tower Builder. The goal of this app was to motivate students to attend lectures, be part of student societies and spend time studying. Each of these activities would be rewarded by a certain amount of in app currency allowing the student to purchase new blocks for their tower.

The app was built in Unity and I created all the 3D tower pieces (30 models in total) and landscape in Blender. I was also in charge of the coding the shop system for purchasing new blocks.

Geological Simulations

Between 2020 and 2021 I created mathematical-geological simulations for a geology masters course at Friedrich-Alexander-University in Erlangen-Nürnberg. First, I created interactive simulations in JavaScript that could be embedded in a Moodle style textbook so that students can better understand the concepts in each chapter. These simulations allowed them to play with various parameters and see the corresponding effects. The simulations I made include Forest fire, Potts model, Ising model, and diffusion model .

The second task was to create learning notebooks to teach the students the programming principles behind the simulations. For this, I made Jupyter notebooks hosted on Binder. The exercises were focused on Game of life, Abelian sandpile, fracturing and finite difference. There were empty sections for students to fill in, which once completed, would display the final simulation.

Here you can try the Potts model simulation.

Bird Ringing

Since October 2021, I've been part of Clyde Ringing Group. The goal of the group is to monitor bird population and track migration. This is done by attaching a small metal ring with a unique id to the bird's leg. When the bird is caught or seen again later we can track where it goes and how long it lives.
During the breading season, the group also carries out nest box checks. This data is used in studies that compare urban and forest bird survival. Furthermore, putting up new nest boxes is beneficial for the birds as they provide more nesting spaces. All of the collected data is very important for bird conservation and for understanding bird behaviour.

Please note that this work is done under the supervision of licensed professionals and is safe for the birds.