Full-stack engineering.
From idea to production.

I’m a senior software engineer who takes ownership across the stack—from the product experience and APIs to data, AI integrations, and cloud infrastructure.

São Paulo, BrazilRemote with US teams

Across the stack

Frontend & experience
React, Next.js, TypeScript
Representative technologies: React, Next.js
Backend & data
APIs, permissions, relational & document data
Representative technologies: Django, Firestore
AI & automation
Anthropic, OpenAI, Gemini & background jobs
Representative technologies: Anthropic, OpenAI, Gemini
Cloud & delivery
AWS, Google Cloud & containerized services
Representative technologies: AWS, Cloud Run

Selected engineering work

04 case studies
01

Aviation · Marketplace

Flying Company

A platform connecting aircraft operators with qualified pilots, bringing hiring, flight operations, compliance, and payments into one workspace.

My role
Full-Stack Software Engineer
Focus
AI integration, role-based workflows, compliance, and payments
Flying Company product interface

Product interface

System architectureFlying CompanyContainerized services

Frontend

  • React

Operator & pilot portal

Role-based dashboards, trip management, and pilot applications.

HTTPS

Backend & APIs

  • Django

Business logic & access

REST APIs, permissions, and aviation compliance validation.

API / events

AI & payments

  • Anthropic
  • Stripe

External service integrations

Anthropic AI API integration and Stripe payment holds and payouts.

Read / write

Data & storage

  • MariaDB
  • AWS

Operational records & documents

Pilot qualifications, aircraft, trips, and documents in Amazon S3.

Cloud & delivery

Isolated application services

Docker Compose on AWS EC2, behind an Nginx reverse proxy.

  • Docker
  • AWS

Engineering decisions

Permissions reflect the business

Separated operator and pilot access, with compliance checks built into the workflows that depend on them.

Payments follow flight state

Connected payment holds and payouts to flight completion, keeping billing aligned with the operational lifecycle.

02

Commerce · AI production

Marques & Co.

A custom-art storefront that takes a customer photo through AI rendering, proof approval, checkout, and print-on-demand fulfillment.

My role
Founder & Full-Stack Architect
Focus
Async processing, authentication, and fulfillment
Marques & Co. product interface

Product interface

System architectureMarques & Co.Asynchronous job queue

Frontend

  • Next.js
  • TypeScript

Custom-art storefront

Photo uploads, interactive proofs, and passkey sign-in.

HTTPS

Backend & APIs

  • Express
  • Stripe

Orders & orchestration

Checkout, approval states, notifications, and Printify fulfillment.

Job queue

AI & background jobs

  • OpenAI
  • Cloud Tasks

Queued image rendering

Cloud Tasks dispatches image jobs to independent rendering workers.

Read / write

Data & storage

  • Firestore
  • Cloud Storage

Order state & artwork

Order records, original uploads, and approved production assets.

Cloud & delivery

Independently deployed services

Containerized API and Python rendering workers on Google Cloud.

  • Cloud Run

Engineering decisions

Keep slow work off the request path

Moved long-running image rendering into queued, idempotent workers so customers can continue using the storefront.

Connect software to fulfillment

Linked proof approval, payment, and manufacturing APIs into a single order lifecycle.

03

Education · Real-time collaboration

Teaching Platform

A private teaching workspace for source-based lessons, synchronized live classes, homework, and personalized spaced practice.

My role
Lead Architect & Full-Stack Engineer
Focus
Live synchronization and source-grounded AI
Teaching Platform product interface

Product interface

System architectureTeaching PlatformReal-time state & AI pipeline

Frontend

  • React
  • TypeScript

Teacher & student PWA

Lesson navigation, document viewing, and live annotations.

HTTPS

Backend & APIs

  • Cloud Functions
  • Firebase

Classroom coordination

Shared session state, document ingestion, and lesson workflows.

AI tasks

AI & learning

  • Gemini
  • FSRS

Lessons into practice

Source-anchored generation and spaced repetition scheduling.

Read / write

Data & storage

  • Firestore

Shared state & learning history

Firestore listeners synchronize classroom state across web clients.

Cloud & delivery

Managed lesson processing

Server-side document and AI tasks run on Google Cloud services.

  • Cloud Run
  • Cloud Tasks

Engineering decisions

Keep generated lessons traceable

Anchored exercises to locations in teacher-provided material, making the source of generated content inspectable.

Turn live lessons into practice

Connected classroom evidence to FSRS review schedules, carrying learning context into personalized homework.

04

Civic technology · Data platforms

WikiPública

A platform that turns Brazilian legislative data into searchable bills, voting records, and plain-language summaries for citizens.

My role
Creator & Lead Engineer
Focus
Data ingestion, domain modeling, and semantic search
WikiPública product interface

Product interface

System architectureWikiPúblicaMonorepo & ingestion workers

Frontend

  • Next.js
  • TypeScript

Citizen research portal

Legislative dashboards and cached, server-rendered pages.

HTTPS

Backend & APIs

  • Next.js
  • TypeScript

Ingestion & domain logic

Government API adapters and shared, typed domain packages.

AI pipeline

AI & search

  • Gemini

Legislative intelligence

Source-aware summaries and embeddings for semantic search.

Read / write

Data & storage

  • Firestore

Normalized legislative records

Bills, roll-call votes, and read models for citizen queries.

Cloud & delivery

Independent ingestion workers

Background data services deployed separately from the web app.

  • Cloud Run

Engineering decisions

Isolate unreliable external sources

Used ingestion adapters with retries and backoff to handle government API rate limits and changing schemas.

Separate ingestion from presentation

Shared domain packages and cached read models let the citizen portal serve data independently of background imports.