Luís Filipe Teófilo, Developer in Porto, Portugal
Luís is available for hire
Hire Luís

Luís Filipe Teófilo

Verified Expert  in Engineering

C# Developer

Location
Porto, Portugal
Toptal Member Since
December 8, 2014

With experience both as a scientist and an industrial software developer, Luís has the capacity to address real-world problems with creativity and effectiveness. His background in R&D also gives him an edge in the implementation of efficient and clean solutions to solve problems with unusual requirements.

Portfolio

Agri-Esprit
Maria.js, PostgreSQL, PostGIS, Leaflet, Node.js, JavaScript
Artificial Intelligence and Computer Science Laboratory
Machine Learning, OpenGL, Java, C++, C, C#
Fast Luza - Consultoria, Unipessoal, Lda
Classic ASP, jQuery, HTML, JavaScript, Java, PHP, Windows Forms (WinForms)...

Experience

Availability

Part-time

Preferred Environment

Windows, Subversion (SVN), Android Studio, NetBeans, Visual Studio

The most amazing...

...I've coded is an algorithm for opponent strategy modeling in incomplete information problems, which uses weighted Euclidian distance between chart slopes.

Work Experience

Software Engineer and Researcher

2015 - PRESENT
Agri-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.
Technologies: Maria.js, PostgreSQL, PostGIS, Leaflet, Node.js, JavaScript

Researcher

2009 - 2016
Artificial Intelligence and Computer Science Laboratory
  • 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.
Technologies: Machine Learning, OpenGL, Java, C++, C, C#

Software Engineer

2010 - 2014
Fast 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.
Technologies: Classic ASP, jQuery, HTML, JavaScript, Java, PHP, Windows Forms (WinForms), Microsoft SQL Server, Android, ASP.NET, C#

Teacher

2008 - 2014
Faculty of Engineering of University of Porto
  • 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).
Technologies: PHP, UML, Assembly, Oracle SQL, Java, PostgreSQL, C#, C++, C

Fusion Farming Suite

A web-based ERP for large-scale agricultural farm management and related decision support systems. At this project for Agri-Esprit, I mainly worked on Geolocation interfaces for geometry edition of crop plots and live GPS-based tractor tracking interface (JavaScript with Leaflet, Node.js on the server, and PostgreSQL with PostGIS in the database). I also worked in on the back-end and front-end of this platform dashboard. It used D3/HighCharts for displaying data and the back-end generates the data created by prediction models obtained live from weather stations, temperature sensors, and pluviometers. By observing the dashboard, it is possible to optimize decisions regarding the farms conditions and automatically create work orders (e.g., apply pesticides).

FastMEX

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)

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.

Private Investments Manager

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.

Bilbayt (via Toptal)

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.

Vending Machine Software (Cafematic)

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#.

Xpressrepair

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

Digital Product Catalog

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

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

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

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

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

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.

Languages

JavaScript, SQL, Java, C#, Prolog, C++, T-SQL (Transact-SQL), PHP, XML, C, HTML, Assembly, UML

Frameworks

ASP.NET, ASP.NET MVC, Maria.js, ASP.NET Web Forms, Classic ASP, Angular, Bootstrap, Android SDK, AngularJS, Ruby on Rails (RoR)

Libraries/APIs

Google Maps SDK, Google Maps API, Google Maps, Leaflet, Node.js, jQuery, OpenCV, OpenGL, Google API, Windows Forms (WinForms), React

Paradigms

Object-oriented Programming (OOP), REST, Functional Programming, Extreme Programming, Scrum

Platforms

Windows, Linux, Android, NetBeans, iOS, RapidMiner

Other

Machine Learning, Data Modeling, Data Mining, Software Engineering, Software Development, Web Development, Freelancing, Posters

Tools

Adobe Photoshop, Sony Vegas, Paint.NET, Weka, Visual Studio, Android Studio, Subversion (SVN), Adobe Illustrator

Storage

PostGIS, SQLite, PostgreSQL, MySQL, Microsoft SQL Server, Oracle SQL, MongoDB, Oracle PL/SQL

2010 - 2016

Ph.D. (Cum Laude) in Informatics Engineering

Faculty of Engineering of University of Porto - Porto, Portugal

2005 - 2010

Master's Degree in Informatics and Computing Engineering

Faculty of Engineering of University of Porto - Porto, Portugal

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