Miguel Duarte, Artificial Intelligence (AI) Developer in Lisbon, Portugal
Miguel Duarte

Artificial Intelligence (AI) Developer in Lisbon, Portugal

Member since August 20, 2015
Miguel has extensive experience developing complex systems—such as robotic simulation platforms and distributed computing systems. He has a strong scientific research background that allows him to quickly learn and master new languages and frameworks. His prior industry experience as a web developer enables him to easily understand the customer's needs and design custom full-stack solutions.
Miguel is now available for hire




Lisbon, Portugal



Preferred Environment

macOS, Atom, Git, Eclipse

The most amazing...

...project I worked on was designing and developing the hardware, software, and artificial intelligence for a real-world swarm robotics system.


  • Full-stack Developer

    2016 - 2017
    Kaja (via Toptal)
    • Developed an intelligent itinerary planner that takes into account multiple variables, such as the users' preferences, point-of-interest properties (location, rating, category, and so on) using machine learning techniques such as spatial clustering and genetic algorithms.
    • Developed a recommender system for events based on the users' Facebook liked pages. The system further cross-referenced the Facebook data with Last.fm's API in order to discern musical tastes.
    • Added i18n to the product (both static and dynamic elements) using Microsoft Azure's Cognitive Services for automatic cached content translation.
    • Implemented a customized itinerary viewer with Google Maps.
    • Developed custom map overlays and integrated with the Directions API with client-side caching.
    • Handled the complete redesign/rebranding of the website.
    Technologies: Node.js, PHP, Angular 1.5, Java
  • Invited Assistant Professor

    2016 - 2016
    Universidade Europeia (Laureate International Universities)
    • Taught and was responsible for the curricular unit Databases given to first-year students majoring in Game and Apps Development.
    • Taught and was responsible for the curricular unit Computer Architecture given to first-year students majoring in Computer Science and Computer Science with Management.
    • Placed in the top 10% of faculty with regard to student satisfaction.
    Technologies: MySQL, Assembly
  • Postdoctoral Researcher

    2016 - 2016
    Instituto de Telecomunicações
    • Developed a novel technique to automatically synthesize neural-based control for robots with complex morphologies.
    • Built a client-server application to interact with the V-REP robotics simulator via its API, enabling the parallel and distributed evaluation of robotic controllers.
    • Published three peer-reviewed publications.
    • Won the Fraunhofer Portugal Challenge 2016.
    Technologies: Java, V-REP, Evolutionary Computation, Artificial Neural Networks
  • Doctoral Researcher

    2012 - 2016
    University Institute of Lisbon (ISCTE-IUL)
    • Developed a novel artificial intelligence approach for automatic synthesis of robotic control.
    • Designed and developed the hardware, software, and artificial intelligence for a real-world swarm robotics system.
    • Published 24 peer-reviewed publications.
    • Maintained and improved a custom distributed computing system.
    • Applied digital fabrication techniques for fast, iterative hardware design.
    • Won a Paper of Excellence award (IEEE ICDL-EPIROB, 2012), was nominated for a Best Paper award (PPSN, 2016), and won a Best Robot Video award (AAAI Video Competition, 2016).
    • Wrote my Ph.D. thesis and won the "Fraunhofer Challenge" (Fraunhofer Portugal AICOS) and the "Best Ph.D. Thesis in Robotics" award (Portuguese Robotics Society).
    Technologies: Java, Evolutionary Computation, Artificial Neural Networks, Distributed Computing Systems, Machine Learning, Robotics, Electronics
  • Teaching Assistant

    2013 - 2015
    University Institute of Lisbon (ISCTE-IUL)
    • Taught the curricular unit: Introduction to Programming to first-year students majoring in computer science, computer science with management, and computer science with telecommunications.
    • Taught the curricular unit: Object-Oriented Programming to first-year students majoring in computer science, computer science with management, and computer science with telecommunications.
    • Organized multiple events at the university in collaboration with the local IEEE student branch.
    Technologies: Java, OOP
  • Web Developer

    2009 - 2012
    PTWS Lda
    • Developed custom full-stack eCommerce solutions based on open-source platforms.
    • Created third-party payment gateways for multiple eCommerce platforms.
    • Managed a small team of developers.
    • Installed, configured, and developed modules for web software (Joomla, PrestaShop, WHMCS, and more).
    Technologies: PHP, JavaScript, HTML, CSS


  • JBotEvolver (Development)

    JBotEvolver is a Java-based open-source and versatile simulation platform for education and research-driven experiments in evolutionary robotics (ER). JBotEvolver has been used in previous ER studies of our research group: in offline evolution to online evolution and learning, single to multi-robot systems, and in a number of undergraduate and graduate courses at the University Institute of Lisbon (ISCTE-IUL).

  • Conilon (Development)

    Conillon is a lightweight distributed computing platform. It allows Java-based tasks to be computed on a grid of computers with minimal effort and overhead. The necessary Java classes are loaded by worker nodes as needed.

  • A Sea of Robots (Other amazing things)

    Winner of the "Best Robot Video" at the video competition held yearly by the AAAI international conference.

  • Color Orbs (Development)

    A game for Windows Phone that tests the player's memory and reaction speed. The player has to click colored spheres in the correct order and can also use power-ups to make the task easier. Color Orbs received the first prize in the Windows Phone App Code Camp competition.

  • Jhip8 (Development)

    Jhip8 is a Chip-8 interpreter written in Java and was intended as a first experiment in the world of emulation. The project implements all the opcodes and features with the exception of sound.

  • Chip8JS (Development)

    This is a JavaScript port of Jhip8 and the working version can be found here at the link below.
    • http://miguelduarte.pt/2012/07/09/chip-8-emulator-in-javascript/

  • Moppy and Floppy Guitar (Other amazing things)

    I adapted the open-source project Moppy to be able to play sound in multiple floppy drives using a MIDI keyboard as input. A later version allowed music to be played on the drives using a real guitar (see URL for videos).


  • Languages

    Java, CSS, HTML, SQL, JavaScript, PHP, Sass, XML, C#, C, Prolog, R, Python
  • Frameworks

    ASP.NET, AngularJS, Express.js
  • Tools

    PrestaShop, Eclipse IDE, RedBean ORM, Git, Adobe Photoshop, Adobe Illustrator, Atom
  • Paradigms

    Object-oriented Programming (OOP), REST
  • Platforms

    MacOS, Linux, Windows
  • Storage

    JSON, MySQL, MongoDB
  • Industry Expertise

  • Other

    Evolutionary Algorithms, Neural Networks, Artificial Intelligence (AI), Ajax, ROS
  • Libraries/APIs

    Google Maps, Node.js, jQuery, React, OpenCV, Ggplot2


  • Ph.D. in Computer Science
    2012 - 2016
    University Institute of Lisbon (ISCTE-IUL) - Lisbon, Portugal
  • Master's degree in Computer Science
    2010 - 2012
    University Institute of Lisbon (ISCTE-IUL) - Lisbon, Portugal
  • Bachelor's degree in Computer Science
    2007 - 2010
    University Institute of Lisbon (ISCTE-IUL) - Lisbon, Portugal

To view more profiles

Join Toptal
Share it with others