Gabriel R. Antunes's CV

Profile

Software developer

Software developer with experience across public-sector systems, freelance work, private-sector software and open-source contributions. I work across backend, frontend and integrations, with growing experience in the infrastructure and operational layers around applications.

Experience

Contracted (Outsourced) Full Stack Developer

Rondônia, Brazil

July 2025 – May 2026

Rovema Bank

Worked on the evolution, maintenance, and production support of corporate systems, collaborating with multidisciplinary teams on fleet management, financial services, and institutional platforms.

Scholarship Software Developer

Rondônia, Brazil

Feb 2025 – Sept 2025

Defensoria Pública do Estado de Rondônia

Continued work on the Central de Vagas project, coordinated by IFRO in partnership with TCE-RO and DPE-RO.

Full Stack Web Developer

Ji-Paraná, Rondônia, Brazil

Mar 2025 – June 2025

Fugiwara Advogados

Built the law firm's institutional website end to end, from requirements analysis to deployment.

Scholarship Software Developer

Rondônia, Brazil

Jan 2024 – Jan 2025

Tribunal de Contas do Estado de Rondônia

Developed the Central de Vagas project, coordinated by IFRO in partnership with TCE-RO and DPE-RO.

Software Engineer

Ji-Paraná, Rondônia, Brazil

Feb 2024 – Sept 2024

Fishing Booking

Evolved, maintained, and supported a fishing tournament platform in production.

Research Project Member, Academic Schedule Generator

Ji-Paraná, Rondônia, Brazil

Feb 2022 – Dec 2023

IFRO, Instituto Federal de Educação, Ciência e Tecnologia de Rondônia

Participated in software research and development projects at IFRO Campus Ji-Paraná.

Technical Productions

Nuxt Auth SSR authentication fix

Jan 2023

Investigated a difference between client-side navigation and SSR in the authentication flow, where joinPathToApiURLWN returned a promise during server rendering. The merged PR #360, submitted from guesant-fix-359, fixed the missing await and closed issue #359.

Unispec AST and release tooling

Jan 2024

Developed an AST and contract tooling proof of concept and improved its package distribution workflow. PR #61, from guesant-next, added ast-builder and ast-utils; PR #62 migrated consumers away from deprecated packages; PR #93, from feat/smart-release, added conditional release automation; and PR #96, from feat/include-license-changelog-readme-in-packages, included package documentation and licensing files in published artifacts.

UI5 visual editor ecosystem

Jan 2020

Built and refactored parts of a modular React and Fabric.js visual editor across the ui5-monorepo and ui5-plugins repositories. Work included reducing the editor bundle with PR #146, generalizing object dimensions with PR #137, creating a reusable actions system in PR #131, and adding playground infrastructure in PR #155. The plugin layer added smart rendering, canvas actions, scale editing and overflow fixes through PR #122, PR #194, PR #181 and PR #125.

NativeScript Vue migration tooling

2019 – 2020

Developed a configurable migration service for Vue to NativeScript Vue projects, including template transformation, DOM helpers, file operations, package management and automated tests. The work is preserved in seven archived repositories in the friendly-tnsvue organization, with its profile README mapping the earlier migration service, plugin prototypes, v0 CLI and plugin, and v1 monorepo. PR #73, from poc_001-conf, exported the generic migration process to a configuration file; PR #58, from feat/lib-test, added unit tests; and PR #21, from fix/extends-component, fixed object components with Vue.extend.

pwa-icon-generator

Jan 2019

Merged upstream contribution that added SVG input support and a progress bar, fixed centering for non-square images, warned when default values were used and improved icon and output path handling.

Selected early upstream contributions

2019 – 2020

Publicly verifiable upstream work from 2019 to 2020. In extenso.js, PR #20, submitted from fix/babelwebpack and merged into master, replaced the obsolete Webpack loader declaration syntax, updated packages and addressed issue #17. I also opened PR #24 from feat/scale, linked to issue #19, proposing an explicit numeric scale option; that pull request was closed without being merged. In vue-spinners-css, PR #3, submitted from feat/size-support and merged into master, implemented the size property across the spinner components in response to issue #1. In 100-days-css, PR #4, submitted from feat/config-info and merged into master, added generation of config.json from Git history, deterministic challenge ordering and display of each challenge's author and date. In Sergey, PR #40, submitted from patch-1 and merged into master, fixed the unexpected closing p tag reported in issue #39. A later proposal, PR #43, from smart-changetag, remains open and replaces regular-expression based tag processing with CSS-selector and DOM-based operations.

ava-pro

2021 – 2022

Browser extension for Moodle platforms with course search and organization, automatic-login flows, chat conversations and background notifications. The merged PR #16, from 0.0.2-moodle-client-js, introduced the Moodle client package and closed issue #15.

Selected upstream issue reports

2023 – present

Reported and investigated reproducible issues in public projects, including asynchronous Zod validation in vorms issue #37, completed by the project, and property spread references in Microsoft TypeSpec issue #7673, also closed as completed. Proposed broader monorepo support for dependency-changesets-action in issue #394 and a corresponding draft PR #395.

IFRO Ji-Paraná Schedules

Jan 2022

Tool that evolved from cropping schedule PDFs by coordinates to an extractor package, normalized SQLite-backed data and a React interface queryable by class and teacher.

JipaCoding

Selected technical records from a public video archive covering graphics, algorithms, debugging and data modeling.

Events

National Science and Technology Week

Brasília, DF, Brazil

Jan 2022

Attendee.

Git and GitHub Talk at IFRO Campus Ji-Paraná

Jan 2023

Speaker at IFRO Campus Ji-Paraná on Git and GitHub.

Projects

ava-pro

A browser extension for Moodle platforms with enrolled-course listing and search, pinned courses, automatic-login flows, chat access and background checks for new messages.

home-lab

An ongoing personal infrastructure lab where I investigate the layers around an application in practice, including virtual machines, segmented networks, VPNs, firewalls, containers, Kubernetes, identity and observability.

infrastructure-and-cluster-notebook

A public engineering notebook where I record infrastructure and cluster investigations through hypotheses, reproducible tests, failures and revisions instead of presenting the material as a finished tutorial.

fantastic-images

An older TypeScript and Fabric.js exploration for describing image templates and rendering generated compositions on canvas. Selected Graphics and Rendering records include Gerando Imagens a partir de Templates - Programando Gráficos #02, Gerando Vídeos com Algoritmos - Programando Gráficos #03, and Gerando Imagens a partir de Templates (fabric.js) - Programando Gráficos #02.

fabricjs-object-fit

2022 – present

Published TypeScript library that provides CSS-like object-fit and object-position behavior for Fabric.js, including serialization support, tests and documentation. Ported the library to Fabric.js 7 in PR #23 from feat/fabric-7, then introduced a workspace structure in PR #33 and standardized package names in PR #34, both from kebab.

parcel-resolver-pnpm

A 2021 proof of concept Parcel resolver that investigated the way Parcel treated pnpm's symlinked dependencies as source dependencies.

friendly-tnsvue

A 2019 proof of concept for automating parts of the migration from Vue projects to NativeScript-Vue through a CLI, migration service and reusable migration models. The history is now preserved across seven archived repositories in the friendly-tnsvue organization; the separate nsvue-colors repository remains under guesant.

gir-js

An unfinished investigation into using GObject introspection metadata to expose native libraries to JavaScript runtimes through FFI and generate TypeScript-facing information from typelib data.

Unispec

An archived research and proof of concept around declaring contracts once and deriving tooling for ecosystems such as NestJS, GraphQL, OpenAPI, Swagger and QuickType.

Ya Time Marker

A 2021 Ionic and React PWA for marking and searching time records while keeping the user's history on the device, with import, export and deletion under the user's control.

outro-bun

A one-off Bun and TypeScript tool that turned a graduation-song spreadsheet export into an automated download and media-processing workflow using yt-dlp and FFmpeg.

nota-filler

An old demonstrator for programmatically filling a school-grade sheet or template, published with a web demo and a JipaCoding walkthrough.

alset-aloc

A C# and WPF rental-management desktop system built as a team project for completion of IFRO's technical program in informatics.

Cases

Central de Vagas em Creches

I worked as a scholarship developer on the team behind a public-sector platform for childcare applications, service workflows and waiting-list management. The software was registered with INPI under process BR 51 2025 006383-0; the official INPI database provides the public lookup for the registration. It became one of my first sustained experiences with software that reached production and continued demanding support after deployment.

IFRO Ji-Paraná Schedules

I built a tool that turned the campus's weekly schedule PDFs into information students could browse by class and teacher. What began as a cropping shortcut later became structured data, a separate interface and eventually a bridge into the harder problem of generating and managing academic schedules.

SIPEC

I worked full stack on an institutional surveys platform where users could create projects, assemble forms and collect responses under different access modes.

SISGHA / Ladesa: Academic Management and Scheduling

I came to SISGHA after building a personal viewer for already-published schedules and realizing that displaying a timetable was only the end of a much larger scheduling problem. My contributions crossed early academic CRUD and UI, generator rules, infrastructure and cluster maintenance, and later application, domain and platform work.

Fishing Booking

I joined an existing PHP product during a team transition and helped keep the system moving while ownership was changing.

Fugiwara Advogados

I implemented the first version of the firm's institutional website as a custom WordPress theme, with structured content managed through Secure Custom Fields.

ava-pro: Moodle Inside a Browser Extension

AVA Pro grew from my web-scraping experiments into a browser extension that interacted with Moodle as an authenticated application, including courses, search and pinning, login flows, chats and background checks for new messages.

Scrap Rain: Multi-Source Product Catalog Scraping

I built Scrap Rain for a freelance job that collected product catalogs from four furniture websites and turned different page structures into data that could be persisted and updated incrementally.

Experiments

WebExtension RPC Between Page and Content Script

Jan 2023

Collaborative Manifest V3 proof of concept for exposing request-and-response communication between page code and a browser extension content script through window.postMessage. The merged PR #3, from change-usage-api, redesigned the message API and closed issue #1.

Clock-Hand Angles in C#

Jan 2022

A small C# algorithm exercise for calculating both arcs formed by the hands of a 12-hour clock while accounting for continuous hour-hand movement.

Education

IFRO, Instituto Federal de Educação, Ciência e Tecnologia de Rondônia

Ji-Paraná, Rondônia, Brazil

2021 – 2023

Integrated Technical High School in Information Technology

Skills

Technologies: PHP, Symfony, JavaScript, TypeScript, Node.js, NestJS, React, Next.js, React Native, Expo, PostgreSQL, Docker, Docker Swarm, GitLab CI, WordPress, Figma, Cypress, SonarQube, Keycloak, GraphQL, Azure

Certifications

Languages