João Filgueiras, Machine Learning Developer in Porto, Portugal
João Filgueiras

Machine Learning Developer in Porto, Portugal

Member since February 22, 2014
João is an accomplished researcher and prototype developer with a special talent for breaking down large problems into solvable pieces. His background in R&D gives him the edge in implementing efficient, effective, and sophisticated yet clean solutions.
João is now available for hire



  • JavaScript, 11 years
  • Python, 6 years
  • Highcharts, 5 years
  • Node.js, 4 years
  • Machine Learning, 3 years
  • Data Visualization, 3 years
  • Scikit-learn, 2 years
  • Vue.js, 2 years


Porto, Portugal



Preferred Environment

Linux, Atom, Git, Jupyter

The most amazing...

...thing I've coded is a machine learning classifier to classify opinions in a text as positive/negative/neutral, and to infer personal attributes of its author.


  • Invited Assistant Professor

    2019 - PRESENT
    University of Porto
    • Co-lectured a course on algorithm analysis and design for second year undergrad students.
    Technologies: Algorithms
  • AI Researcher

    2019 - PRESENT
    Artificial Intelligence and Computer Science Laboratory – University of Porto
    • Worked on a public interest project with the aim to modernize and optimize government agencies using AI and data science.
    • Used NLP techniques to extract useful information from unstructured text.
    • Explored a large and complex public service dataset.
    • Worked on classification problems using machine learning techniques.
    Technologies: Python, Pandas, Jupyter, NLP, Machine Learning
  • Senior Software Engineer

    2018 - 2019
    Undisclosed Fintech Company
    • Implemented automated trading strategies for cryptocurrency markets.
    • Designed the system architecture to ensure stability and fault tolerance.
    • Implemented custom data visualization pieces.
    Technologies: Node.js, React, HighCharts
  • Technical Screener for AI and Data Science

    2018 - 2019
    Toptal, LLC
    • Interviewed potential AI and data science experts looking to join the Toptal network.
    • Mentored other AI and data science screeners.
    • Contributed to the creation of the screening process and continuously refined it.
    Technologies: Internal Tools
  • Machine Learning Expert

    2018 - 2018
    Rainbows (via Toptal)
    • Performed a thorough exploratory analysis of a tabular dataset.
    • Researched resource allocation schemes based on a number of metrics and constraints.
    Technologies: Python, Jupyter, Pandas
  • Director of Engineering

    2017 - 2018
    Toptal, LLC
    • Performed a key operational role within the company, as part of a team, by understanding client requirements and matching them with the best talent in the network.
    • Helped shape and improve the operational processes of the company.
    • Co-developed and tested new screening processes and development specializations to ensure the highest standards of talent quality in new areas.
    • Managed several accounts for SMB and enterprise clients all over the world.
    • Supported and advised talent working with clients.
    Technologies: Internal Tools
  • Lead Web Developer

    2016 - 2017
    • Implemented a web-based business process management system that allows management, visualization, and reporting of business processes and supporting documents.
    • Developed the front-end using ES6 and Vue.js 2.x with a focus on component re-usability.
    • Used Node.js and MongoDB for the back-end.
    • Built complex data models with MongoDB, including tree structures.
    • Integrated and customized a BPMN diagram editor.
    Technologies: Vue.js, Node.js, MongoDB
  • Technical Screener

    2015 - 2017
    Toptal, LLC
    • Interviewed hundreds of applicants looking to join the Toptal network and ensured their technical skills, work ethic and communication skills met Toptal's standards.
    • Mentored other technical screeners.
    • Helped improve the screening process.
    Technologies: Internal Tools
  • Full-stack Developer/Data Scientist

    2014 - 2017
    Agri-Esprit, SA
    • Developed multiple front-end pages using JavaScript with the Maria MVC framework.
    • Implemented a framework for building complex agronomic models to evaluate crop status and recommend suitable actions.
    • Evaluated a big data storage and data mining tool to work with massive collections of data in the domain of large-scale agriculture.
    • Implemented a framework for web front-end testing using CasperJS, specific to the company's software product.
    • Worked on data visualizations and a process management editor using the BPMN notation.
    Technologies: JavaScript, Node.js, CasperJS, jQuery, Python, Pandas
  • Data Scientist/Data Visualization Expert

    2014 - 2014
    • Implemented data processing and visualization tools for advanced pattern finding in financial market data using HighCharts and JavaScript on a web app.
    • Created several data visualizations for financial market data on a web app using HighCharts and JavaScript.
    • Implemented a fully featured graphical widget to allow a user to build a logical query by wiring a given list of base conditions and logical nodes such as AND/OR, using just basic SVG shapes and D3.js.
    • Implemented interactions with several different APIs to build interactive front-end sections of the web app.
    • Implemented a Python application to explore and analyze pattern data.
    Technologies: JavaScript, D3.js, HighCharts, DC.js, Python
  • Researcher/PhD Candidate

    2012 - 2014
    • Developed a state-of-the-art machine learning approach to sentiment analysis using Python and sklearn.
    • Developed of a web page for data visualization and dissemination using PHP, jQuery, and HighCharts.
    • Created a state-of-the-art machine learning-based approach to infer demographic attributes of the author of a given text using Python and sklearn.
    • Co-developed a web page to showcase different text-mining tools using Python, Bootstrap, jQuery, and D3.js.
    • Co-developed rich data visualizations for interconnected political mandates using D3.js.
    Technologies: Python, Machine Learning, PHP, jQuery, D3.js
  • Undergraduate Researcher

    2009 - 2012
    IT Porto (via Carnegie Mellon University - Portugal Programme)
    • Worked on a project designed to collect and analyze vehicular traffic data based on Bluetooth devices.
    • Created data analysis tools for Bluetooth data using Python.
    • Planned a city-wide deployment of Bluetooth traffic scanners.
    • Developed the collection application in Python/C as well as the back-end to receive and store remote Bluetooth logs using PHP.
    • Developed web-based tools for data visualization of geographic data using Google Maps, PHP, and JavaScript.
    Technologies: C, Python, PHP, Bluetooth, JavaScript, Google Maps


  • Accrue WebApp (Development)

    Developed data visualizations, filters, and front-end data processing for a sophisticated and innovative web app that allows the user to look for patterns and trends in financial market data. This project required heavy knowledge of HighCharts/Highstock, DC.js, Crossfilter, D3.js, jQuery, and Python for auxiliary tools.

  • POPSTAR Website (Development)

    Developed and co-designed the POPSTAR website showing the trends of the Portuguese public opinion on politics. The website was developed using PHP, jQuery, and heavily customized HighCharts.

  • Author Profiling Classifier (Development)

    Developed a machine learning classifier that, using solely the features of a given text, predicts the gender, age group and political affiliation of its author. This was also developed within the text classification framework using Python and scikit-learn.

  • Sentiment Analysis Classifier (Development)

    Developed a sentiment analysis classifier (i.e. given a text determine whether it expresses a positive, neutral, or negative opinion) that ranked 3rd in a scientific competition with over 40 participants. It was implemented using Python and scikit-learn.

  • Text Classification Framework (Development)

    Developed a text classification platform in Python containing several thousand lines of code implementing a variety of state-of-the-art algorithms to parse, pre-process, extract features, and train machine learning classifiers from textual documents.


  • Languages

    Python, JavaScript, ECMAScript (ES6), Clojure, TypeScript
  • Frameworks

    Express.js, ClojureScript, Bootstrap, Angular
  • Libraries/APIs

    Vue.js, Pandas, Node.js, jQuery, Highcharts, DHTMLX, Scikit-learn, D3.js, jQuery UI, React, Matplotlib, Raphaël, PhantomJS, LeafletJS
  • Tools

    Jupyter, Mongoose, Git, Reagent, Jira, Atom, Sequelize, IPython, Seaborn, CasperJS, Apache Solr
  • Paradigms

    Data Science, REST, BPMN
  • Other

    Natural Language Processing (NLP), Machine Learning, Data Visualization, Bluetooth, Information Retrieval
  • Platforms

  • Storage

    MongoDB, PostgreSQL, MySQL


  • Master's degree in Computer Science
    2005 - 2012
    University of Porto (Faculty of Sciences) - Oporto, Portugal

To view more profiles

Join Toptal
I really like this profile
Share it with others