Curriculum Vitae

I am a freelance Python develop, mentor and technical author, based in Amersfoort, the Netherlands. I'm available for contract work on both short and long-term basis.

Below is just a summary of work and education milestones, for a complete look at what I've been up to since the 1990s, check my timeline.

Oct 2016-Present Python Developer, Data Scientist & Tutor Freelance/contractor Short and long-term contract projects primarily focused on building Python GUIs with PyQt, robotics and the scientific Python stack (matplotlib and pandas) for data analysis, machine learning and visualization.

Jan 2017-Dec 2019 Hotjar Ltd. Python Developer, Senior Software Engineer & Team Lead

Oct 2014-Oct 2016 Postdoctoral Researcher (Bioinformatics) University of Utrecht, Utrecht, Netherlands Proteomic data analysis. Using the scientific Python stack, matplotlib and pandas to perform routine analyses and develop automatable workflows.

2011-2016 PhD. School of Immunity & Infection, University of Birmingham, Birmingham, United Kingdom Metabolic profiles of differentiated human macrophages and their influence in chronic inflammatory disease (Wellcome Trust Combined Training Programme)

2010-2011 MRes. Biomedical Research School of Immunity & Infection, University of Birmingham, Birmingham, United Kingdom The Immune System in Health & Disease (Wellcome Trust Combined Training Programme). Consisting of two short research projects: “Tracking viral entry into target cells by virological and immunological methods” and “Do differentiated macrophages display distinct metabolic phenotypes reflecting their different functions?”

2007-2010 BMedSc. (Hons) Medical Science (Cellular and Molecular Pathology) (1st) University of Birmingham, Birmingham, United Kingdom Dissertation topic: "What is the impact of vaccination on the development of adaptive immunity to Non-typhoidal Salmonella?"

2001-2002 Certificate of HE - Psychology, Artificial Intelligence & Linguistics University of Edinburgh, Edinburgh, United Kingdom


  • Product prototyping and development.
  • Product feasibility consulting and platform advice.
  • Rapid Minimum Viable Product development — Django, Flask, PyQt.
  • Desktop GUI application development — PyQt, wxWidgets.
  • Robotics and electronics, 3D printing
  • Custom data analysis and visualisation — numpy, scipy, matplotlib, d3.js.
  • Machine learning, predictive models and insights — scikit-learn, scikit-image.
  • Automated workflow/pipeline construction for reproducible analyses.
  • Web application development — Flask, Django, JQuery, AngularJS.


  • biocyc - a Python package interface to the service, providing a caching API with support for user-friendly representations of data in Jupyter notebooks.
  • PaDuA - a Python package supporting scriptable and interactive (via Jupyter notebooks) processing and analysis of proteomic data. Visualizations via matplotlib and statistical modelling via scikit-learn.
  • Pathomx - a workflow-based GUI application for the analysis of complex datasets. Built using PyQt, numpy+scipy, with IPython (Jupyter) kernel, matplotlib visualisation and scikit-learn data analysis.
  • pyqtconfig - a configuration manager for PyQt applications, providing a simple Pythonic way to access, save and reload values of Qt widgets (as a Python dict). Supports automatic syncing of multiple linked widgets.
  • Wooey - automatically create Web UIs (WUI) from Python scripts. Django-based with celery job scheduling. Automatic generation of Django forms from argparse, click and docopt command lines. (See also: clinto for command line parsing).

Academic Publications

Pathomx: an interactive workflow-based tool for the analysis of metabolomic data. Martin A. Fitzpatrick, Catherine M. McGrath, Stephen P. Young. BMC Bioinformatics pmid:25490956 doi:10.1186/s12859-014-0396-9 (October 2014)

Metabolic profiling predicts response to anti-TNFα therapy in patients with rheumatoid arthritis. Sabrina R Kapoor, Andrew Filer, Martin A Fitzpatrick, Benjamin A Fisher, Peter C Taylor, Christopher D Buckley, Iain B McInnes, Karim Raza, Stephen P Young Arthritis & Rheumatism pmid:23460124 doi:10.1002/art.37921 (March 2013)

Metabolomics – a novel window into inflammatory disease. Martin A. Fitzpatrick, Stephen P. Young Swiss medical weekly pmid:23348753 doi:10.4414/smw.2013.13743 (January 2013)

Metabolomics in the Analysis of Inflammatory Diseases Sabrina Kapoor, Martin Fitzpatrick, Elizabeth Clay, Rachel Bayley, Graham R. Wallace, Stephen P. Young InTech ISBN:978-953-51-0046-1 (February 2012)

A complete list of publications, abstracts and theses are available here.


  • Web Site development (Django, Flask, Pelican) and front-end UI (HTML, CSS, Vue, JQuery, Angular).
  • APIs RESTful API design and development (Django rest framework, Flask)
  • Databases Relational database design and management (Postgres, MySQL) including ORM methods (Django, SQLAlchemy) and search platforms (Lucene/Solr)
  • Data Data processing and handling (pandas, numpy, scipy)
  • Visualisation Plotting figures and interactive dashboards (matplotlib, d3.js)
  • Statistics Standard parametric and non-parametric statistical tests (numpy, scipy)
  • Machine Learning linear models (PCA, PLS), decision trees and clustering algorithms (scikit-learn, scipy, Eigenvector PLS Toolkit)
  • GUI Graphical interface development (PyQt, PySide, wxWidgets)
  • Collaboration Experience working with international groups, both locally and remotely to successfully complete projects. Frequently collaborate with other programmers on open-source projects via Github.
  • Revision Control Git (preferred), SVN
  • Coding Style Adherence to PEP8 (pylint, pyflakes, PyCharm)
  • CI & Testing Experience using Jenkins CI on open-source projects
  • Documentation Pandoc (and, asciidoc, markdown