Interested in Machine Learning, Genomics, Open Science and the Web.

Scientist by education and programmer by profession. Over the years, I've coded mostly in Node.js (JavaScript), Python, R, and Shell scripting to analyse Big Genomic Data.

Founded and lead, an Open Source community to build scalable code and tools for bioinformatics by leveraging Node.js.

In 2016, the Mozilla Science Lab awarded me a fellowship (one of four, out of 483 submissions) to travel around the world and champion Open Science through talks, workshops, and hackathons.

Reproducibility and scalability are important to me, thus I've also become an expert in DevOps tools such as Docker, Singularity, Nix (reproducible package manager) and cloud computing.



2019-Present | Resurgo Genetics

Applying Machine Learning and novel visualization techniques to find target candidates for therapeutics in diseases such as cancer and now COVID‑19.


2018 | Code for Science and Society

Worked on short term project to integrate Nix into a Docker image builder for researchers.

2014-Present |

Founded and lead this Open Source Community Project to build scalable and streamable Bioinformatics by leveraging the Node.js ecosystem. Mentored 3 Google Summer of Code students. Organized several workshops and hackathons. Contributed to many modules, but mostly Bionode-NCBI. Prototyped data analysis workflow engines.

2014 | Dat project (distributed data technology)

I helped the Dat team in the context of genomic data.

2012-2013 | XIV Congress of the European Society for Evolutionary Biology (ESEB 2013)

I was the sole web developer and built everything from the ground up. I am still the current maintainer.

keywords: Node.js, Express.js, Bootstrap, MongoDB, Redis, CoffeeScript, Jade, Stylus

2013 | Geeklist

I was a team member, responsible for LinkedIn integration and backend tasks.

keywords: Node.js

2013 | CoBiG²

I built the new website in Angular.js using many APIs (mostly as an experiment and for learning) but I am not the current maintainer. I open sourced the code.

keywords: Node.js, Angular.js, Bootstrap, LinkedIn API, Mendeley API, Dropbox API, Facebook API, Github API


2018 | (largest directory of preclinical cancer models)

Worked mostly on reproducible data analysis pipelines with Nix and Docker. Interacted with AWS, Google Cloud and Kubernetes.

2014-2018 | Queen Mary, University of London

I was a PhD Student under the supervision of Yannick Wurm and did research in population genomics. Specifically, looking at genetic diversity of insects.

I also contributed to a Crowdsourcing Web App for Gene Annotation, built with Ruby, PostgreSQL and Angular.js

2009-2013 | Computational Biology & Population Genomics Group (CoBiG²)

I've analysed Next-generation sequencing data and also performed sysadmin tasks.

keywords: Python


In conference proceedings





  • 2013-Present - Demonstrator for master of bioinformatics and R practicals at Queen Mary University of London
  • 2010 (Nov 25) - Class lecture about Next-generation sequencing for the MSc in Bioinformatics and Computational Biology


2010-2011 | Faculty of Sciences of the University of Lisbon

Deployed and maintained

Helped deploying


  • Programming languages: JavaScript, Node.js, Python (pandas, numpy, pytorch, dask, holoviews, datashader, matplotlib, etc), R, and Shell scripting
  • Databases: MongoDB (used in production), SQL (learned during undergrad)
  • Distributed Revision Control: Git, GitHub, GitLab

  • Document Markup languages: LaTeX and Markdown

  • Systems Administration: Docker, NixOS, Vagrant, GNU/Linux (Ubuntu and Arch, server and desktop), Windows (desktop), ZFS

  • Bioinformatics: Next-generation sequencing (NGS) data processing and analysis, Phylogeography and phylogenetics software

  • Biology: DNA Sequencing and Bacterial Culture

  • Editing skills: Vectorial images (Inkscape), Pixmaps images (Gimp), Audio and Video

Education and Teaching


2014-2018 | PhD thesis in Bioinformatics and Population Genomics

I researched the effects of eusociality on the Efective Population size (Ne) of multiple species.

2007-2009 | Master's thesis in Human Biology and Environment

Vieira, BM (2009). Comprehending the Cost of Antibiotics Resistance in Bacteria. Faculty of Sciences of the University of Lisbon (FCUL) Grade: 17/20

2004-2007 | Degree in Cell Biology and Biotechnology

Faculty of Sciences of the University of Lisbon (FCUL) Grade: 13/20

Extra Classes

2010 | Faculty of Sciences of the University of Lisbon

  • Fundamentals of Programming from the MSc in Bioinformatics and Computational Biology Grade: 16/20

  • Introduction to Databases from the MSc in Bioinformatics and Computational Biology Grade: 17/20

Workshops organised

Workshops attended

Courses organised

Courses attended

  • 2010 - Practical Course on Phylogenetics, Centre for Environmental Biology (CBA), Lisbon, Portugal
  • 2010 - Practical Course on Phylogeography, Centre for Environmental Biology (CBA), Lisbon, Portugal

Online courses attended

Conferences attended

Hackathons organised

Hackathons attended

  • 2015 (Sep 13-19) - BioHackathon 2015, Nagasaki University, Japan
  • 2015 (Jul 8) - OpenBio Codefest 2015. The Open Bioinformatics Foundation (O|B|F), University of Dublin, Ireland
  • 2014 (Apr 5) - Prototyping a Data Discovery tool. DNAdigest Hack Day, London, England

Open Source Contributions

Node.js Modules

  • 2014-Present - bionode A Node.js JavaScript library for client and server side bioinformatics.

  • 2013 - xml2json-stream Converts XML to JSON, using Streams and sax. This can be used with above-memory-limits XML files, as long as they're mostly composed of a repetitive tag.


  • 2013-2014 - Afra - A web application for crowdsourcing genome annotation.

  • 2013 - CoBiG² - An Angular.js web app that uses many APIs (LinkedIn, Mendeley, Facebook and GitHub) and will become CoBiG²'s new website.

  • 2009 - Colony Counter - An ImageJ plugin for automatically enumerating Escherichia coli colonies. Published in Comprehending the Cost of Antibiotics Resistance in Bacteria. Masters thesis in Human Biology and Environment. Faculty of Sciences of the University of Lisbon

Arch Linux AUR Packages Maintainer

  • casperjs-git, a browser navigation scripting & testing utility written in Javascript on top of PhantomJS
  • phantomjs-git, headless WebKit with JavaScript API
  • genepop, a population genetics software.
  • ima2, a program for fitting the isolation with migration model for multiple populations.
  • populations, population genetic software (individuals or populations distances, phylogenetic trees)
  • structure, program for using multi-locus genotype data to investigate population structure.


Other activities






  • Kung Fu (Choy Lee Fut) from 2007 to 2008 (6 months) and Karate during childhood