Photo of Bruno Parga

Bruno Parga

Web developer, coding bootcamp instructor

React, NodeJS+Express, Rails, Elixir+Phoenix

After majoring in History, freelancing as a translator, serving at the Brazilian Foreign Ministry as a diplomat and driving for ride-sharing services, I've pivoted to a programming career.

I am currently available for freelance and full-time Web dev work. This is my resume and below is some of what I can do.

Cicero

A screenshot of the Cicero website

Cicero is a Latin language learning app. It is based on the list of the ~1500 most common words found in Classical Latin texts. As you learn, it will remember which words you've already studied and present them for review.
Back-enddeveloped with Express.js in plain JavaScript;front-endin React with TypeScript. I decided, as an experiment, to use the Context hook of React exclusively, in lieu of Redux, for app state management.

Words

In this game, you are presented with a series of letters. You must find the longest word you can with them. But it may also be a good move to form a short word like hex, since rare letters like X score more points...
Developed with Node.js, Express and the Pug templating engine.

A screenshot of the Words website

Contributions to open source projects

PredictionBook

A screenshot of the PredictionBook website

A Web app to record and track predictions.
On top of several maintenance activities I've performed for this Ruby on Rails/PostgreSQL project, I have introduced the filtering tool that allows users to see only predictions that have already resolved as right or wrong, or only those still in the future.

ActivityWatch

A time-tracking/lifelogging app.
I have restored the VS Codium extension ("watcher") to functionality, so that I can use it myself 😊. This required a fix to itsJavaScript clientas well.

A screenshot of the ActivityWatch website

react-combine-reducers: A small library providing the same functionality as the combineReducers utility from Redux, but designed for use in Redux-less apps. I replaced a deprecated dependency from this package with a more modern one. I also provided the only tests present in the project.

coc-eslint: Integrate Eslint linter with Vim text editor by means of Coc NodeJS interface. I contributed documentation to this project.

Challenges done while interviewing

FaveJobs

A screenshot of the FaveJobs website

A client to a job search portal"s API. I built the frontend in React andthe backend in Ruby on Rails. There being no user authentication was part of the challenge specs.

GitHub Stars

A client to interact with GitHub"s API, fetching a given user"s starred repositories. When interacting with their own repos, users can add tags to them. The design is very bare-bones because making it pretty was a separate challenge, specific for designers! My Rails server renders the views (without React or any JS frontend framework.)

A screenshot of the GitHub Stars website

Some of my interests

the logo of the Machine Intelligence Research Institute. Ten stripes rise from a point at the bottom center; their width and spacing increases as one moves up along them. The perspective suggests they turn outward, facing the viewer, forming a semicircular shape. The leftmost one is orange, the second one is green, the rest are blue. Below the stripes is the acronym 'MIRI' in capital blue letters.

Rationality

I love the art of rationality: obtaining better beliefs — ones that better reflect reality — and systematically achieving one's goals.

Effective Altruism

Effective Altruism is the idea that our efforts to make the world a better place (e.g. through charity) should use reason and evidence in order to maximize their positive impact.

I have taken the Giving What We Can pledge to donate 10% of my lifetime income to effective charities.

The logo of Giving What We Can: a dark red square with centered text: the word 'GIVING' in white capital letters and the text 'what we can' below it in light gray.