During my academic career I've worked on several projects proposed by teachers on their respective courses and also participated on several investigation projects in the Laboratory of Communications and Telematics of the University of Coimbra (LCT-UC). As my final year dissertation theme I was also integrated on a LCT-UC team developing the Youth5G platform.


HappyHour is an application directed towards users who seek a good time when they go out for a drink and find the right night club for their mood. The system consists of a ubiquitous application that runs on the Android operating system, a “backend” server running services on Apache tomcat, a PostgreSQL database and a Facebook Management App used by nightclub owners.
The Management application allows owners to create events for their nightclubs and to schedule notifications to be sent to HappyHour users that are on the surroundings of their nightclub in order to promote “Happy Hours” or promotions.
The Android application is responsible for providing visual information and interaction with the user and for collecting data like position and accelerometer values. It uses Google Maps to allow users to visualize different nightclub establishments in their surroundings. The location of such establishments is fetched from Foursquare’s API by the backend server and integrated with the interactive map by the Android App. By clicking in each Point of Interest (POI) the App requests detailed information such as the establishments name, description, image and planned events. The POI information is a combination of the event information present in Foursquare with the information inserted by the nightclub owners on our Web Management application. The map view also allows the user to activate heatmap information to find out how crowded a bar is and if clients are moving much like when are dancing or little as when their are sitting. Read more about the project

WISE is a web platform used internally by the ITGrow company workers to find contact information of co-workers, reserve resources (like equipment and rooms) and schedule meetings. In this project the objective was to develop an android version of the service that allowed the workers to access the platform on the go. I was responsible for the design of the entire software architecture and also collaborated in the collection of the requirements from the client.

The Ubiquimesh Project is an ongoing research project for Future Networks, approved by the Portuguese Foundation for Science and Technology (FCT). This project focus itself in the research and development of intelligent and cooperative interaction, internally and between multiple mesh-networks for both backhaul and access networks, where multiple operators may be present. My contribution to the project was to make the transition of the simulation platform tools from ns2 (Network Simulator 2) to ns3.

Read more about the project

iMeme is a 3D computer game for Windows and MacOS created using the unity framework. It has elements of towerdefense and FPS with the player protecting his castle by placing towers and shooting a gun. Both the defensive towers and the enemies are composed of an array of known internet memes.

Download Windows 64Bits Version

Download Windows 32Bits Version

Download Mac OS Version

This projects main goal was to develop an alternative routing protocol with improved routing mechanisms, as well as scalability techniques for Mobile Ad-hoc Networks (MANETs). In this project I collaborated in designing and executing the real world tests that corroborated the simulations previously done in the laboratory. A tool in C was made to send packets of data between computers using the protocol and later the collected data was parsed using a java application that outputted the grouped results in a xls file

Read more about the project

MyDropBox was a distributed service, based on a client-server architecture, that provided online storage for sharing files and tasks. The server was based on a multi-threaded model that run on Tomcat and the clients could be Java clients with communication by TCP/IP sockets or Java RMI. Web clients were also available for managing the tasks relying on Ajax and Comet for communication. The server ensured high-availability of the service, by implementing several fail-over solutions including backup servers. The tasks system was also integrated with Google Tasks using REST.

The peTracker prototype was a project developed to showcase the capabilities of the wireless sensor networks (WSN). It was a service that allowed owners to be warned if their pet had escaped a predefined perimeter. It was composed of a box that was fitted in the pet's collar and a relay station. When the collar lost communication with the relay station the server triggered an allert to the owner's smartphone and the collar started to broadcast gps coordinates via gprs radio to the server. The user could then track the pet's signal in a map trough his personal area of the service's website.

This project was developed when I was working in a call centre run by the ZON tv cabo enterprise. Workers had to schedule contacts to interested of unavailable future clients but the software used lacked the tools. As a personal project I started to developed this tool as my personal agenda but when the supervisors verified it's effectiveness I made a more polished version to make it available to the whole call center. I developed a server where all agenda clients connected that allowed the users to send sms or emails through the call centre servers in order to mask their personal number / email. After half an year of use the platform it became useless due to changes on the company's policies which disallowed rescheduled contacts.

CulturalEvents was a simple Android app that allowed the user to read events from predefined or user added RSS feeds. The user could filter the list, view the details of each event and add them to the Google calendar.

This project was created as an introduction to SQL databases. It was a electronics store management software written in Java connected to an Oracle SQL database. It allowed store owners to manage their employes, clients, stocks, register sales and track repairs progresses.

This Tetris game was developed in Java. Besides the actual game functionality it allowed the user to record the gameplay to replay latter. A multi-player mode was also available in a turn based competition.

Download Java Executable

Gera Horários is an application developed for the students of the Faculty of Sciences and Technology of the University of Coimbra to find the best schedule possible. Every semester the users are given a great array of classes for the same discipline from which they should choose one. This application took all the discipline in which the student was enrolled and calculated the classes he could choose to best comply with the contraints defined by the user.