Software Engineer
Brick Abode
2019 Aug - 2020 Aug
TypeScriptJavaScriptF#ReactNode.jsPythonWebSocketsCIAutomation for testing and tooling

Worked on client projects since the company did not yet have its own products. Mostly spent time coding front-end and scripting (Bash, Makefiles, etc...) for Gitlab CI and different projects' tooling needs. Outside of coding, I had a role in setting up conventions and infrastructure for various projects from the very beginning, evaluating technologies and proposing enhancements to development processes.

3 months - Django + SQL + React

Worked on a huge 4-years-old Django codebase which had been migrating to React. The product was a long-running marketplace for trading assets and leveraging royalties from them. The back-end features relied heavily on document processing (e.g. parsing assets' catalogs), while the UI allowed for fine-grained user-interactions related to trades and sales, such as auctioning assets, requesting valuations, presenting sales and resales histories, etc...

3 months - Redux + React

Built a high-frequency UI for an exchange broker which made use of WebSockets for real-time live trading data. Most notably, the UI was entirely customizable: it allowed arbitrary composition of stateful components to be placed arbitrarily on a tiled grid using drag-and-drop events or shortcuts. It also allowed for the components to be detached from the grid and moved to a pop-up, but still interact with the main window. The UX was aimed at experienced traders accostumed to "Bloomberg Terminal"-ish interfaces, thus navigation was keyboard-focused with tons of shortcuts; interactions within and between components (e.g. navigation) made heavy use of event listeners.

1 month - Trialing technologies

Wrote reports and coded prototypes for technologies mostly considering their business viability; the criteria entailed: tooling and editor support, developer productivity, debuggability, supporting ecosystem, training cost, etc... Among the trialed technologies, notably: React-Native, Flutter, CMSes, general setup and infrastructure for starting new projects.

2 months - WebGL + React

Worked on an interactive 3D model demo for a security-related hardware product using Three.js and React.

3 months - F# + Fable + React

Since it was the company's first venture into F#, I worked on validating the language's ecosystem through prototypes such as: ergonomic interop between C# and F#, serialization and encoding protocols, websockets, asynchronous task execution model, etc. After having prototyped a back-end + app MVP, I worked mostly as a front-end developer using the Elm architecture for Fable (Elmish).

  • Infrastructure for testing on browsers (Nightwatch, Selenium, WebDriverIO) and mobile (Appium), both local and in the cloud (BrowserStack)
  • Writing Bash, Makefiles and Node scripts for CI stages or project-wide conveniences (e.g. source code formatting with custom blacklist rules)
  • Code generation tools for TS/JS projects
  • Setting up front-end projects (generally TS + React + Redux)
  • Risk evaluation and long-term estimation for big features and new projects
  • Python scripts for UML generation
  • Figma wireframes for simple screen concepts
  • Engaging new developers into contributing through high-level architecture documents, advocating for conventions and 1-on-1 guidance
Remote Front-End Developer
2018 Jan - 2018 Jul

Worked on a Vue SPA which empowered international students to send university applications from anywhere to anywhere in the world.

As a front-end developer, I queried a GraphQL endpoint for filtering and presenting universities. Mutations were used primarily for saving favorite lists, editing the profile, filling out applications, etc. On the social network side of the app, WebSockets were used for real-time interaction with other students, such as chat messages, friend requests, etc.

Outside of API interactions and coding the UI, I also coordinated the responsiveness and presentation efforts with the design team.

  • Responsive design development with SCSS + Vue + Vuex
  • Modular component presentation pages (Storybook-like) for feedback from the design team
  • Managing GraphQL subscriptions and WebSocket connections
  • Social network routing and micro-iteractions (send request, handle notifications, ...)
  • Document submissions for university applications through GraphQL mutations
Remote Full-Stack Developer
Estudar com Você
2017 Sep - 2017 Oct
RubyJavaScriptRest APIReact

Joined in the startup's early days just after finishing graduation. Unfortunately I felt burnt from college and didn't cope well with pressure back then, so didn't end up staying there for too long.

The product was a learning platform for university students. Its stack was based on Rails + ERB with some React for a few specific pages.

  • Maintain the administrative dashboard (lots of forms backed by ActiveRecords)
  • Implement responsive content display (PDFs, videos, ...)
  • Interact with external video providers (Vimeo, Youtube, ...)
  • Maintain Rails' APIs (resources, endpoints, ...) and ERB templates
Full-Stack Web Developer
2017 Mar - 2017 Sep

I was a major contributor in the first months of migration for a nation-wide health telediagnosis government platform. Mostly it undertook rewriting the system from Django (Python 2) to Laravel (PHP 7). My most particular contribution was designing an API layer on top of Laravel's ORM which resembled Django's, as well designing reusable Controller abstractions for the API.

The platform revolved around contextualizing and presenting information from a huge PostgreSQL database backed by PostGIS for doing geographically-aware data aggregation through all cities and states across Brazil.

  • Rewrite the system in PHP
  • DBA-esque work for PostgreSQL (restoring dumps, setting up migrations, ...)
  • Refactor the administrative dashboard
Full-Stack API and Mobile Developer
2016 May - 2016 Nov

Worked as the sole researcher on a UWP app for MOODLE mobile students.

The app's main novelty was automatically and seamlessly persisting all visited content for offline access. Instead of using MOODLE's PHP extensions, requests were consumed from a custom-made .NET WebAPI crafted through reverse-engineering, studying the original source code and doing database analysis.

  • Validate the UWP stack for real-world application needs
  • Reverse engineer MOODLE's requests and database schema for the custom .NET API