Matthew Craven, Developer in Alloa, United Kingdom
Matthew is available for hire
Hire Matthew

Matthew Craven

Verified Expert  in Engineering

Software Developer

Alloa, United Kingdom

Toptal member since January 31, 2022

Bio

Matthew is a full-stack developer specializing in Python and React. He has worked on various projects ranging from a custom programming language for automated chemistry to a web application for live control of chemistry robots to an end-to-end encrypted cloud storage application web app. He has a Ph.D. in software engineering applied to automated chemistry, industry experience working on very challenging front-end projects, and an excellent ability to quickly learn new skills.

Portfolio

Nord Security
JavaScript, TypeScript, ECMAScript (ES6), React, Redux, Sass, Webpack, Jest
University of Glasgow
Python, JavaScript, GraphQL, REST, Socket.IO, React...

Experience

  • Python - 5 years
  • React - 3 years
  • CSS - 3 years
  • HTML - 3 years
  • JavaScript - 3 years
  • Flask - 2 years
  • TypeScript - 2 years
  • GraphQL - 1 year

Availability

Part-time

Preferred Environment

Linux, Python, React, TypeScript

The most amazing...

...thing I've developed is a web application for programming and live control of automated chemistry robots.

Work Experience

Front-end Developer

2021 - 2022
Nord Security
  • Worked with multiple teams to deliver bug fixes, UI fixes, and new features quickly and reliably.
  • Implemented a major cryptography upgrade along with complex new features.
  • Learned a lot about how to make performant web applications with heavy client-side logic. For example, how to use Web Workers, broadcast channels, WASM, and Web Crypto API most effectively.
Technologies: JavaScript, TypeScript, ECMAScript (ES6), React, Redux, Sass, Webpack, Jest

Research Software Engineer

2018 - 2021
University of Glasgow
  • Designed and built a custom cross-platform programming language for automated chemistry systems.
  • Developed and designed a full-stack web application for programming and operating automated chemistry systems in real-time.
  • Designed and built a rule-based natural language processing system for extracting machine-readable chemical synthesis instructions from academic papers.
  • Introduced new testing and CI/CD processes to the team, in order to improve the reliability of software and development processes.
Technologies: Python, JavaScript, GraphQL, REST, Socket.IO, React, Generative Pre-trained Transformers (GPT), Natural Language Processing (NLP), Redux, Amazon EC2, MongoDB, SQL, Docker, GitLab CI/CD, Flask, Automated Testing

Experience

NordLocker Cloud

https://cloud.nordlocker.com
A web-based interface to an end-to-end encrypted cloud storage application. This project was particularly interesting, as due to the nature of zero-knowledge encryption, complex functionality, which is usually handled in the back end must be handled client-side. This creates many unique front-end engineering challenges, which must be solved using various browser APIs such as Web Worker, WASM, and Web Crypto.

It also increased the complexity of the front end and taught me a lot about how to make a large front-end codebase well-organized and scalable.

ChemIDE

https://croningroup.gitlab.io/chemputer/xdlapp
A web app for the programming and live control of automated chemistry systems. The app allows chemists to write their procedures in natural language and run them on automated chemistry systems without writing any code. The back end consists of a Python GraphQL API, with Socket.IO facilitating real-time communication for live control and monitoring of chemistry robots. The front end consists of a procedure editor, a graph editor, and a live control and sensor monitoring mode.

Chemical Description Language (XDL)

https://github.com/mcrav/xdl
I designed and created a custom programming language for automated chemistry systems. The language is expressed in the language of chemistry, without any assumptions about how the chemistry will be carried out. The software then compiles this representation into instructions for a specific automated chemistry robot.

The language is built using a component-based architecture, similar to React, where each component is a set of chemistry instructions. These are combined hierarchically to create high-level operations which the user can easily program without understanding the low-level implementation.

Education

2018 - 2021

PhD in Software Engineering Applied to Chemistry

University of Glasgow - Glasgow, Scotland

2013 - 2018

MSci in Chemistry

University of Glasgow - Glasgow, Scotland

Skills

Libraries/APIs

React, Socket.IO

Tools

GitLab CI/CD, Webpack

Languages

Python, JavaScript, ECMAScript (ES6), HTML, CSS, TypeScript, GraphQL, Sass, SQL

Frameworks

Redux, Flask, Jest

Paradigms

REST, Automated Testing

Platforms

Linux, Docker, Amazon Web Services (AWS), Amazon EC2

Storage

MongoDB

Other

Cryptography, Natural Language Processing (NLP), Generative Pre-trained Transformers (GPT)

Collaboration That Works

How to Work with Toptal

Toptal matches you directly with global industry experts from our network in hours—not weeks or months.

1

Share your needs

Discuss your requirements and refine your scope in a call with a Toptal domain expert.
2

Choose your talent

Get a short list of expertly matched talent within 24 hours to review, interview, and choose from.
3

Start your risk-free talent trial

Work with your chosen talent on a trial basis for up to two weeks. Pay only if you decide to hire them.

Top talent is in high demand.

Start hiring