Skip to projects
Artur Bruno

Senior fullstack engineer · Fortaleza, Brazil

Software that holds up under load, and under review.

I work across the stack: React and TypeScript on the front, Node, Python and Go behind it, AWS underneath. Lately that means breaking a monolith into services, moving an API edge to AWS, and rebuilding a legacy back office in React. The projects below are mine end to end, tested and documented.

02

Experience

  • FullstackLabs

    Senior fullstack engineer · Mar 2023 – now

    Software consultancy

    A consultancy that builds and modernizes software for US companies. I work on client teams, across the stack.

    1. Paciolan

      2024 – now · current client

      Ticketing and fundraising software used by universities and venues across the United States.

      • Helped design the move from an Express monolith in JavaScript to NestJS microservices in TypeScript, talking over Kafka and caching in Redis.
      • Set up the services’ foundations: modules, DTO validation, guards, interceptors and exception filters, and a structured logger that carries a request ID across services.
      • Provisioned each microservice on Kubernetes (EKS) with Terraform, and covered modules, services and controllers with Jest unit tests.
      • Led the migration of the API edge from Kong to AWS API Gateway, replacing Kong’s plugins with gateway authorizers, usage plans with rate limiting, and access logging with request tracing, all in Terraform.
      • Rebuilding the back office: legacy UniVerse screens become FastAPI services and React micro-frontends. I take a screen from the database layer to the UI, with audit logging, the legacy validation rules, and end-to-end tests that run in CI on every deploy.
      • Migrated a core read service to NestJS and TypeScript, added Redis caching to its heaviest queries, and moved its SQL to prepared statements.
      • Moved logging in more than 15 Node.js and Java services to a shared Kafka pipeline, with log levels that change at runtime without a redeploy.
      What changed
      • Kong became AWS API Gateway (Authorizers · rate limits · logs)
      • Express monolith became NestJS services (TypeScript · Kafka · Redis · EKS)
      • UniVerse back office became React micro-frontends (Python APIs)
      • Logs per service became Shared Kafka log pipeline (Node.js and Java services)
      How a legacy screen is rebuilt
      1. Legacy screenUniVerse
      2. Conversion planreviewed by me
      3. FastAPI serviceaudit · retries
      4. React micro-frontendlegacy validation
      5. E2E tests in CINightwatch
      • NestJS
      • TypeScript
      • Kafka
      • Redis
      • Kubernetes (EKS)
      • AWS API Gateway
      • Terraform
      • Jest
      • React
      • Python
      • FastAPI
      • Nightwatch
    2. Jointly

      2023 – 2024

      A California marketplace for cannabis products, where a chat helps each customer find the right product for what they need.

      • Built Spark, the recommendation chat: a GPT agent grounded in the company’s own product documents, running on AWS Lambda and streamed to a React and TypeScript UI over WebSockets.
      • Made the site’s pages generate from the Strapi CMS through Next.js and webhooks, with content on S3 and the infrastructure in CloudFormation.
      • Worked on the React Native app and the website, wired in Algolia for recommendations and the Shopify integration.
      How a recommendation reached the customer
      1. ChatNext.js
      2. WebSocket
      3. AWS Lambda
      4. Spark agentGPT · product documents
      5. RecommendationsAlgolia

      Fed byCatalogStrapi · Shopify

      • Next.js
      • React Native
      • Strapi
      • AWS Lambda
      • S3
      • CloudFormation
      • WebSockets
      • OpenAI
      • Algolia
      • Shopify
  • meutudo

    Software engineer · Sep 2022 – Mar 2023

    Credit app for CLT and INSS workers

    A Brazilian fintech where people simulate and take FGTS advances, payroll loans and credit cards from their phone, without a branch or a phone call. Rated 4.2 by 39 thousand people on the App Store.

    • Built the automated service queue in the native app, over sockets, so customers waiting for support are served in turn without manual triage.
    • Improved the back office the support team works in: faster, more responsive, and with the queue management built in.
    • React
    • React Native
    • TypeScript
    • Node.js
    • WebSockets
  • GreenMile

    Software engineer · Sep 2020 – Sep 2022

    GreenMile Live, now Descartes GreenMile

    A cloud platform for route planning and live tracking of deliveries, used by drivers, dispatchers and supervisors.

    • Led the refactor that added SAML single sign-on to GreenMile Live.
    • Shipped an automatic logout policy and page-level access restrictions.
    • Built and maintained the UI on React, Redux and Redux-Saga alongside an older Backbone codebase, with Leaflet maps and Cypress and Jest tests.
    • React
    • Redux
    • Redux-Saga
    • Backbone.js
    • Leaflet
    • Cypress
    • Jest
  • O POVO

    Software engineer · Jul 2019 – Sep 2020

    Grupo de Comunicação O POVO

    A newspaper and media group in Fortaleza. My first engineering job.

    • JavaScript
    • TypeScript
03

Older work

  • Be-The-Hero

    NGOs post incidents and people help: Express and SQLite API, React web app, an Expo client. An OmniStack week project, brought to current Node and Vite with tests.

    JavaScript · Sep 2026

  • BankAppOficial

    A bank dashboard from a hiring challenge: login, transactions, a two-step payroll wizard, all against a mocked API.

    TypeScript · Oct 2026

  • greenMile-Challenge

    Hiring test: look up a GitHub user, put their location on a map, list what they starred. React with Testing Library.

    JavaScript · Sep 2026

  • jamstack

    A blog on Next.js and Prismic from a Rocketseat Ignite challenge, statically generated, with reading time. Runs on fixtures without an account.

    TypeScript · Sep 2026

  • rocketMarket

    A shopping cart with stock checks and persistence, from a Rocketseat challenge: moved to Vite and React 19, 23 tests.

    TypeScript · Sep 2026

  • svg-ceara_scale

    A choropleth of Ceará in plain SVG and JavaScript: color the municipalities from a JSON file, get a legend for free.

    HTML · Sep 2026

Earlier work from bootcamps and courses stays on the repositories page, unedited. It shows where I started.

04

Contact

Open to senior fullstack roles, remote or in Fortaleza. The quickest way is email: arturbrunoferreira@gmail.com, or on LinkedIn.