Skills used

AngularJS
C#
CSS
Go
HTML
Javascript
Python
VueJS

Flagbrew

Around summer of 2018, I was recruited onto a team of open-source developers to form an open-source organization on GitHub known as Flagbrew. Now Flagbrew primarily develops homebrew applications for the Nintendo 3DS & Nintendo Switch, some apps including PKSM (Pokemon Save Manager) and CheckPoint (a save management tool, used for backing up and restoring saves).

The first Flagbrew website

They recruited me into the team because they wanted a website to showcase their apps, and thus after working with the leader of the team Bernardo, I was able to get the first version of the website up and running within a few weeks

This version of the site, was built using GitHub's page generation and hosted with GitHub pages. It was able to interact with GitHub's API to fetch data like the download counts and stars for each project, but there was a problem with it.

The problem

Because we weren't doing authenticated calls to the GitHub API, it would limit the API requests per IP to 60 calls per hour, meaning a visitor would burn up their non-authenticated API calls within a page load, which would cause the page to break.

The solution I did up for the problem, was to write an external web application that would make the requests every hour and just cache them in a database and then make a call to the external caching website with the data requests, this solution was known as CacheBox.

Now CacheBox was only really a temporary solution, the next version of the website would feature this kind of functionality directly built in.

The second version

The second version of the website was built on Python (using Flask as the web server), this allowed the automation of fetching information from GitHub through a daemon that runs hourly to pull down new information and cache it locally in a MongoDB database.

Not only was it a new backend being used, but entirely new front-end was designed as well.

Python would be used for about a month until I ported the site to Golang, upon switching to Golang I able to clean the code up a lot and add some nice new features.

The current version

The current version of the site is powered by Golang (as mentioned above) and has a lot new features including some visually appealing features like dark mode

Current site (light mode)

Current site (dark mode)

 

But the visual changes weren't the only new additions to the website, I also introduced a new feature called GPSS (Global PKSM Sharing Service), GPSS put simply is a service that allows people to share Pokemon from PKSM (Pokemon Save Manager) a homebrew application that runs on the Nintendo 3DS 

Overall a lot of effort went into this website and it is something I am very proud of.