Work experience
-
Freelance software developer since 2020
- Built a website in Fresh/Typescript that displays a database of bilateral state agreements;
- Upgraded the dependencies and runtimes of Ruby on Rails, nodejs, and React applications;
- Reviewed Rust code, mainly looking for security vulnerabilities;
- Developed a Payment Initiation Service Provider bridging system in Ruby on Rails.
-
Pro bono Software developer and Sysadmin at Cyberscore.me.uk since 2020
- Debugged database and page load performance issues;
- Open-sourced the codebase after auditing and fixing security vulnerabilities;
- Built a browser-based image recognition tool in Rust compiled to WebAssembly;
- Modernized the code to use routes, non-PHP templates, and database migrations.
-
Chief Technical Officer at Trust Fractal GmbH from 2019 to 2020
- Led the technical decisions of a team of 9 working on a digital identity solution;
- Worked with the Legal Engineering and Product teams to expand to other market segments.
-
Principal of Engineering at Trust Fractal GmbH from 2018 to 2019
- Led a team of 5 through the initial implementation of a digital identity solution for crypto fundraising events, with particular attention to data security and high peaks of traffic;
- Tutored 8 interns over the course of two summers.
-
Managing partner and Software developer at Life on Mars from 2016 to 2018
- Co-founded a small software agency of seven, with a focus on openness;
- Built a HIPAA-compliant application using Ruby on Rails, Terraform, and SaltStack;
- Provided incident support, solving emergency situations for infrastructure problems;
- Wrote a paper about provably fair random number generation;
- Developed a set of automated hiring interview problems.
-
Software developer at NDrive Navigation Systems from 2010 to 2016
- Joined the team rewriting the core system of their main product;
- Designed the pipeline that turns multi-gigabyte SQL databases of geographical information into 100 megabytes files, working with Python, SQL and C++;
- Built an online licensing API mechanism using Ruby on Rails, Go, and C++;
- Managed the server infrastructure using SaltStack, Chef, and Ansible.
-
Software developer (Internship) Fraunhofer AICOS from February to July 2010I studied, implemented (in C++) and compared several algorithms for the vehicle routing problem applied to waste collection vehicles routing. This research ultimately led to my master's thesis.
-
Software developer at Bolos Quentes during May 2010Implemented a game about recycling and the environment using Flash and ActionScript 3.
-
Software developer at Laboratório de Instrumentação para Medição da FEUP from 2007 to 2010Developed a haptic-feedback enabled app to remotely control a motor, using C++, Qt and OpenGL.
-
Undergraduate teaching assistant at FEUP from February to June 2009Helped Computer Graphics students with C++, Java and OpenGL, with special focus on lighting, texture mapping, shading and transformations.
-
Software developer at Entidade Reguladora da Saúde during the summer of 2007Wrote SQL queries for a module that generates reports on complaints for all portuguese healthcare entities. This web application was written in ASP.NET and MSSQL.
-
Web developer at Faculty of Architecture of the University of Porto from 2007 to 2008In a team of three, I planned and developed a social web platform for the publication of architectural projects. We used Flash, XML, XHTML, CSS, PHP, MySQL and Python.
-
Algorithms and Data Structures private tutor during the Summer of 2006I helped two graduation finalists with their studies for the final exam on the algorithms and data structures course. Both succeeded with good grades.
Extracurricular experience
-
Executive board member of ANSOL - Associação Nacional para o Software Livre since 2022I work on the day-to-day operations of the association, help manage its digital infrastructure, and work on several different initiatives promoting the usage of Free Software. I rewrote and redesigned the website, organized some events, and represented the association in meetings in the European Parliament.
-
Member of Associação D3 - Defesa dos Direitos Digitais since 2019I manage the association's digital infrastructure and work on several initiatives defending our rights in the digital world. I am currently a member of the supervisory board.
-
Co-organizer of Porto Codes since 2013I organize a monthly programming meetup in Porto. This includes finding a venue, convicing people to speak, and promoting the event. I also record and publish their presentations.
-
Co-organizer of Make or Break from 2016 to 2018Organized a yearly programming hackathon, with an attendance of around 100 people each year. Designed and implemented an AI competition.
-
President of Núcleo de Informática da FEUP from March 2009 to June 2010I monitored and coordinated the group's projects and activities. I interacted with several faculty departments, looking for opportunities to start new projects.
-
Founding member of Núcleo de Informática da FEUP from 2006 to 2009I developed several web applications to help gather funding for this group's activities. On the World Usability Day of 2008, I helped with the organisation of a set of talks on the subject.
-
Programming contest participant from 2005 to 2010In ACM programming contests my team achieved 1st place at national level and 17th place at South-Western European level. I also participated in Google Code Jam, ranking top 500 worldwide, and being the highest ranked participant from Portugal.
Open Source contributions
I have contributed to multiple Free Software/Open Source projects throughout the years with code, documentation, and translations. Here are a few of those projects:
Public speaking
- Identifying Pokémon Cards with Computer Vision Presented online at RustConf 2021, September 2021.
Education
-
Master in Informatics and Computing Engineering at Faculty of Engineering of the University of Porto from 2004 to 2010Finished with an average grade of 17 out of 20. Wrote a dissertation with a grade of 18 out of 20.
Main areas of study: Artificial intelligence, optimization, operating systems and distributed systems.
Publications
- Optimization of municipal solid waste collection routes based on the containers' fill status data Master's Dissertation, Faculty of Engineering of the University of Porto, June, 2010.
- NeatSqueak on wheels: Neural networks applied to movement optimization of a simulated robot Progress in Artificial Intelligence: 14th Portuguese Conference on Artificial Intelligence, Epia 2009, Aveiro, Portugal, October 12-15, 2009, Proceedings
- Human-Machine Real-Virtual Haptic Interaction Systems Proceedings of the 9th International Conference, Virtual University, Bratislava, December 11-12, 2008.