portfolio

I like projects that sit between research and implementation: understanding a problem, building something concrete, and documenting what I learned along the way. This page brings together the work that best represents that path so far.

The first projects are part of my current master's work at Concordia University. The rest moves through my bachelor's research, community work, visual design, and a few course projects that made computer-science concepts much more tangible.

Current work

Research software I am developing with the Ptidej Team during my master's.

Master's research · Concordia University

CITYdata

A middleware for turning heterogeneous urban datasets into reusable, composable data services.

Cities generate a great deal of useful data, but it rarely arrives in one clean format. As a research assistant and software contributor, I work on CITYdata, the data middleware in the TOOLS4CITIES ecosystem. Its producers retrieve data, operations transform it, and runners coordinate the workflow before results are exposed through an API.

My current contribution extends its data-source support with JPG and XLSX producers. This includes workbook parsing, metadata-aware access, reuse of existing CSV operations, and automated tests. The work is active and still being integrated into the wider middleware.

Java 21Spring BootREST APIsApache POIJUnitSmart Cities

Master's research · Ptidej Team

CRVJA

A browser-based tool suite for writing, running, and preserving AMOS programs and games from the Commodore Amiga.

Old software does not have to disappear with its original hardware. CRVJA transpiles AMOS BASIC into browser JavaScript and provides CINA, a Workbench-style IDE for editing and running the result. The suite also handles AMOS binaries and sprite banks used by preserved games.

I implemented much of the v2 architecture: a standalone, versioned Express back-end; its integration with the CINA front-end; and metadata-based transpiler selection so older projects keep running with the version they were built for. I also worked on language support, tests, interface improvements, and fixes for games used during ReAnimate 2026.

Next.jsReactExpressANTLR4JavaScriptSoftware Preservation

Research & community

Research that became publications, tools built with student groups, and work beyond code.

Bachelor's thesis · Network science

Beyond Boundaries

A reproducible study of international and cross-subfield collaboration in Brazilian computer science.

For my bachelor's thesis, I built an OpenAlex pipeline covering 2015–2024 and used bibliometric and network analysis to study how Brazilian computer-science researchers collaborate across countries and subfields. The cleaned analysis covers 68,142 publications and 128,847 authors.

Roughly three quarters of the publications were domestic-only. Internationally co-authored work was associated with higher citation counts, while the network structure revealed substantial differences between subfields and a small number of bridge researchers connecting otherwise separate communities. An earlier version of the study was published at BraSNAM 2025.

PythonOpenAlexNetworkXGephiScientometricsData Science

PET Computação UFPR · Data & software

ADEGA

A Django system that turns academic records into decision-support views for university course coordinators.

ADEGA—Análise de Dados Estatísticos da Grade Acadêmica—was developed by students from PET Computação at UFPR. It transforms grade and attendance histories into charts, tables, and other views that are not normally available in academic management systems.

The tool supports decisions around failure patterns, internship eligibility, prerequisites, equivalencies, and students at risk of compulsory withdrawal. I contributed to the project while working with PET Computação, and the team later published a paper describing the system and its use in higher education.

PythonDjangoData ScienceEducationSoftware Engineering

Community · Marketing & IT

Enactus UFPR

Communication and technology work for a student team focused on social entrepreneurship.

Enactus was one of the places where I learned that a technical background can be useful well beyond writing code. I worked with the marketing team, created content for social media, helped organise events, and maintained the team's WordPress site.

At the time, the team's main initiative was ECOlchão, a social project exploring how everyday sponges could be recycled as mattress filling. Working with people from different courses made this a particularly valuable team experience.

Social EntrepreneurshipCommunicationWordPressEventsTeamwork

Creative work

Visual Design & Video Editing

Logos, sports identities, merchandise artwork, and video editing alongside my technical work.

I also enjoy visual work. During my bachelor's, some of the logos and graphics I designed for the Computer Science class and its teams became real jerseys, mugs, T-shirts, and hoodies. I like the challenge of reducing a group's personality to a mark that still works when printed, embroidered, or seen from a distance.

The gallery also includes a Ptidej logo and its application on a jersey. Beyond static graphics, I edit short videos for Instagram and TikTok, and I edited the video shown during my bachelor's graduation ceremony. It is a different kind of problem solving, but one I genuinely enjoy.

Logo DesignApparelMerchandiseVideo EditingSocial Media

Bachelor course projects

Smaller projects from UFPR courses, kept here for the computer-science ideas they made concrete.

Bachelor course project · Football analytics

FINTA

A C++ terminal application for exploring nine seasons of Brazilian Série A results and statistics.

Football is one of the subjects I never get tired of, so during my bachelor's I turned it into a course project. FINTA reads Brasileirão data from 2014–2022 and lets users explore league tables, rounds, team results, detailed match statistics, players, cards, goals, and coaching records.

I modelled leagues, teams, matches, people, events, and statistics as C++ objects, then used Boost.PropertyTree to process the JSON dataset.

C++20BoostJSONObject-Oriented DesignFootball Data

Bachelor course project · Operating systems

PingPongOS

An incremental implementation of the student portions of a didactic operating system inside a Unix process.

In an Operating Systems course, I implemented the student components of PingPongOS, a didactic system designed by Prof. Carlos Maziero at UFPR. Across thirteen stages, the project grew from a circular queue and task contexts into a user-level threading environment with a dispatcher and scheduler.

Later stages added priority aging, timer-driven preemption, task accounting, semaphores, message queues, and an asynchronous virtual-disk manager. It was one of the projects that made operating-system concepts feel much less abstract.

CPOSIXSchedulingConcurrencySystems Programming

Bachelor course project · Computer networks

File Backup over Raw Ethernet

A C++ client-server system for backing up and restoring binary files directly over Ethernet raw sockets.

For a Computer Networks course, Pedro H. Kochinski and I built a backup system that transfers files without relying on TCP or UDP. We defined a compact frame format and implemented Stop-and-Wait delivery with sequence numbers, acknowledgements, timeouts, duplicate handling, and retransmission.

The system handles binary files and groups of files, detects transmission errors with parity, and verifies completed backups with MD5. It can run between two cable-connected Linux machines or through the loopback interface for testing.

C++Raw SocketsEthernetProtocol DesignOpenSSL