- Worked closely with other committee members to boost attendance at events. Anticipated their needs and took initiative, designing and distributing posters and other media prior to events.
- Adapted my schedule when old projects changed and when new projects started.
- Built responsive website with member and events management system using HTML, CSS, PHP, SQL and iCalendar as well as Slack and Mailchimp integrations to allow the committee to manage the society better. Used Google Analytics to monitor traffic and assess effectiveness of website content. Made adjustments accordingly.
- Co-founded and produced a science podcast, managing the technical aspects including the website, radio station, emails, RSS feed and editing and mastering the raw audio. Analysed email and website click-through rates to boost listening figures. I personally interviewed guests on occasions.
- Assisted with funding applications by recommending new podcasting equipment as well as participating in interviews for society awards. The society won 2nd most innovative society in St Andrews in 2017 primarily for the podcast.
- Implemented new advertising strategies including advertising through a Snapchat Geofilter and digital displays. Improved the society’s social media presence by migrating to a Facebook Page.
- Maintaining the CI/CD pipelines across various platforms including Azure Pipelines, GitHub Actions and CircleCI, and investigating and recommending new CI services.
- Configuring Python testing environments and ensuring unit tests are sufficient.
- Implementing new functionality, as well as fixing bugs and optimising existing code.
- Reviewing pull requests to maintain a high-quality, well-tested codebase.
Contributions to the ecosystem
- Being involved since the project’s inception, I developed most of the OpenAstronomy GitHub Actions workflows for testing, building, and publishing Python packages.
- These CI workflows are used extensively by the astrophysics community, including Astropy, SunPy, and the Space Telescope Science Institute who operate the Hubble Space Telescope and the next generation JWST. Notably, the workflows are used for testing the software pipeline that calibrates the raw images captured by the JWST.
- Maintaining other OpenAstronomy projects including Azure Pipelines templates and
- Advising projects on how to configure their testing and publishing infrastructure.
- Maintaining Matplotlib’s
pytest-mplplugin, with my significant development work including,
- Keep online content up-to-date and enhance its presentation.
- Manage content creation for the organisation’s membership scheme and assist with the scheme’s technical implementation. This involves participating in, and occasionally chairing, teleconferences and email discussions with project stakeholders around the world.
- Implement custom features into the website using PHP and document extensively. This allows routine tasks to be automated.
- Provide advice and assistance on procuring service contracts and on business matters.
- Secured funding to host a Software Carpentry workshop for postgraduate researchers within the School of Mathematics and Physics.
- Supporting and guiding students in the level-one Computational Physics course as they solve problems using Python. Most of the students are new to programming.
- Marking and providing feedback on assignments for the level-two Mathematical Physics course.
- I spent six weeks working in the Solar and Magnetospheric Theory group within the School of Mathematics and Statistics under the supervision of Prof. Alan Hood.
- My research project involved exploring the magnetohydrodynamics equations in the context of the Sun, investigating how a magnetic field behaves in the presence of a non-constant Alfvén speed, which introduces the process of phase mixing.
- Spent three months during Summer 2017 working on a project involving using a convolutional neural network to detect, from videos, fish swimming on the surface of sulfur water.
- Wrote a program that takes the fish detected by the neural network and connects the fish across frames in the video. It then filters out poor quality detections by setting a minimum number of frames a chain of detections has to be present in before it is considered to be a fish.
- My program significantly improved the reliability of the output from the neural network. This was proven by comparing the filtered detections with the detections from the neural network using annotated ground truth frames.
- Studied neural networks and retrained the existing neural network with new training data and different training parameters. I created multiple models then analysed their accuracy to find the optimal parameters.
- Used the Linux command line extensively and created Bash scripts to automate many tasks. Developed my skills using
Shadowing the Head of Operations and colleagues in the Beams Department. In September 2013, I was a CERN Mini Expo Guide explaining particle physics to primary and secondary school students in my city.
My research focused on energy dissipation in the atmosphere of the Sun. This involved designing numerical simulations, and processing and analysing large datasets to extract novel insights.
I created an open source Python package,
mcalf, which extracts velocity measurements from observations of the Sun.
By utilising machine learning techniques, the method adapts to the physics present in each region of the Sun.
Astrophysics Research Centre,
School of Mathematics and Physics
1st author | see all
Deans’ List — 2015/16, 2016/17, 2017/18, 2018/19
- Advanced Data Analysis
- Advanced Solar Theory
- General Relativity
- Magnetofluids and Space Plasmas
- Advanced Analytical Techniques
- Advanced Project in Mathematics
- Computing in Mathematics
- Introduction to Condensed Matter Physics
- Nuclear and Particle Physics with Advanced Skills
- Special Relativity and Fields
- Advanced Quantum Mechanics
- Mathematical Biology 1
- Solar Theory
- Thermal and Statistical Physics
- Complex Analysis
- Computational Physics
- Differential Equations
- Linear Mathematics 2
- Quantum Mechanics 1
- Lagrangian and Hamiltonian Dynamics
- Quantum Mechanics 2
- Techniques of Applied Mathematics
|Chemistry (AS only)||B|
GCSEs: 6 A*, 4 A & 1 B