Projects

In this page you can see my main software projects that I've developed or contributed to in the past, or that I'm currently developing.
The source code of the majority of these products is available on my GitHub, so make sure you check that out and maybe drop a follow 👌

My Main Projects

Labcentric - Monitoring and Management System for Labs

Oct 2020 - Present
Team of 8 people
  • Team leader of a project being developed for the Dr. Ricardo Jorge National Health Institute.
  • Developed web app for management of reagents, samples, procedures and executions, results, and other important data for the institute.
  • Developed a Computer Vision module that identifies QR Codes on reagents and monitors the scientist's steps when executing a procedure.
  • Integrated a CI/CD pipeline for linting, testing, and deploying the application on a Heroku server.
PHP
Laravel
Javascript
HTML
CSS
PostgreSQL
Python
Flask
OpenCV
Docker
Heroku
Gitlab CI/CD

Personal Website

Feb 2020
Individual Project
  • The website / personal blog that you are on right now!
  • I made this blog with the goal of exposing my activities, interests and ideas, and putting myself out there.
  • Developed using the Gatsby framework and hosted on Netlify.
Javascript
Gatsby
React
GraphQL
Tailwind CSS
Netlify

Intercompany Process Automator App

Set 2020 - Dec 2020
Team of 4 people
  • Promoted automation of purchase/sales processes between companies by developing a web application that integrates with the Primavera Jasmin API, that defines and handles all the transactions based on previously defined business processes.
  • Offered overall view of transaction processes between companies by creating an interface that provides an overview of all related documents.
Javascript
React
Bulma (SCSS)
Node
Docker
PostgreSQL
Primavera Jasmin API
gif

Distributed Agent-Based Emergency Call System w/ Simulation & Visualization

Set 2020 - Dec 2020
Team of 3 people
  • Developed a multi-agent system capable of receiving emergency calls from a certain location, and selecting the best vehicles for the emergency.
  • Developed a visualization tool that creates a map that shows all the vehicles in the system, the current emergencies and connections representing the allocation of a vehicle to an emergency.
Java
JADE
SAJaS
Repast

Statically Verified Tree Set Implementation

Dec 2020
Individual Project
  • Developed a statically verified implementation of a Tree Set (Sorted Set), using a Binary Search Tree, in the Dafny programming language.
  • Implemented operations for insertion, deletion, checking if an element is in the set, returning a sorted sequence of all the elements, and more.
Dafny

Distributed Backup Service for the Internet

May 2020 - Jun 2020
Team of 4 people
  • Developed a distributed peer-to-peer system in the Internet that allows the backup of a file divided in chunks in other peers; also allows the restoration and deletion of a file, and the reclaim of a peer's personal space.
  • Protected the system against faults and raised its stability and scalability by using and implementing the Chord Protocol.
  • Assured the privacy and integrity of the messages, and increased system security by implementing secure communication channels with JSSE.
  • Achieved high degrees of concurrency and parallelism by using thread-pools and non-blocking I/O.
Java
Shell

Covid Forecast Tool

May 2020 - Jun 2020
Team of 3 people
  • Extracted Covid-19 data from a Kaggle dataset that contained the confirmed, death, and recovered cases for each day and for each country/region; developed and trained several regression models with the goal of successfully predicting Covid-19 cases and deaths.
  • Used data visualization Python libraries to create graphs in order to better understand data patterns.
  • Utilized the following models and methods: Neural Networks, Stochastic Gradient Descent, Support Vector Machines, K-Nearest Neighbours and Random Forest.
  • The Kaggle dataset used can be found here.
Python
Jupyter Notebook
SKLearn
Pandas
Numpy
Matplotlib
Seaborn
Kaggle datasets

NewsLab - Collaborative News

Mar 2020 - Jun 2020
Team of 4 people
  • Developed a web app/platform to write and share news and opinions, enabling people to interact with the articles by rating and commenting.
  • Performed various tasks regarding planning and specification, from developing frontend page mockups to designing the database structure.
  • Adopted an Agile methodology to develop this project, working in iterations and selecting user stories to implement in each one.
PHP
Laravel
Javascript
HTML
CSS
PostgreSQL
Docker

Java-- Compiler

Mar 2020 - Jul 2020
Team of 4 people
  • Developed a tool that serves as a compiler of .jmm files, written in the Java-- language, a subset of the Java language.
  • Implemented various compilation stages, like the lexical and syntactic analysis, the semantic analysis, and the code generation phase.
  • Worked on several compiler optimizations: liveness analysis, register allocation, constant propagation and folding, and dead code removal.
Java
JavaCC
Jasmin

OpenCX - Mobile App for Conferences

Oct 2019 - Jan 2020
Team of 4 people
  • Contributed to an open source project by developing a mobile app for conferences, that allows the user to see the conference's program and to make a custom schedule, receiving push notifications when an event is about to start and also allowing BT scanning for near-by events.
Flutter
SQLite
Gherkin
Bluetooth

Pharmacy Delivery Routing

Dec 2019 - Jan 2020
Team of 2 people
  • CLI application for a "distribution company" that calculates the best routes for delivery trucks that need to go to certain pharmacies to deliver goods.
  • The problem is an instance of the Vehicle Routing Problem with Time Windows (VRP-TW); the goal is to generate the schedule of the distribution company, while minimizing both the number of trucks used and the overall distance traveled by the trucks.
  • Done using Prolog and its clpfd restrictions library.
Prolog

The 7th Guest Infection

Nov 2019 - Jan 2020
Team of 2 people
  • Developed a fully playable version of the game The 7th Guest: Infection, with various game modes (Human vs Human, Human vs Computer), (Computer vs Computer).
  • Implemented the game mechanics and various AI difficulties on a Prolog server.
  • Developed a graphical interface with WebGL, using lighting, shaders, textures and animations, that communicates with the Prolog server.
Javascript
WebCGF (WebGL library)
Shaders (Vert and Frag)
Prolog

House Renting Web Application

Oct 2019 - Dec 2019
Team of 3 people
  • Developed an Airbnb-like web platform for house renting, using vanilla HTML, CSS, Javascript and PHP, using various web development techniques like AJAX.
  • Had in mind web security principles and prevented various types of attacks and vulnerabilities, including XSS, CSRF and SQL injection.
HTML
CSS
Javascript
PHP
SQLite

Security Van Routing

Mar 2019 - May 2019
Team of 3 people
  • Calculated paths for trucks with pick up and delivery of items along the way, tested in graphs with up to 21.2k nodes and 21.7k edges, by implementing various "shortest path" (and similar) algorithms (Dijkstra, Floyd‐Warshall, and more), and some heuristic algorithms.
C++
GraphViewer (Java API)

Personal Space Invader

Dec 2019
Team of 5 people
  • Game developed for the event RetroJam2019. The theme of the game jam was "Space".
  • The main character is in a club, having to avoid getting close to everyone else in order to not game over.
Godot
GDScript

Color Shooter

Oct 2018 - Jan 2019
Team of 2 people
  • Developed a Space Invaders style game, where the user had to shoot the different colored enemy ships with bullets of the same color.
  • Developed a graphical interface for the game and added mouse and keyboard functionalities by programming various device drivers and computer peripherals (mouse, keyboard, timer, video card).
C
Minix OS
@ 2021 - Eduardo Carreira Ribeiro