Software Engineer / Backend & Full-stack

I build software
that holds up.

Five years turning ambiguous requirements into reliable systems: Rust and .NET services, Angular interfaces, and the infrastructure that keeps them honest.

Currently at FSI Services and Apache DataFusion.

Background

Black River Code Product engineering, 2025 to present
FSI Services Enterprise platform, 2026 to present
Grupo Referencial Business systems, 2020 to 2023
Jala University BSc, 2023 to 2026

Selected work

Systems, not screenshots.

Six systems, from enterprise platforms to developer tools. Each one shipped, reviewed, and used.

01Enterprise platform / 2026

Making a maintenance platform easier to change.

Feature delivery and platform work on a CMMS used to manage buildings, assets, work orders, and documents. Angular and .NET on the surface; SQL Server, Azure, and CI/CD underneath.

Brought six repositories under one delivery standard and helped ship feature flags with audit and role-based access.

Angular, .NET, C#, SQL Server, Azure, Azure DevOps

Enterprise / private

02Developer tooling / Rust / 2026

A payment API, rebuilt for the terminal.

A typed Rust SDK and CLI covering orders, payments, checkout, subscriptions, OAuth2, mTLS certificates, and webhooks. A single binary, JSON when you need it, tables when you do not.

Dozens of endpoints under one interface, packaged for crates.io, Homebrew, AUR, DEB, and RPM.

Rust, Tokio, reqwest, serde, clap, OAuth2, mTLS

View on GitHub
03Product engineering / 2026

An AI study companion that runs on a small ARM box.

Angular 22 and Go on a 1 vCPU / 6 GB server: 16 lazy routes, an AI tutor that can act on the study plan, timed exams, flashcards, and progress analytics.

A complete product with typed contracts, real data, and a 15 MB Go binary. No mock fallbacks in production.

Angular, Signals, Go, PostgreSQL, Docker, AI, ARM

Private product

04Platform migration / .NET / 2025-2026

Replatforming a live registration product in two months.

Moved a one-year NestJS/TypeScript codebase to .NET 10 with Clean Architecture, DDD, and CQRS. Added PagBank payments, WhatsApp notifications, and guest registration.

A strongly typed domain and maintainable boundaries without pausing the product.

.NET 10, C#, Clean Architecture, DDD, CQRS, PostgreSQL, PagBank, WhatsApp

Client / private

05AI systems / Rust / 2026

A local-first copilot for high-stakes conversations.

A Rust TUI that captures system audio, transcribes locally with Whisper.cpp, detects speech with VAD, and sends only the question to an AI model.

Speech never leaves the machine unless you choose to send it. Models from tiny to large-v3.

Rust, Whisper.cpp, VAD, TUI, AI

View on GitHub
06Healthcare / Security / 2026

A patient record MVP designed around consent and audit.

Rust/Axum and Angular for private clinics: Keycloak OIDC with MFA, PostgreSQL row-level security, field encryption, and audit on every access.

Deny-by-default authorization, no real patient data in development, and a feature-flagged ASR experiment with no persistence. Deployed with Docker, GHCR, and Coolify.

Rust, Axum, Angular, PostgreSQL, Keycloak, LGPD, Coolify

Private product

Experience

Five years, three rooms.

Five years across product companies, an enterprise platform team, and independent work.

2026 - Present
Remote

Software Engineering Intern

FSI Services (Jalasoft)

  • Build features and fix defects across Angular, .NET/C#, SQL Server, and Azure on an enterprise CMMS.
  • Deliver UI, APIs, database changes, tests, and code review in a distributed team.
  • Contribute to CI/CD standardization across six repositories, plus platform work in configuration, auditing, and API documentation.

Angular, .NET, C#, SQL Server, Azure, Azure DevOps, Bicep, YAML

2025 - Present
Remote

Software Engineer

Black River Code

  • Lead projects end to end: architecture, implementation, review, testing, and delivery.
  • Migrated VouParticipar from NestJS/TypeScript to .NET 10 with Clean Architecture, DDD, and CQRS in two months.
  • Built payment, messaging, and notification integrations (PagBank, WhatsApp, Stripe) across event, menu, and field-service products.
  • Shipped Rally Route (NestJS, PostgreSQL, MongoDB, Redis), LeMenu (.NET 8 modular monolith), and Assis (Rust/Axum + Vue, Cloudflare R2).

.NET, C#, NestJS, TypeScript, Rust, Vue, Angular, PostgreSQL, MongoDB, Redis, Docker, Cloudflare

2020 - 2023
Brazil

Systems Analyst

Grupo Referencial

  • Analyzed, designed, and implemented internal software solutions with cross-functional teams.
  • Gathered requirements, wrote technical specifications, and maintained data integrity and security.
  • Supported custom systems used in day-to-day business operations.

Requirements analysis, software design, SQL, business systems

More work

The wider index.

A broader index of products, client work, open source, and academic systems.

Assis

Client and message management for a farrier, with media storage and DNS on Cloudflare.

Rust, Axum, Vue, Cloudflare R2

Client / private

Rally Route

Event and route management for rally organizers, with audit logs and WhatsApp integration.

NestJS, PostgreSQL, MongoDB, Redis, Docker, Scalar

Client / private

LeMenu

Restaurant menu management as a modular monolith with per-module permissions.

.NET 8, EF Core, PostgreSQL

Client / private

CT Academy

Martial arts academy backend with CQRS, payments, and Firebase auth.

.NET 9, MediatR, EF Core, PagBank

Client / private

Projeto ENEM

Open-source study platform for ENEM with a Rust API and Angular frontend.

Rust, Axum, Angular, PostgreSQL

Open source

AudioProcessor

Audio upload and processing API with a clean architecture split and an Angular client.

.NET 10, Angular, PostgreSQL

Academic

Comics Portal

Microservices architecture for comic collections, documented with C4 and ADRs.

Java, Docker, AWS S3, OAuth

Academic

JalaFit

Android fitness app with Supabase and Firebase.

Kotlin, Android, Supabase, Firebase

Academic

Jala Overflow

Community question-and-answer platform concept for Jala University.

Product design, architecture, documentation

Academic

Juno

Digital Uno card game built with Jonathan, with single-player and multiplayer modes.

TypeScript, Electron, React

Academic

Space Invaders

Classic Space Invaders clone with player movement, enemy waves, projectiles, and collision detection.

C#, MonoGame

Academic

Jalandos

Vehicle sales and rental platform with advanced search, filters, and listing management.

Next.js, Node.js, PostgreSQL

Academic

Apache DataFusion

Contributor to the Apache DataFusion Rust query engine. Upstream PRs: column-specific Parquet encoding validation, NULL nested-type literal unparsing, and shared buffer accounting.

Rust, Apache Arrow, Parquet, SQL

Open source

Horizon

Contributor to Horizon, a Rust reimplementation of Minecraft Java Edition. Open PR for shader pack image sizes and dropped program state.

Rust, wgpu, shaders

Open source

Toolbox

What I reach for.

The tools I reach for, grouped by the problem they solve.

Languages

Rust, C#, TypeScript, Go, Java, Kotlin, SQL, Python

Backend and architecture

.NET / ASP.NET Core, Axum, NestJS, Spring Boot, REST, Clean Architecture, DDD, CQRS, microservices, event-driven systems

Data

PostgreSQL, SQL Server, MongoDB, Redis, EF Core, SQLx, pgx

Frontend

Angular (Signals, zoneless), Vue, React, TypeScript, SCSS

Cloud and delivery

Azure (App Configuration, Entra ID, App Insights), AWS, Cloudflare (Pages, R2, DNS), Docker, Kubernetes, Terraform, Coolify, Azure DevOps, GitHub Actions, GitLab CI, Bicep, Linux

Quality

Unit and integration tests, API contract tests, code review, ADRs, C4, observability

How I work

Boring is a feature.

I started as a systems analyst, learned to read a business before writing code, and never lost the habit. Today I work across the stack, but the questions are the same: where does the source of truth live, what happens when this fails, and how would we know?

01

Boundaries before cleverness.

A clear interface between modules is worth more than a clever shortcut inside one.

02

Tests are evidence.

A fix is not done when the symptom disappears. It is done when the behavior is pinned down.

03

Ship the boring version.

Predictable deployments, readable code, and systems that do not need a hero at 2 a.m.

A symptom disappearing is not the same as a problem solved.

Education and honors

The formal part.

BSc in Commercial Software Engineering

Jala University / Concentration in Design and Architecture

Coursework: software architecture, distributed systems, cloud, data science, UI/UX, and mobile development. English-medium program.

2023 - 2026

Expected December 2026

Honors

Dean's List, Term 1, 2023. Jala University.

Languages

Portuguese (native), English (professional, C1-C2), Spanish (intermediate).

Contact

Let's build something reliable.

I'm open to backend and full-stack roles, remote or in Brazil. If you have a system that needs to hold up, I'd like to hear about it.