Some of the programming projects I've done. Their repositories can be found at my GitHub profile, if they're not private. The source code for this website can also be found there.


AvaMSN login screen

A cross-platform MSNP client. Still a work in progress, but it has a decent set of features.

MSNP was the protocol used by MSN Messenger, with this client using version 15 of the protocol. Though Messenger has been dead for years now, there are third-party servers such as CrossTalk that implement those MSNP versions and more, thus reviving official clients and working with old and new third-party ones.

This project was made with C# and Avalonia, and is available for Windows, Linux and MacOS here.


VerificarMudancasNoQ config screen

Basically a webscraper and page monitor. A sound is played every time changes are detected in a page. It sits in the system tray and can be configured by editing its .config file or by using its configuration screen, which can be seen in the image above.

It was very useful to know when the teachers posted any grade in my school's website, which is where it was designed to scrape pages from. The site isn't used anymore by the school though, it was replaced by a more advanced one, so this project doesn't have much use nowadays.

This version was made in C# using WPF for its graphical interface.

Artists API client

Artists API client main screen

How I manage the favorite artists page. It is a web client to the private API that allows me to add or remove artists and their albums from the database. Way better than adding records or making requests manually, like I used to.

The app requires a login and is available at a subdomain. As can be seen in the image it is themed similarly to the main website.

Made using Vue.js.

Website Volume

Website Volume popup

This is a currently in development, but mostly finished, extension that allows changing the volume of websites. It remembers the latest set value even after closing the browser. Volume is stored in a per website basis, so multiple tabs in the same website have the same volume.

Due to limitations in the APIs it uses though, a user needs to either click the extension icon or press Alt+Shift+S when reopening the browser or opening a new tab in the same website.