Francisco Cunha

Alexandria

Project page

  • Developed the React/Next.js front-end for a social media website that uses Quarto projects as posts that may be authored collaboratively by multiple users.
  • Led a team of 5 developers, coordinating team meetings, stakeholder communication, and managing the development process through SCRUM.
  • Implemented a Dockerized workflow and GitLab CI/CD pipeline to automate builds and testing.

Procedural texturing for pixel art

GitHub page

  • Implemented an image processing tool that procedurally adds detail to pixel art. The project is written in Python using OpenCV for image manipulation.
  • Developed novel method to create vector fields from simple user drawings through solving a Poisson equation, implemented using NumPy.

Minimizing energy consumption in a real-life classroom assignment problem

Co-authored a Springer-published paper proposing an algorithm that reduced university energy consumption by 26% through better assigning its 3046 classes to 97 locations.


SACI (en: Informatics centre’s decision-making system)

Led development of the the SACI online platform across front-end, back-end and optimization models. SACI uses optimization-based tools for decision-making and has been used by 300+ students and faculty members

Conferece report at Anais do Simpósio Brasileiro de Pesquisa Operacional (portuguese).


Personal website

Project page

Built a portfolio website using the Svelte framework, which programatically creates project pages based on a collection of markdown files.


Parallellines

Project page

Using CUDA and C++, implemented a GPU software rasterizer from scratch to replicate OpenGL’s basic functionality. It can render a 3D model with a diffuse and specular texture and a normal map, through user-defined vertex and fragment shaders.


Sortify

Project page

Using Rust to interface with the Spotify API, built a command line application to organize playlists.


Raytracer features

Added several features to a custom raytracer implemented in C++:

  • Added a bounding volume hierarchy, using a surface area heuristic with binning as the splitting criterion;
  • Implemented a bloom post-processing effect with a 2D gaussian filter;
  • Added support for contributions of glossy reflective rays.

Evaluator assignment and scheduling problem

Formulated and implemented an integer programming model to assign evaluators to grant proposals while simulteneously scheduling meetings amongst evaluators of the same proposal.


Meta-heuristic for the minimum latency problem

GitHub page

Using C++, implemented the GILS-RVND meta-heuristic for the minimum latency optimization problem. Learned how to implement algorithms from scientific papers.


Cloud Hopper

Project page

Solo developed a 3D platformer using the Godot engine. Implemented two level building blocks that introduce unique gameplay mechanics, a 3D character controller, procedural level decorations, and an assortment of other gameplay features.


Ghost Swap

Project page

In a two-person team, developed a 2D twin-stick shooter for the GMTK Game Jam 2023, in which it ranked 250 out of 6771 games.


Papercut

Itcho.io page

In a two-person team, developed a 2D stealth platformer for Ludum Dare 53.


Nibble calculator

Used IC chips with basic logic gates to build combinatorial and sequential circuits that made up a calculator. It supports addition and subtraction operations for 4-bit numbers and has a memory capable of storing two values.


Billboard Hot 100 analysis

Performed throughout data analysis on musical characteristics of 5100 songs that have appeared in the Billboard Hot 100 between the years of 1965 and 2015. Report is available in portuguese.


YOLO Mask detection

GitHub page

Built a computer vision application that used YOLOv5 to detect if someone is not using a sanitary mask, then sending a notification via Telegram bot.