gabriel picture
Gabriel G. Martins
Developer

Skills

Stacks

Web
Front-End
Back-End
DevOps
Desktop
Mobile

Languages

Typescript
Javascript
HTML
CSS
SCSS
C
C++
C#
Java
Rust
Python

Web

React
Angular
Vue
Node
Bun
Tailwind CSS
GSAP
D3.js
Webgl
Three.js
PWA

Databases

PostgreSQL
MongoDb
Mysql
MariaDb
LevelDb
SQL Server
DynamoDb

Desktop

Linux
CMake
Cairo
X11
XLib
XCB
Windows
.NET
GTK
GTK
QT
Vulkan

Mobile

Android
IOS
React Native
Android Studio
Ionic
Cordova
Capacitor
Flutter

Others

Esp32
AtMega
Arduino
Pic
Assembly

Personal Info

Date of birth: February 26, 1996
From: Volta Redonda, Rio de Janeiro, Brazil
Current Residence: Mendoza, Argentina
Timezone: La Consulta, Mendoza (GMT-3) (I'm available to work in different timezones)

Work Experience

Period:
2016 - 2019
Role:
Full Stack Developer
Client:
Orus CS
Relevant Tasks:
  • Developed a Web Chat using Websocket and Amazon SES to send messages by email when users were offline and redirected responses to the chat conversation with Websocket.
  • Created a web sales, inventory, and financial manager in Angular.
  • Designed an application that integrated manager functionalities and allowed offline data editing with later synchronization when the connection with the servers was reestablished.
  • Developed a POS system for bars and restaurants that used Google Drive spreadsheets as a database.
Period:
March 2019 - January 2020
Role:
Full Stack Developer
Client:
Picsize
Relevant Tasks:
  • Successfully migrated the PostgreSQL (RDS) database, recreated EC2 instances, reinstalled Docker, CapRover, Node.js, and Nginx applications on new instances.
  • Configured Nginx to redirect requests from users dedicated domains, generating customized PWAs from the same base application and dynamically generated manifests with user information.
  • Migrated the main server written in JavaScript (Node.js and Express) to Typescript.
  • Revamped the image upload system to allow direct file transfer from the browser to S3, followed by handling through Lambda functions for resizing, compression, and watermarking.
  • Wrote an application using Node.js and Shell script (triggered by Ubuntu Cron) to update SSL certificates through Let's Encrypt for users dedicated domains.
  • Installed Grafana and created charts and reports on application usage and user behavior using SQL queries.
Period:
January 2020 - October 2020
Role:
Frontend Developer
Client:
KrossTech
Relevant Tasks:
  • Developed NgRx modules and transferred all application state management to those modules.
  • Rebuilt the scheduled and unforeseen events manager for multiple production lines.
  • Developed a dynamic Dashboard page to visualize real-time data from a variety of IoT sensors.
  • Designed and developed a shift-based work scheduling system to manage which employees would be working on each machine, during each shift, and across various production lines.
  • Designed a page that generated reports on production line failures, highlighting the employees on duty, shift, time, and sensor values for each machine during that shift.
Period:
December 2020 - September 2021
Role:
Full Stack Developer
Client:
SportsTraders
Relevant Tasks:
  • Rebuilt the TeamBets app price graph using D3.js.
  • Performed an upgrade of the TeamBets app, transitioning it from Angular version 5 to version 6 and then to version 7.
  • Resolved numerous UI errors throughout the application's forms.
  • Refactor all request and error handling.
  • Refactor the UI alerts messages and layout.
  • Revamped the application's language translations and time/currency localizations.
  • Recreate the TeamBets app on Angular version 12.
  • Migrate the frontend requests to GraphQl.
  • Created a TeamBets app desktop version with large layouts(before it was only mobile).
Period:
November 2021 - July 2024
Role:
Consultant
Relevant Tasks:
  • Antilogarithm for calculating the estimated global population in real-time
  • Section on a landing page with animations created using D3.js illustrating the global population growth
  • Fancy interface with draggable windows and interactive menus featuring complex animations using React and Framer Motion, designed to create an elegant interface for users to customize facial moisturizers by selecting ingredients and active agents in an eCommerce for a beauty clinic
  • Interface with animations made using React and GSAP, allowing users to upload selfies and receive email reports suggesting cosmetic procedures to enhance their appearance, with AI-generated predictions of the potential results for each procedure
  • Development of infrastructure to handle image uploads using AWS Lambda functions with Node.js to store images in S3 buckets, triggering additional Lambda functions written in Python to run AI models for image analysis and generate reports, which were then emailed to users via another Node.js Lambda function. This project included setting up CORS policies for specific trusted domains, creating development, staging, and production environments, configuring DNS with Route 53, and managing user permissions and policies for each environment using AWS IAM
  • Creation of a landing page for a web development agency using Three.js, with shaders written in GLSL to create effects using Perlin Noise
  • Landing page using React, GSAP, and React Three Fiber, featuring animated and interactive 3D models triggered by page scrolling
  • New landing page for a beauty clinic with massive animations and transitions of images and graphs that were animated as the page scrolled
  • Landing page for the same beauty clinic's sales page using React and GSAP to animate image transitions, varied text animations for each section as the page scrolled, and a custom-built smooth scroll effect to meet design expectations
  • Fixing hacks, security issues, and performance improvements across multiple eCommerce pages and landing pages for various clients of a web development agency that had hired several junior developers who failed to complete the projects
  • Remote control system for a 3D printing farm with dozens of printers using Marlin and Klipper, aiming to unify the control of all machines in a single dashboard. The system included real-time camera monitoring, snapshots, commands to start/stop printing, axis alignment and movement, and the most complex part (which was ultimately deemed unfeasible due to cost-benefit concerns) was the unification of the file base across all machines, which would have been possible but required too much time and effort to be worthwhile
Client:
Others
Relevant Tasks:
  • Built a video call application with WebRTC that communicates with an IP Camera and a residential intercom, activating an electromagnetic lock.
  • Developed a residential biometric lock controlled via Bluetooth with an Ionic application for fingerprint registration and erasure.

Formal Education

Escola Municipal Amazonas
Primary School | from 2001 to 2005
Escola Dr. João Paulo Pio de Abreu
Secondary School | from 2006 to 2010
Instituto Educacional de Cultura Internacional
Language School | from 2006 to 2010
Instituto de Cultura técnica
High School and Technical Education | from 2010 to 2013
Universidade de Taubaté
University | from 2014 to 2015
For more info send an email to [email protected]