About me

I started to code in middle school with my Texas Instruments 84 calculator, back in 2004.
I didn't know what I was doing, it was mostly trial and error, trying to print something on the screen.
My life changed when I discovered the TI-Basic Programming Guide (yes, the documentation).

Since then, and a degree later, I've been doing a bit of everything! I can code in several languages, for multiple platforms, web apps, mobile games, desktop/mobile interactive apps, interactive solutions with Arduino, browser extensions, web with PHP, Laravel, Javascript,

Vue.js, I have some projects on GitHub, mainly Java, PHP and Javascript and I've collaborated for a variety of open source projects, from a Laravel CMS to a Java WebSocket server.

My knowledge extends for many languages such as C, C++, C#, Perl, Python, I got them mainly from online challenges.
I also like a lot of things related to coding, like code golf (ES6 gave it a huge boost) or regex, I can't even describe how useful regex is on a daily basis.

For the last couple of years I worked on some huge projects like the World of Wine in Porto, the Pelé Museum in Brazil, I was there for a month and it was an incredible experience. I was in Greece with amazing Greek and Russian teams for 2 months, working on a Java server for a mobile multiplayer game. I also worked at the World of Discoveries at Porto, UEFA Champions League Final and SLBenfica Stadium at Lisbon and many others, scroll down a bit more to get to know a bit more.


Stats

Since early age I'm passionate about statistics, being spreadsheets one of my hobbies.
Here you have some cool stats about me. (real time up to date)

I'm quite active on StackOverflow, I was there some minutes ago.
I have 8000 reputation points, 5 gold badges, 50 silver and 50 bronze.

On GitHub, I was starred 135 times, and forked 47, all this spread over 38 public repos and 13 gists.
I belong to 3 organizations.

I drove 185.000 km,
spending a total of 3.000 hours driving, almost 1.2% of my life.

I flew 61 759 km in 14 flights,
visiting 11 different countries, 3 continents, 5 islands, both hemispheres.

While living most of my time in Portugal, exactly 10 733 days,
I was 157 days abroad, nearly 1.50% of my life, between working and traveling.

Until now, I spent 31.657% of my life sleeping, 10.41% eating, 11.62% working, 18.41% studying, 8.15% exercising, 4.12% commuting and 3.42% coding on my free time.


Timeline

Animais de Rua Volunteer


Animais de Rua is a non profit organization which rescue animals in the streets. They were in need of a platform to manage every process related to the animal collecting and treatment. I was glad I could help, I created their back office from scratch using Laravel, it's all open source on github.com/animais-de-rua, it's a huge project with tons of entities and relations between them and a lot of different permissions for users.

Later on I end up also creating their website, which is fed with data from the back office. The website is also a webapp, since I had the time, I created everything from scratch with no frameworks, just Vanilla JS, it's just 14K of JS + CSS, everything is cached and shown instantly to the user. Google Lighthouse score is near 100%, I tried to apply the best principles and the most recent web methodologies.

I've been collaborating with them since then, there's always some fixes and adjustments to make the platform better.

Gema Digital


By working at GEMA I've been developing with many technologies, in many places, mostly for Portugal, but also Greece and Brazil, with projects all around the world.

I've been doing mostly Laravel PHP backend and API, Node JS apps, Javascript WebApps, Java socket servers, Unix server management, MySQL and Redis Databases, some Python scripting and Arduino.

Some installations you may heard about:

  • World of Wine (Oporto, PT)
  • Pelé Museum (So Paulo, Brasil)
  • World of discoveries (Oporto, PT)
  • Chocolate Factory (Viana do Castelo, PT)
  • FIFA U-20 World Cup (Turkey)
  • Filda '13 & '14 (Angola)

Some of the most challenging projects:

  • Unicredit UEFA Champions League Final (Augmented reality Android app)
  • Benfica Tours (Augmented reality tour around the stadium)
  • Rock In Rio '14 - Santa Casa (Mobile game)
  • Filda - Total / Esso / Chevron / Viv / Sonangol / Total / Zap (Mobile apps and games)
  • Penalty Quiz (iOS/Android game)
  • Footy Quiz (iOS/Android game)
  • XPlora (Augmented reality mobile app)
  • OneCore (Node JS app, with an webapp to control devices on Gema installations)
  • MOSS (Java multiplayer socket server)
  • Comédia à la Carte (Interactive webapp for their shows)

Among many others like Casa do Cinema Manoel de Oliveira, Embratur, Pepsi, Angolauto, Amazonas, Seat, Nespresso and many GEMA own projects.

Backpack for Laravel


Backpack for Laravel is an Open Source PHP project maintained by Cristian Tabacitu, it makes any developer's life easy by speeding up CRUD development.

There's a great community around this project and I'm glad to be part of the organization and contribute with code and ideas. You can find it at github.com/Laravel-Backpack/CRUD.

Github


I've been contributing on Github for some open source projects for several years, everytime I use some package lacking a feature or having a bug, I tend to open a Pull Request to fix that.

The Arctic Code Vault purpose is to conserve the best open-source projects for future generations by storing them in an archive and save it for a thousand years in a vault located in Svalbard, Norway.

Some of my contributions led me to the Arctic Code Vault Contributor badge. Maybe you know some of the projects I've contributed too;

Among others.

BrainFck Compiler


I love coding challenges, and I've done plenty of them on websites like hackerrank, codesignal and codecademy. The most exciting for me are code golf challenges, where you have to find a solution with the minimum amount of bytes/chars.

One of these challenges was to create a BrainFck compiler, BrainFck is an esoteric coding language made of 8 chars only, ><+-.,[]. The language itself is crazy difficult, creating a compiler for it was even harder.

Stackoverflow - First 100 answer


Every developer knows Stack Overflow, it's the biggest question and answer site for developers. I started to post answers to old unanswered questions on the site and soon the thrill of getting positive feedback for my contributions led me to contribute more and more.

Nowadays I have almost 200 answers and a lot of points and badges on the site.

Better Image Viewer


Better Image Viewer was a Google Chrome Extension made with plain HTML and JavaScript. It allowed users to view images inside Google Chrome with a more elegant way, and had a lot of features like rotating the image, zooming, among others.

The extension had 200k downloads and a peak of 30k daily users. I maintained the extension for some years until I sold it to an Israeli company.

Web Developer Freelancer


I've been working as a freelancer for a long time, I've made some PHP Websites, like Wood Prestige, Web Sinus, DAM. A lot Android mobile games and Web and Android brand activation apps for some famous brands like Água das Pedras, Clinical Lab, DGS, Lidl, MEO, Navigator, Federação Portuguesa de Futebol, OK estudante and Santa Casa.

The biggest challenge was an Ad management system for Tabaqueira, the biggest Portuguese tobacco company, it was a CakePHP backend to remote control ads displayed on all-in-one Android displays, almost every tobacco seller in the country used it.

Creative Bitbox


This was my first job, I was mainly a web developer and learned more in a few months than I could expect. I learned Ruby on Rails, PHP, JavaScript and many concepts of GIS (Geographic information systems), I was able to improve my knowledge a lot.

I've collaborated on a few projects, but I was able to achieve many others on my own, B-Around Map, was probably the biggest challenge I had, it's a library that allows to add a map module to a page (a Google Maps with its own layout).

I was also the main developer for other projects, Creative Bitbox website using PHP and a lot jQuery and Inova Gaia website using Ruby on Rails and alsojQuery (popular at that time).

TI 84 3D Engine


I started to code on TI 84 calculator back in 2005, at that time I was far to know one day I would create a whole 3D engine on it.

This was one of the most challenging things I've done in my life. Ti 84 graphics are basic, it's a screen of 96×64 pixels, 24Kb RAM and 480Kb ROM, not to mention the language, Basic.

With these specs, I was able to create an engine to, first, create 3D models, draw them and apply operations like scale and rotation, and even change the perspective of the camera.

I spent countless hours, mostly while going back home on weekends after university.

University


I'm graduated as a Graphic Computation Engineer on Instituto Politécnico de Viana do Castelo. I proudly got the Ministry of Education Merit Award in 2011, for finishing with the highest average of the institution that year.

I learned a lot during these 3 years, some of my projects were a queue waiting simulation, in C++, a multiplayer Bingo game in AS3 with a C# socket server, or a Tank missile game in OpenGL, among many others.

Some of the most important concepts in my graduation were;

  • Algorithms and data structures
  • Mathematics for graphic computation
  • 3D Programming
  • Databases
  • Networks
  • Graphic Computation
  • 3D Modeling
  • Geographic information systems (GIS)

Firefox Mac OS Theme


Firefox 3.5 Mac OS theme was during several months, in the top 5 most used Firefox themes in the world, with almost 2M downloads, and 150k daily users. At this time, I didn't know how to code, so this theme was created, once again, mostly trial error.

I started to create the theme for myself because I liked customization, I was used to create themes for my Nokia phones (I used paint to draw the images btw).

One day I decided to publish the theme, and boom, people started to use it, a lot, I even had a chinese person asking me to create special version of the theme with bigger font size due to the chinese characters.

TI 84


This was the very beginning of my developer career, I was in middle school when I started to type some instructions on my TI 84 calculator. At that time I didn't even know I was programming and it was mostly trial and error.

Later on I started to acknowledge more and more and I started to code simple scripts to solve the daily new subjects in math classes. Like second degree equations formula, or trigonometric formulas to solve angles and triangle side sizes.

It was, above everything, much fun, the thrill of feeling I could handle the computational power of the calculator in my favor to produce the data I need.

I was born 616 808 700 seconds after UNIX Epoch,
it's been a great journey of 000 000 000 seconds since then.