Experience

PDF ↓
Mar 2026 –
present
Senior Software Engineer · SRM Asset
Backend integrations with the B3 and CERC registries for duplicatas escriturais, and with QI Tech.
Java 21 · Spring · Aurora PostgreSQL · AWS · Terraform · RabbitMQ
Apr 2025 –
Mar 2026
Senior Engineer · C6 Bank
High-availability systems for credit granting, with an information-security focus.
Kotlin · Spring · MongoDB · PostgreSQL · Splunk · Event Sourcing
Mar 2024 –
Apr 2025
Web Developer · Fiserv
POS software: development, monitoring, DevSecOps pipelines, disaster prevention and recovery.
Spring · Oracle SQL · Dynatrace · Splunk · Fortify · Redis
Oct 2022 –
Jan 2024
Backend Developer · Freelance · Upwork, remote
Backend services and data-extraction pipelines for international clients.
Python · lxml · headless Chromium · Bash
Sep 2021 –
Aug 2022
Backend Developer · Conta Azul
Automated periodic and aperiodic Brazilian fiscal obligations: SPED, eSocial, EFD-Reinf.
Java · Spring · AWS · Terraform · PostgreSQL
Dec 2020 –
Sep 2021
Backend Developer · Grão
Backend for Pix, Brazil's instant payment system; containerized test and production environments.
Kotlin · Java EE · MySQL · Spring · GitLab CI
Jan 2020 –
Dec 2020
Developer · Raia Drogasil
Selling-operations systems and LGPD compliance; biometric readers and thermal printers.
Java EE · JSF/PrimeFaces · Oracle SQL · JBoss
Mar 2016 –
Jan 2020
Developer · Sys4Bank
Bank infrastructure: Spring Boot services, containerization, CI/CD.
Java · Spring Boot · MSSQL · Maven · Bash

Projects

Windows remote administration over Telegram, in Python
dte300+ ★
a date-and-time processing language
the declarative NixOS workstation and VPS behind this domain
force-directed canvas viewer for a markdown vault; powers demo.mvr.ac
brainfuck → Turing machine → Rule 110, visualised at rule110.mvr.ac
local-VLM image tagging CLI: Ollama, Qwen2.5-VL, RapidOCR, XMP sidecars

GitHub, last year

NovDecJanFebMarAprMayJunJulAugSepOctMonWedFri0 · 2025-11-070 · 2025-11-0820 · 2025-11-092 · 2025-11-100 · 2025-11-110 · 2025-11-120 · 2025-11-131 · 2025-11-141 · 2025-11-154 · 2025-11-161 · 2025-11-170 · 2025-11-180 · 2025-11-190 · 2025-11-2071 · 2025-11-2121 · 2025-11-226 · 2025-11-230 · 2025-11-240 · 2025-11-251 · 2025-11-266 · 2025-11-270 · 2025-11-282 · 2025-11-296 · 2025-11-301 · 2025-12-011 · 2025-12-020 · 2025-12-030 · 2025-12-041 · 2025-12-050 · 2025-12-067 · 2025-12-070 · 2025-12-080 · 2025-12-090 · 2025-12-100 · 2025-12-110 · 2025-12-120 · 2025-12-1316 · 2025-12-149 · 2025-12-1512 · 2025-12-163 · 2025-12-172 · 2025-12-182 · 2025-12-190 · 2025-12-204 · 2025-12-210 · 2025-12-220 · 2025-12-2310 · 2025-12-240 · 2025-12-250 · 2025-12-2615 · 2025-12-270 · 2025-12-288 · 2025-12-294 · 2025-12-300 · 2025-12-312 · 2026-01-0118 · 2026-01-0228 · 2026-01-030 · 2026-01-042 · 2026-01-050 · 2026-01-060 · 2026-01-070 · 2026-01-0810 · 2026-01-0914 · 2026-01-1010 · 2026-01-1114 · 2026-01-1245 · 2026-01-130 · 2026-01-140 · 2026-01-151 · 2026-01-1610 · 2026-01-172 · 2026-01-182 · 2026-01-190 · 2026-01-200 · 2026-01-210 · 2026-01-222 · 2026-01-2350 · 2026-01-246 · 2026-01-250 · 2026-01-260 · 2026-01-270 · 2026-01-280 · 2026-01-290 · 2026-01-300 · 2026-01-310 · 2026-02-010 · 2026-02-020 · 2026-02-0310 · 2026-02-048 · 2026-02-050 · 2026-02-062 · 2026-02-070 · 2026-02-082 · 2026-02-090 · 2026-02-100 · 2026-02-110 · 2026-02-120 · 2026-02-130 · 2026-02-140 · 2026-02-153 · 2026-02-164 · 2026-02-170 · 2026-02-180 · 2026-02-190 · 2026-02-200 · 2026-02-210 · 2026-02-220 · 2026-02-230 · 2026-02-240 · 2026-02-250 · 2026-02-264 · 2026-02-270 · 2026-02-280 · 2026-03-010 · 2026-03-020 · 2026-03-030 · 2026-03-040 · 2026-03-050 · 2026-03-060 · 2026-03-070 · 2026-03-080 · 2026-03-090 · 2026-03-100 · 2026-03-110 · 2026-03-120 · 2026-03-130 · 2026-03-140 · 2026-03-150 · 2026-03-160 · 2026-03-170 · 2026-03-180 · 2026-03-190 · 2026-03-200 · 2026-03-210 · 2026-03-220 · 2026-03-231 · 2026-03-240 · 2026-03-255 · 2026-03-261 · 2026-03-273 · 2026-03-283 · 2026-03-291 · 2026-03-300 · 2026-03-312 · 2026-04-012 · 2026-04-022 · 2026-04-032 · 2026-04-049 · 2026-04-057 · 2026-04-0629 · 2026-04-074 · 2026-04-082 · 2026-04-0915 · 2026-04-1022 · 2026-04-1115 · 2026-04-120 · 2026-04-1326 · 2026-04-1412 · 2026-04-150 · 2026-04-169 · 2026-04-178 · 2026-04-180 · 2026-04-19122 · 2026-04-2065 · 2026-04-2114 · 2026-04-226 · 2026-04-2344 · 2026-04-24101 · 2026-04-25140 · 2026-04-2681 · 2026-04-2718 · 2026-04-2842 · 2026-04-2960 · 2026-04-3078 · 2026-05-0126 · 2026-05-0216 · 2026-05-035 · 2026-05-0420 · 2026-05-05100 · 2026-05-0634 · 2026-05-07130 · 2026-05-0881 · 2026-05-09105 · 2026-05-1038 · 2026-05-11102 · 2026-05-1235 · 2026-05-1337 · 2026-05-1431 · 2026-05-15164 · 2026-05-16127 · 2026-05-1770 · 2026-05-1867 · 2026-05-1920 · 2026-05-2010 · 2026-05-2137 · 2026-05-223 · 2026-05-2375 · 2026-05-2427 · 2026-05-25201 · 2026-05-26103 · 2026-05-2714 · 2026-05-2865 · 2026-05-29165 · 2026-05-3071 · 2026-05-3139 · 2026-06-0149 · 2026-06-027 · 2026-06-038 · 2026-06-048 · 2026-06-0529 · 2026-06-0619 · 2026-06-0710 · 2026-06-080 · 2026-06-0923 · 2026-06-1016 · 2026-06-114 · 2026-06-121 · 2026-06-1342 · 2026-06-1416 · 2026-06-151 · 2026-06-1659 · 2026-06-1723 · 2026-06-1819 · 2026-06-1927 · 2026-06-2043 · 2026-06-2146 · 2026-06-2211 · 2026-06-232 · 2026-06-242 · 2026-06-252 · 2026-06-2649 · 2026-06-2736 · 2026-06-2832 · 2026-06-2934 · 2026-06-3025 · 2026-07-0123 · 2026-07-0239 · 2026-07-03104 · 2026-07-0413 · 2026-07-0535 · 2026-07-0610 · 2026-07-070 · 2026-07-082 · 2026-07-094 · 2026-07-1020 · 2026-07-1199 · 2026-07-1221 · 2026-07-1316 · 2026-07-1411 · 2026-07-1512 · 2026-07-161 · 2026-07-170 · 2026-07-1810 · 2026-07-197 · 2026-07-203 · 2026-07-2113 · 2026-07-2214 · 2026-07-234 · 2026-07-2412 · 2026-07-2510 · 2026-07-260 · 2026-07-273 · 2026-07-284 · 2026-07-290 · 2026-07-300 · 2026-07-311 · 2026-08-014 · 2026-08-024 · 2026-08-032 · 2026-08-041 · 2026-08-0521 · 2026-08-063 · 2026-08-0718 · 2026-08-082 · 2026-08-094 · 2026-08-103 · 2026-08-1120 · 2026-08-127 · 2026-08-134 · 2026-08-141 · 2026-08-155 · 2026-08-1610 · 2026-08-170 · 2026-08-180 · 2026-08-190 · 2026-08-201 · 2026-08-211 · 2026-08-227 · 2026-08-2327 · 2026-08-2411 · 2026-08-2511 · 2026-08-264 · 2026-08-271 · 2026-08-285 · 2026-08-2919 · 2026-08-301 · 2026-08-312 · 2026-09-012 · 2026-09-027 · 2026-09-037 · 2026-09-0416 · 2026-09-0535 · 2026-09-06140 · 2026-09-0721 · 2026-09-0845 · 2026-09-093 · 2026-09-105 · 2026-09-1197 · 2026-09-12124 · 2026-09-1359 · 2026-09-1419 · 2026-09-154 · 2026-09-1630 · 2026-09-171 · 2026-09-182 · 2026-09-1995 · 2026-09-207 · 2026-09-2142 · 2026-09-2237 · 2026-09-2353 · 2026-09-244 · 2026-09-251 · 2026-09-26151 · 2026-09-276 · 2026-09-288 · 2026-09-298 · 2026-09-3020 · 2026-10-01103 · 2026-10-0234 · 2026-10-03122 · 2026-10-0410 · 2026-10-0529 · 2026-10-0626 · 2026-10-0713 · 2026-10-0835 · 2026-10-0931 · 2026-10-10124 · 2026-10-1177 · 2026-10-1222 · 2026-10-138 · 2026-10-1428 · 2026-10-1520 · 2026-10-1672 · 2026-10-17185 · 2026-10-1817 · 2026-10-197 · 2026-10-2072 · 2026-10-212 · 2026-10-227 · 2026-10-237 · 2026-10-247 · 2026-10-253 · 2026-10-2616 · 2026-10-2711 · 2026-10-287 · 2026-10-2910 · 2026-10-3026 · 2026-10-3130 · 2026-11-0126 · 2026-11-021 · 2026-11-039 · 2026-11-043 · 2026-11-0521 · 2026-11-060 · 2026-11-07
7,058 contributions in the last year · peak 201 in a day