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
Selected work
Case studies
Swipe
Experience
My experiences
A timeline of projects, teams, and outcomes I'm most proud of.
tap the dot for a hello
Frontend Developer
Getup- 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.
Frontend developer full
Insight Data Science Lab- leadLed frontend development for high-impact digital solutions serving the State Government of Ceará, impacting millions of citizens.
- featDeveloped and maintained web applications using React.js, TypeScript, and Node.js, adhering to best practices.
- apiBuilt and consumed REST APIs for secure and efficient data management, enhancing user experience.
Frontend Developer Scholars
Insight Data Science Lab- featAssisting in the development of solutions for the state government.

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 principlesI 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
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
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
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.
- No.0071 min
I like games: Easter Egg #3
Frontend Development · Engineering - No.00610 min
From Claude Code to T3 Code, without leaving Claude
Engineering · AI · Tooling - No.00514 min
Sending an email is the easy part
Engineering · Backend - No.0048 min
Halloween: Easter Egg #2
Frontend Development · Engineering
Easter egg #3: a quick run through the games I've played, from a PlayStation 2 to a PC, and why this site spends November 2026 dressed up for GTA VI.
· 1 min readServices
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 workLanding pages
One page with one job: turn a visit into a lead. Fast, responsive and measurable from day one.
- From design to code, responsive and accessible
- Contact form or lead capture, wired up
- SEO, analytics and Core Web Vitals in shape
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.
Contact
Start a conversation.
Three quick questions, and your message goes straight to my inbox.