Based in Brazil3+ years building softwareEnglish B2

Marcos Matos

Software Engineer

Full-stack software engineer building and operating high-scale, multi-tenant systems with TypeScript, Node.js and React.

Most engineering decisions are product decisions.

What can fail, who it fails for, and what it costs. BeeLabs, my main engagement, is where I work on that question at scale; SIM brought it to me on demand. Co-founding Folheto Digital and Noouter meant owning both halves: the interface a customer sees and the backend that has to keep its promises in production. Remote from Brazil, across TypeScript, Node.js and React.

Things I've built.

Products I co-founded, then engineering roles.

Demo with made-up data

01

Noouter

WhatsApp marketing SaaS built for contingency

noouter.com

Role
Co-founder · full-stack engineer
Stack
Next.js 16 · NestJS 11 · Prisma 7 · PostgreSQL 16 · Redis + BullMQ · Stripe
Period
Apr 2026 —
Stage
In development
Constraint
A number gets banned, a group gets lost. The audience has to survive both. Every tenant's data, AI spend and billing must stay its own.
Built
Tenant isolation enforced in the data layer, not in services. Entry links that rotate themselves, with one contact channel per rescued lead (SMS, email or the official API) and cost estimated before it sends. An LLM router that never throws, caps concurrency on the webhook path and books every call, failures included, to the tenant's cost ledger.
Result
In development, no customers yet. 213 API endpoints, 82 data models, 127 test files.
  • WhatsApp provider orchestration
  • Instagram & TikTok acquisition
  • AI reply reading
  • Storybook design system

Demo with made-up data

02

Folheto Digital

Conversational marketing SaaS for supermarkets

folhetodigital.online

Role
Co-founder · frontend architecture, then full stack
Stack
Next.js 15 · NestJS 11 · PostgreSQL + Prisma · Redis + BullMQ · Socket.IO · WhatsApp Cloud API
Period
Jul 2025 — Jul 2026
Stage
Delivered, in production
Constraint
Offers went out by hand, into dozens of groups. A banned community takes months of audience at once.
Built
The first product taken from nothing to production: 14 front-end modules in Next.js and React. Channel and subchannel hierarchy spreads audience across senders, with QR-code onboarding and real-time connection monitoring. A ban limits blast radius instead of ending it; reporting shows which broadcast caused what.
Result
Grupo Koch, Brazil's 10th largest chain, as flagship client, plus regional chains. ~US$60K in long-term savings per chain, replacing paid Meta HSM messages with distribution through communities organised on the platform. 150K+ leads managed.

How to reach 150,000 people without losing all of them at once.

It does not prevent the ban. It limits the blast radius.

  • Reports & BI
  • Internationalisation
  • Real-time notifications
  • WhatsApp channels & automations
  • 03BeeLabsOmnichannel CRM · BeeCRM, 2023 —−77%infra cost per client
    Role
    Full-stack engineer · main engagement, contract part-time
    Constraint
    An omnichannel CRM for 1,569 agents, 2.8 million leads and 927K tickets, with one isolated database per client and 12 million messages a week moving through the platform.
    Built
    One of the main engineers responsible for the platform's evolution. Built Bee Voice from scratch: voice calling over WebRTC and Coturn, integrated with Meta's WhatsApp Cloud API, a capability the platform had never offered. Also led the re-architecture that redefined how tenants share the infrastructure, and created the project's security gate: 16 mandatory pull request rules that protect the personal data the platform handles.
    Result
    The re-architecture cut infrastructure cost per client by 77%, without taking a tenant down during the transition. The security gate became the project's development standard.
    Projects
    • Multi-tenant admin panel

      A central multi-tenant console, with incremental sync and AES-256-GCM encryption on stored connection credentials.

    • AI in product

      A per-channel assistant with OpenAI and Anthropic selectable per customer, plus automatic call transcription and summary, with a monthly cost cap per customer.

    • Performance

      N+1 queries eliminated in reports and exports, caching for the most expensive attributes to compute, and deduplication of repeated calls at application boot.

  • 04SIMOccupational health & safety SaaS, Jan — Nov 2026AI assistantmulti-provider, human-confirmed actions
    Role
    Full-stack engineer · on demand, about 10 months of deliveries
    Constraint
    A multi-tenant platform for consultancies that together manage hundreds of client companies: isolating data, brand and integrations per tenant isn't negotiable, and an AI acting on real decisions can't do that without supervision.
    Built
    Designed and built the platform's AI assistant from scratch. OpenAI and Anthropic sit behind one provider interface, with native tool calling and NDJSON streaming on both, so switching is configuration. It answers from a versioned knowledge base and can look up employees and propose exam appointments, always inside an agent loop capped at four rounds. Tenant isolation runs in the data layer, through a Prisma Client extension with AsyncLocalStorage: the rule holds by default, it doesn't depend on each service remembering to apply it.
    Result
    AI usage stays bounded and traceable by design: a daily message limit per plan, tokens and cost recorded per response with the price in force at the time, a cost panel for platform admins, and separate switches for the assistant and its actions.
    Projects
    • Confirmed actions

      The model never writes. A write becomes a proposal that expires in 10 minutes and only runs when its author confirms: an atomic claim means a double click executes once, through the same service, validation and audit trail as the screen.

    • Data the model sees

      The employee lookup returns name, role, unit and company for at most five people, never CPF or exam data. Conversations have real deletion and a 12-month retention policy.

    • SOC integration

      SOAP and REST against the consultancy's legacy HR system, syncing employees, units and roles without manual reprocessing.

    • Multi-gateway billing

      Billing and invoicing behind one interface, today with Stripe and NFE.io, so a provider can be swapped without rewriting business rules. Webhooks processed idempotently, so the same event is never charged twice.

    • White-label & LGPD

      Brand, theme and personal data treated as product requirements, not exceptions: per-tenant visual identity, and sensitive data kept out of observability tooling by default.

Let’s build something useful.

Looking for an engineer? Let’s talk.

Remote · Brazil, UTC−3