Matheus OliveiraEmail me

Frontend engineer · Remote from Brazil

From Figmato production,pixel for pixel.

I'm Matheus Oliveira. I've spent six years shipping React, Next.js and TypeScript to production — storefronts, checkouts and subscription flows, and the reusable components that make the next page faster to build than the last one.

Stack
TypeScript · React · Next.js · Tailwind
Time zone
UTC−3 · overlaps US Eastern hours
Experience
6 years in production
English
Professional working proficiency

Selected work

Shipped work, not mockups.

Two products of my own, a client checkout with real money moving through it, and a client site built from her own brand. Each one: the problem, what I built, and what came out of it.

My own SaaS2022 → now

Tableflow

Restaurant ordering, from the guest's phone to the kitchen printer.

The problem

A restaurant's orders come from three places — the table, the counter and delivery — and every one of them has to reach the kitchen without getting lost on a Saturday night.

What I built

  • A mobile-first menu that guests open from the QR code on the table and order from directly
  • Orders that print in the kitchen on thermal paper, with floor, counter and delivery in one queue
  • Subscription billing on Stripe and the marketing site that sells the product

What came out of it

Paying restaurants run their service on it. I own it end to end — product, UI, deploys and support.

Next.js · TypeScript · Tailwind · Stripe · AWSVisit tableflow.software ↗
Tableflow's home page

My own product · invite-only beta2026 → now

Vapti

A storefront where browsing, booking and paying happen inside the chat.

Next.js · TypeScript · Tailwind · Node.js · MongoDB · RedisVisit vapti.chat ↗

The problem

Small businesses sell through chat, but their catalogue, stock, quotes and payments live in other tools. Every sale meant switching between them by hand.

What I built

  • A mobile-first storefront catalogue with real-time chat beside it
  • Booking, quotes with an approval flow and in-browser PDF export, and payment without leaving the conversation
  • Subscriptions for merchants' own products, from weekly to yearly cycles

What came out of it

I chose a rule-based auto-reply over an LLM call per message: it answers from live store data — stock, prices, installments — and keeps the cost per message near zero.

Client contract2026

High-value checkout

A hosted checkout for a real-estate firm paid from the US and Mexico.

Next.js · TypeScript · Stripe Elements · Vercel

The problem

Legitimate high-value payments were being blocked as fraud at checkout, and every blocked payment was revenue the client lost.

What I built

  • The hosted checkout and the admin panel for creating payment links
  • Stripe in multiple currencies and GetNet for domestic cards, in a single flow
  • Mandatory 3-D Secure and better fraud signals sent to Stripe Radar

What came out of it

Fewer false fraud blocks on legitimate payments. I also caught and mitigated a card-testing attack while payments were due the same day.

Client site

Lívia Lacerda Advocacia

A law firm's site, built from the client's own brand.

The problem

A law practice in João Pessoa needed a site that looked like her firm, not like a template every other firm had already bought.

What I built

  • An identity built from her existing brand — type, palette and tone — with no purchased theme
  • Services, articles and contact pages, responsive and mobile-first
  • WhatsApp contact one tap away on every page

What came out of it

A site that reads as her firm and nobody else's, with contact one tap away on a phone.

Next.js · TypeScript · Tailwind
Home page of lawyer Lívia Lacerda's website

How I work

Fast, without being sloppy.

  1. 01

    I work from the design, not around it

    The Figma file is the spec. I match spacing, type and alignment to it, and when a mockup doesn't cover a screen size or an edge case, I make the call and say which call I made.

  2. 02

    Every page leaves something behind

    At Wisecare, the filters, bottom sheets, date pickers and data tables I built became shared patterns across several product teams. I build pages the same way: the second one should take half the time of the first.

  3. 03

    AI in the loop, fundamentals in charge

    Claude Code and Cursor are part of my daily workflow. They make me faster; they don't decide for me. I read, understand and own every line I ship.

  4. 04

    I stay after launch

    I've been woken up by a failing Stripe webhook at two in the morning and rewritten a print queue because a restaurant lost an order on a Saturday night. Shipping is the start of the job, not the end of it.

Experience

Where I've done it.

Matheus Oliveira
Matheus OliveiraJoão Pessoa · Brazil · UTC−3
2020 → now

Frontend Engineer

Wisecare

Telehealth. Customer-facing screens across several teleconsultation products, built from Figma in Next.js, React and TypeScript. Reusable UI patterns adopted across product teams and components for the internal design system, working daily with designers and backend engineers.

2022 → now

Founder & Engineer

Tableflow · Servin · Vapti

My own products, from first commit to paying customers: product, UI, billing, deploys and support, solo.

2021 → 2023

Frontend Developer

Netfans

Audio streaming. React features, authentication flows, reusable components and the 8D audio player UI.

Also built

  • ServinHotel and guesthouse management: guests request service from a QR code in the room.
  • LITH1UMElectric mobility: a public catalogue up front, orders and stock behind it.
  • MEI RendeuA bookkeeping assistant for Brazilian sole traders that lives inside WhatsApp.

Contact

Let's talk.

The fastest way to reach me is email. I reply within one business day.

mthsdev97@gmail.com