Maique Moraes

Senior full stack engineer
based in Brazil

Skip to content

Maique Moraes · Senior Full Stack Software Engineer

Clear interfaces.Reliable services.AI that respects the rules.

I’m Maique Moraes, a full stack engineer with 6+ years building TypeScript products for enterprise procurement, logistics, financial services, and healthcare. I work end to end with React, Next.js, Node.js, and NestJS — and integrate LLMs, retrieval, and MCP tools into real business workflows.

Now
Senior Full Stack Developer at Stratesys
Before
Grupo Inlog · Unicred · uFLY
Based
João Pessoa, Brazil (UTC−3)
Fig. 01 — Where I work in a product

→ ServicesBackends-for-frontend that compose data, check access, and fail clearly when essential data is missing.

years shipping production software
6+
industries: procurement, logistics, finance, healthcare, public sector, telemetry
6
AI assistants integrated into business platforms
2
people mentored or trained across teams
15+

Selected work

Three problems, and the decisions behind them.

Professional work, described at a high level. The diagrams are original illustrations of the engineering ideas — not product screenshots or internal architecture.

  1. 01

    Stratesys Enterprise procurement

    A bid comparison you can trust

    A NestJS backend-for-frontend that turns supplier and proposal data from several services into one reliable view — and refuses to present an incomplete comparison as valid.

    • NestJS
    • Next.js
    • TypeScript
    • Server Actions
    • Jest
  2. 02

    Grupo Inlog · Stratesys Applied AI in logistics and procurement

    AI assistants that work inside the rules

    Two assistants, in logistics and in procurement, that answer from documents, read live operational data, and take actions — while the application keeps control of identity, permissions, and business rules.

    • LLMs
    • RAG
    • MCP
    • NestJS
    • pgvector
    • Azure AI Search
  3. 03

    Unicred Financial services · Frontend architecture

    Evolving a financial platform without breaking trust

    Migrating React features to single-spa microfrontends with clearer component boundaries, a shared design system, and tests that protect existing behavior.

    • React
    • single-spa
    • Next.js
    • NestJS
    • Jest
    • Testing Library

Client names, internal systems, and proprietary details are intentionally left out.

Experience

Six years of real products, real constraints.

From vehicle telemetry to enterprise procurement — with responsibility growing from individual features to backend integrations, architecture, quality, and helping other developers.

  1. Current

    Stratesys

    Senior Full Stack Developer · Enterprise procurement and strategic sourcing for large companies · IntelligentBuy

    • Build procurement workflows in React and Next.js: purchasing processes, supplier negotiations, bid comparison, and award scenarios.
    • Own a NestJS backend-for-frontend for bid comparison, with access validation, controlled failures, structured logs, and correlation IDs.
    • Integrate the product’s AI assistant with Azure OpenAI, hybrid retrieval on Azure AI Search, and MCP tools that respect Keycloak authentication and user permissions.
    • Helped design and ship a multi-product setup where independently deployed Next.js apps share one persistent shell — so an AI conversation continues as users move between products.
    • TypeScript
    • Next.js
    • NestJS
    • Azure OpenAI
    • Azure AI Search
    • MCP
    • Keycloak
  2. Grupo Inlog

    Senior Full Stack Developer · Waste-collection management used by companies and public services in several Brazilian states · drivers, fleet, and routes

    • Built an AI assistant with GPT-4o, LangChain.js, PostgreSQL/pgvector, and MCP tools, streaming responses over SSE.
    • Delivered full stack features and REST APIs for drivers, fleet, collection sectors, and routes, including Leaflet map interfaces.
    • Co-developed a design system with Material UI, Tailwind CSS, and Radix UI, and refactored components to reduce coupling.
    • Shipped features and fixes during a period when active business customers grew about 15% — a shared engineering, product, and commercial outcome.
    • React
    • Next.js
    • NestJS
    • Redux
    • LangChain.js
    • pgvector
    • Leaflet
  3. Unicred

    Senior Full Stack Developer · Digital applications for a nationwide financial cooperative

    • Built web features and NestJS backends-for-frontend connected to financial-services APIs.
    • Migrated React features to single-spa microfrontends under a CI-enforced 95% line-coverage minimum.
    • Supported six to eight developers and ran internal training on component architecture, Figma-to-code, and BFFs.
    • React
    • Next.js
    • NestJS
    • single-spa
    • Jest
    • Testing Library

Earlier

  1. uFLY

    Full Stack Developer · Healthcare allocation software built for one of Brazil’s largest hospitals

    Built responsive interfaces for hospital workflows, integrated APIs, investigated production defects, and presented delivery progress to clients.

  2. Autonomo Technologies

    Full Stack Developer · Issuance and validation of official documents — driver’s licenses and international driving permits — used by state transit departments

    Developed features with React, Vue.js, TypeScript, Node.js, and NestJS; refactored for maintainability, with unit tests, SonarQube, and code reviews.

  3. Creare Sistemas

    Backend Developer · from intern · Vehicle telemetry for multinational agribusiness companies

    Where it started: investigated telemetry issues with Oracle SQL, JavaScript, and JSON, wrote training documentation, and trained new interns and a team of about ten non-developer colleagues.

Approach

How I make engineering decisions.

Principles I’ve earned on real projects — each one tied to work described on this page.

  1. Fail clearly, not quietly.

    When missing data could mislead a decision, an explicit, recoverable error beats a plausible-looking screen.

    → Bid comparison BFF

  2. Knowledge isn’t state.

    Retrieval answers from documents. Current status and actions come from the services that own them — with their permissions intact.

    → AI assistants

  3. Make responsibilities visible.

    Clear boundaries between data, logic, and presentation give every change an obvious home — and an obvious test.

    → Financial platform migration

  4. Simple until proven otherwise.

    I used to over-design shared components for needs that hadn’t arrived. Now I timebox reversible decisions, ship the simple version, and save deep analysis for choices that are hard to undo.

    → A lesson from design-system work

  5. Leave the team stronger.

    Reviews, pairing, and training are how good decisions outlast the person who made them.

    → Mentoring and internal training

Field notes

Small stories from production.

Not every lesson comes from a big project. A few debugging stories that shaped how I work.

  • React · Performance

    The filter that fired too often

    A vehicle list sent several identical requests on load and on every filter change. The effect depended on a filters object recreated on each render. I stabilized the dependencies so requests fire only when values actually change, and cancelled stale requests with AbortController so slow responses can’t overwrite newer searches.

    TakeawayCheck reference equality before blaming the API — and rule out Strict Mode’s extra effect runs before calling it a bug.

  • Backend · Database

    An N+1 hiding in a list endpoint

    A routes-and-vehicles API slowed down as data grew. Backend logs showed one query for the list, then one per row for related data. I batched the related lookups, read the query plan with EXPLAIN ANALYZE, adjusted an index used by the filters, and verified that results, pagination, and ordering stayed identical.

    TakeawayAn optimization needs an equivalence check, not just a faster number.

  • Delivery · Containers

    A green pipeline, an unhealthy app

    Build passed, tests passed, image published — yet the new Azure Container Apps revision never became ready. Logs and revision events showed NestJS listening on port 3000 while ingress expected 8080. I aligned the configuration, verified health checks and endpoints, and reviewed other environments for the same drift.

    TakeawayA successful pipeline proves the build, not the running service.

    Read the full story: A green pipeline, an unhealthy app
  • Architecture · Collaboration

    Sync or async? Let the data decide.

    A teammate preferred running report exports inside the HTTP request; I was worried about large volumes. Instead of arguing, we tested different sizes. Larger exports were prone to timeouts, so they moved to background jobs with status tracking — and small exports stayed synchronous.

    TakeawayA shared test settles a disagreement faster than a longer debate.

AI-assisted engineering

AI is part of how I build software, not just what I build.

I work with AI agents every day to move faster — and I stay accountable for every line that ships.

  1. Explore & build

    I use Claude Code, Codex, and GitHub Copilot to explore codebases, investigate bugs, compare technical approaches, and speed up implementation, while keeping changes focused and maintainable.

  2. Test & validate

    AI helps me find edge cases, expand automated tests, and drive browser-level checks with Playwright MCP. Generated code and tests are run, reviewed, and validated against expected behavior.

  3. Review & ship

    AI-assisted pull request reviews in Azure DevOps sit alongside CI checks, static analysis, and human review. AI surfaces issues earlier; correctness, security, and maintainability stay my responsibility.

See it in practice: this website was built with AI agents under my direction.The code, tests, agent instructions, and commit history are public.(opens in a new tab)

Toolkit

Tools I use in production.

Frontend

  • TypeScript
  • React
  • Next.js
  • Server Actions
  • Redux
  • Zustand
  • Tailwind CSS
  • Material UI
  • Radix UI
  • single-spa
  • Leaflet

Backend

  • Node.js
  • NestJS
  • REST APIs
  • Backends-for-frontend
  • PostgreSQL
  • SQL
  • Zod
  • Keycloak
  • NextAuth

AI integration

  • Azure OpenAI
  • GPT-4o
  • LangChain.js
  • RAG
  • Hybrid search
  • Azure AI Search
  • pgvector
  • MCP
  • SSE streaming

AI-assisted development

  • Claude Code
  • OpenAI Codex
  • GitHub Copilot
  • Playwright MCP
  • AI code review

Quality & delivery

  • Jest
  • React Testing Library
  • TDD
  • Azure DevOps
  • Docker
  • Kubernetes deployments
  • Vercel
  • ESLint
  • SonarQube

Also: JavaScript, Vue.js, Oracle SQL, Git, Scrum.

Background

Beyond the code.

Education
Systems Analysis and Development — SENAI/RS, 2020–2022
Languages
Portuguese (native) · Spanish (advanced) · English (intermediate)
Community
Volunteer front-end tech lead at Instituto Mancala, and technology mentor for public-school students through Atados (2022–2023).

Maique is one of the most qualified professionals I have worked with. What stood out most: he learns fast, has strong technical knowledge, understands business rules, and is deeply committed — often putting in extra hours to solve problems that weren’t his responsibility.

Ricardo Oliveira

Managed Maique directly

Contact

Building something that has to be right?

I do my best work with teams that care about the details — clear interfaces, dependable services, and AI that fits real business rules. If that sounds like your team, email is the fastest way to reach me.

Based in Brazil (UTC−3), with flexible hours for overlap with teams in the Americas and Europe.