C# Developer in Porto, Portugal
Software Engineer and Researcher2015 - PRESENTAgri-Esprit
- Worked on a web-based platform (JS/Node.js) for large-scale agricultural farm management (ERP) and related decision support systems.
- Developed a graphical tool for creating and managing the farm shapes.
- Developed a graphical tool for online tractor tracking on the map. The tractors communicate with the system by sending GPS signals.
- Developed parts of the REST API provided by the ERP in Node.js.
- Created a reusable form generation system that merges entities and edits them as a single entity transparently.
Researcher2009 - 2016Artificial Intelligence and Computer Science Laboratory
Technologies: C#, C/C++, Java, OpenGL, Machine Learning
- Developed poker software with advanced opponent modeling capabilities that got second place at the AAAI Computer Poker Tournament.
- Created a poker simulator and the PGDL language that allows for the creation of poker games with custom rules, with an AI opponent that adapts to those rules.
- Built a generic multi-modal framework to add customized natural interfaces to existing games. Interaction modes include Kinect and speech recognition.
- Innovated a computer vision system which controls user interfaces.
- Programmed a 3D visualizer for an intelligent wheelchair simulator (OpenGL, OpenTk, and C#).
- Supervised over ten master's theses in the game domain.
- Finished my PhD thesis under the game theory domain.
Software Engineer2010 - 2014Fast Luza - Consultoria, Unipessoal, Lda
- Developed several back-end web-based projects from scratch, such as fire extinguisher maintenance (http://portal.fastmex.pt/), airport parking maintenance (http://www.lowcostparking.pt/site/), and computer distribution logistics software for Panama's government (http://globalwrc.com/).
- Created a digital product catalog for Android tablets dedicated to provider companies which allow order logs and data synchronization with the company's ERP.
- Worked on several front-end projects such as CMS (http://gvnova.net/) and eCommerce sites (http://xpressrepair.com/). These projects were based on an internal solution built from scratch.
- Programmed an automatic email notification system for data reporting associated with the websites I worked on.
- Managed an IIS web server/SQL Server that hosts over 60 websites.
- Built website optimization tools for marketing.
Teacher2008 - 2014Faculty of Engineering of University of Porto
Technologies: C, C++, C#, PostgreSQL, Java, Oracle SQL, Assembly, UML, PHP
- Taught a wide variety of coursework, including programming (C/C++), programming labs (Java, UML, DokuWiki), web development (PHP/Smarty/PostgreSQL), software engineering (UML), databases (Oracle), operating systems (C/C++/Unix), computational theory (state machines/regular expressions/Turing machines), and computer organization (Assembly).
- Fusion Farming Suite (Development)
- FastMEX (Development)http://fastmex.pt/
A SaaS dedicated to equipment maintenance companies that allows for managing the maintenance cycles of the clients' fire extinguishers. This software is one of the few that follows the Portuguese standard NP4413 for maintenance of extinguishers, which ensures the safety of its users. The software permits generating several data reports, printing maintenance labels, planning daily maintenance routes or sending notification letters and emails to the clients. The project was developed in C#/ASP.NET.
- Vroomz (via Toptal) (Development)https://booking.vroomz.com
Vroomz is a hotel reservation site for major events. This website serves events and provides a unique front-end layout for each one of them. There, I rebuilt the front-end/back-end in C#/ASP.NET. I built a front-end with dynamic styling options which allows for it to be adapted to any event. I also moved, transformed, and migrated an old MySQL database from the former system into a new SQL Server schema. Regarding the back-office, I completely rebuilt it, with huge speed improvements in data loading and displaying. There, I also refactored the reports. Finally, I did some fixes/patches in the former PHP system while the new system was not yet live.
- Bilbayt (via Toptal) (Development)https://bilbayt.com
It is the first multi ordering platform for catering services in Kuwait. It makes it easier to find and order catering services including food trucks, live cooking stations, special dishes and more. There I worked directly on their platform by building the front-end and back-end of some of their pages, namely for registering new caterers. The project was implemented in ASP.NET MVC.
- Private Investments Manager (Development)
In this project, users can store information about their financial products (bank deposits, stocks, risk funds, etc.). The system then gives the users detailed reports and notifications about the performance of their investments as well as recommendations about future investments. This project was implemented in C#/ASP.NET with the aid of Google Finance API and Bloomerg API for stock and risk fund rates automatic update.
- Xpressrepair (Development)http://xpressrepair.com/
An eCommerce website for a hardware repair company. This project also includes the management of the whole repair process that goes from the picking of the equipment to one of the repair centers and its final delivery to the customer. This project was implemented in C# and all the data is synced with the company's ERP system (PHC).
- Vending Machine Software (Cafematic) (Development)
This software was built for companies that sell products in vending machines. The software allows for reading the logs from those machines (in the standard EvaDts format) and validates the cashflow from their sales. Finally, it generates billing documents and processes commissions for the vending machines' canvassers. This project was implemented in C#.
- Digital Product Catalog (Development)
This project consists of a digital catalog for Android tablets serving door-to-door sales for supplier companies. The users can show the customers all products and then perform an order. This software is also used in fairs, so special attention was given to the rapid creation of orders. The software was implemented with Android SDK. All orders and product information is synchronized with the company's ERP system (Eticadata) and an eCommerce website.
- Computer Distribution System (Development)
This project manages the whole logistics process of the distribution of the Magalhães PC (http://www.mymaga.eu/) acquired by Meduca (Panama's education ministry) to distribute to students of all schools in the country. This project also manages the repair processes of possible malfunctions of those equipments. The project was implemented in C# and ASP.NET.
- Pinto, Guedes de Oliveira (Development)http://www.pintoguedesoliveira.com/
This is a ASP.NET MVC project built from scratch for a car stand. It is a catalog for cars and it has a tire order configurator so the clients can order the installation of new tires with ease.
My role in this project was to build almost the entire back-end (SQL Server database) and the back-office for inserting content in this website.
- Gemini (Development)http://arxiv.org/ftp/arxiv/papers/1302/1302.3862.pdf
An academic publication in which I discuss the creation of a middleware framework for non-traditional game controllers (WiiMote, Rock Band instruments, Kinect, etc.) that addresses the issue of their not being designed for other game applications. The framework maps body poses or voice commands to actions in any game, providing a more natural and customized UX and thus potentially expanding the market of game consumers.
- Expert Guitar for Noobs (Development)https://www.youtube.com/watch?v=am565r0X1b0
Prototype software that uses a Guitar Hero 3 controller to play real notes and chords by connecting the controller to a computer and mapping each button (or a set of buttons) to a particular note/chord. The sound was produced with a MIDI-like system that sounds more like the real instrument. Although the controller only has five buttons, it is possible to use a maximum of 31 different combinations and play real songs. This project was implemented in Java.
- Imagine City (Development)https://www.youtube.com/watch?v=B8Ge3nN_NiI
A three-dimensional business simulation game designed to be a massive multiplayer online game integrated with social networks. The objective is to build a city from scratch and try to address the many problems that arise from it (hunger, unemployment, pollution, etc). In short, the idea is to try to reach the eight Millennium Goals at this small scale and to try to realize the difficulties of it as well as to learn how to accomplish them. This is done by constructing and evolving roads and buildings, passing laws and measures, and establishing partnerships with other players. Each of these actions can contribute in many different ways to improve your score regarding the Millennium Goals' achievement. Imagine City is intended to be "non-ending game." The player's objective is to improve his city as much as possible and compete in a world's Imagine City Ranking.
This project was implemented in C# with the XNA framework for graphics.
- Luís is a mentor in the Toptal Global Mentor’s Program. This program is a partnership between Toptal and General Assembly to provide high quality mentorship for students from minority and low income backgrounds who are looking to begin their careers as professional software engineers. Luís shows commitment to diversity in tech by mentoring a General Assembly student every week for a year, covering everything from coding tips and tricks to advice on making it in the industry.
FrameworksASP.NET, ASP.NET MVC, Maria.js, ASP.NET Web Forms, Classic ASP, Angular, Bootstrap, Android SDK, AngularJS, Ruby on Rails (RoR)
Libraries/APIsGoogle Maps SDK, Google Maps API, Google Maps, LeafletJS, Node.js, jQuery, OpenCV, OpenGL, Google API, React
ParadigmsObject-oriented Programming (OOP), REST, Functional Programming, Extreme Programming, Scrum
PlatformsWindows, Linux, Android, iOS, RapidMiner
OtherMachine Learning, Data Modeling, Data Mining, Posters
ToolsAdobe Photoshop, Sony Vegas, Paint.NET, Weka, Adobe Illustrator
StoragePostGIS, SQLite, PostgreSQL, MySQL, Microsoft SQL Server, Oracle SQL, MongoDB, Oracle PL/SQL
- Ph.D. (cum Laude) in Informatics Engineering2010 - 2016Faculty of Engineering of University of Porto - Porto, Portugal
- Master's degree in Informatics and Computing Engineering2005 - 2010Faculty of Engineering of University of Porto - Porto, Portugal