Miguel Duarte, Developer in Lisbon, Portugal
Miguel is available for hire
Hire Miguel

Miguel Duarte

Verified Expert  in Engineering

Artificial Intelligence (AI) Developer

Lisbon, Portugal

Toptal member since October 24, 2016

Bio

Miguel plans and implements full-stack solutions, focusing on solving problems and maximizing users' and other stakeholders' value through a pragmatic and technology-agnostic approach. He leans into his scientific research background, where he developed complex systems such as robotic simulation platforms and distributed computing systems, to learn and apply new technologies quickly.

Availability

Part-time

Preferred Environment

Amazon Web Services (AWS), JetBrains, Git, MacOS

The most amazing...

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

Work Experience

CTO

2017 - PRESENT
Care & Family Health
  • Acted as the main full-stack developer for the company since its inception. Responsible for the backend, the frontend, and DevOps.
  • Implemented security- and privacy-focused solutions due to the sensitive nature of the data (PHI), with encryption at rest and transit throughout the system's different components.
  • Setup and integrated infrastructure using AWS, focusing on ECS, S3, DynamoDB, SNS, and SQS.
  • Managed a small team of developers and was responsible for major technological decisions across all projects.
  • Guaranteed scalability of the system for thousands of users while optimizing the infrastructure resource usage.
  • Integrated with multiple third-parties, such as payment gateways (Stripe), governmental institutions (Ontario Ministry of Health and Long-Term Care), and communications providers (Stripe, RingCentral).
  • Implemented fully-featured telemedicine capability into the system, where patients can have video appointments with a practitioner.
  • Introduced continuous improvements and automations to make the system more efficient for the users. An example is the use of OCR to handle documents with minimal human intervention.
Technologies: Amazon Web Services (AWS), Express.js, Redux, Travis CI, Docker, React, Node.js

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: Java, AngularJS, PHP, Node.js

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: Assembly, MySQL

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: V-REP, Artificial Neural Networks (ANN), Evolutionary Computation, Java

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: Electronics, Robotics, Machine Learning, Artificial Neural Networks (ANN), Evolutionary Computation, Java, Artificial Intelligence

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: Object-oriented Programming (OOP), Java

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: CSS, HTML, JavaScript, PHP

JBotEvolver

https://github.com/BioMachinesLab/jbotevolver
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

https://github.com/BioMachinesLab/conillon
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

https://www.youtube.com/watch?v=JBrkszUnms8
Winner of the "Best Robot Video" at the video competition held yearly by the AAAI international conference.

Color Orbs

https://www.microsoft.com/en-us/p/color-orbs/9wzdncrdrhpf
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

https://github.com/miguelduarte42/Jhip8
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

https://github.com/miguelduarte42/Chip8JS
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

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).
2012 - 2016

Ph.D. in Computer Science

University Institute of Lisbon (ISCTE-IUL) - Lisbon, Portugal

2010 - 2012

Master's Degree in Computer Science

University Institute of Lisbon (ISCTE-IUL) - Lisbon, Portugal

2007 - 2010

Bachelor's Degree in Computer Science

University Institute of Lisbon (ISCTE-IUL) - Lisbon, Portugal

Libraries/APIs

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

Tools

PrestaShop, Eclipse IDE, Travis CI, RedBean ORM, Git, Adobe Photoshop, JetBrains, Adobe Illustrator, Atom

Languages

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

Frameworks

ASP.NET, Redux, Swagger, AngularJS, Express.js

Paradigms

Object-oriented Programming (OOP), REST

Platforms

MacOS, Linux, Amazon Web Services (AWS), Windows, Eclipse, Docker

Storage

JSON, MySQL, MongoDB

Other

Evolutionary Algorithms, Neural Networks, Robotics, Artificial Intelligence, Ajax, Evolutionary Computation, Artificial Neural Networks (ANN), V-REP, Machine Learning, Electronics, Robot Operating System (ROS)

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