Skip to main content
Site logo

Hi, I'm João Victor, from Fortaleza, Brazil.

Software engineer.Edge cases included.

5+ years building web products that people rely on every day.

  • TypeScript
  • React
  • Next.js
  • Node.js
  • GraphQL
  • TanStack

Experience

My experiences

A timeline of projects, teams, and outcomes I'm most proud of.

tap the dot for a hello

releases
release v3.0 · latest

Frontend Developer

Getup
3 yrs 1 mo – Present
changelog
  • featArchitected and developed scalable, high-performance user interfaces for UnDistro, improving observability and management of complex Kubernetes environments.
  • featBuilt and maintained frontend applications used by thousands of users, leveraging React.js, Next.js, TypeScript, Vite, and Astro, with a strong focus on maintainability and performance.
  • ossContributed to open-source projects, including CEL Playground, a WebAssembly-based project, collaborating on frontend architecture, API integration, and performance optimization.
stack
JavascriptTypescriptReactNextTailwindKubernetesWebAssembly
João Victor typing at a keyboard

Fortaleza, Ceará · Brazil

About

About me

I'm João Victor, a software engineer in Fortaleza, Brazil. I studied Information Systems at the Federal University of Ceará and spent my first years at a data-science lab, building public dashboards that Ceará's government teams use every day. Today I build Quor's customer console at Getup.

I like the parts of the job that don't show up in a demo: the edge cases, the error states, the page on a slow phone. I write about how I work, more and more alongside AI agents, on the blog. And I hide easter eggs on this site, if you know where to lookstart here ↗.

How I work

04 principles
  1. I check the page, not just the tests.

    Typecheck, lint and CI can all pass on a broken page. Done means I have looked at what the user actually gets.

    PostThe model can't see the page
  2. Accessibility is a requirement, not a feature.

    Screen readers, keyboard paths and contrast are part of done. On a statewide public platform that meant VLibras, too.

    Case studyBig Data Social
  3. The unhappy path is the job.

    Retries, bounces, expired links. The flows nobody demos are the ones that decide whether people trust the product.

    PostSending an email is the easy part
  4. Big changes, small safe steps.

    Large rewrites go slice by slice, each step small enough to review and safe enough to roll back.

    PostMigrating an app from Angular to React

Writing

Blog

Notes on engineering, the web, and things I am building.

7 notes · ~47 min of readingView all posts
  1. No.0071 min

    I like games: Easter Egg #3

    Frontend Development · Engineering
  2. No.00610 min

    From Claude Code to T3 Code, without leaving Claude

    Engineering · AI · Tooling
  3. No.00514 min

    Sending an email is the easy part

    Engineering · Backend
  4. No.0048 min

    Halloween: Easter Egg #2

    Frontend Development · Engineering

Services

What I can build for you

Four kinds of work I take on, each backed by work you can read on this page.

4 offerings · every one linked to shipped work

Landing pages

One page with one job: turn a visit into a lead. Fast, responsive and measurable from day one.

what you get
  • From design to code, responsive and accessible
  • Contact form or lead capture, wired up
  • SEO, analytics and Core Web Vitals in shape
receipts · see it shipped
Start a projectopens the chat with this attached:
Interested inLanding pages
FAQ

Before you ask

  • Are you taking on projects?

    Yes. I take on a small number at a time, so each one gets proper attention. Tell me what you're building and when you need it, and I'll tell you when I can start.

  • How do you charge?

    Hourly or a fixed quote, whichever suits the project. A well-defined scope usually gets a fixed quote; open-ended or ongoing work is usually hourly. Either way, you get the estimate before any work starts.

  • How long does a project take?

    A landing page usually takes one to two weeks. Bigger work depends on the scope, so the timeline comes with the quote, before anything starts.

  • Do I need a design first?

    No. I can design the interface myself: clean, responsive and accessible. If you already have a designer or a Figma file, I'll build from that. For a site where the brand is the whole point, a dedicated designer is worth it, and I'm happy to work with one.

  • Can you work on a site or app that already exists?

    Yes, if it's built with React, Next.js, Node.js or TypeScript, or is moving to them. I've written about migrating an app from Angular to React, and if a codebase isn't a good fit for me, I'll say so up front.

  • What happens after launch?

    I offer maintenance and support after launch: fixes, dependency updates and new features. We agree on how it works along with the rest of the project.

  • Who owns the code?

    You do. Everything I write lives in your repository from day one, and it's yours.

  • Do you work with clients outside Brazil?

    Yes. I work in English or Portuguese, and we can sort out invoicing in whatever way works best for you.

Something else?

Not sure it fits one of these? Tell me what you're building and I'll tell you honestly whether I'm the right person for it.

Tell me about it

Contact

Start a conversation.

Three quick questions, and your message goes straight to my inbox.

João VictorReplies by email
Your email is used only to reply to this message after confirmation.