// desenvolvedor full stack

Ricardo Teston Semensato

Engenheiro de Software · Front-End & Full Stack

Construo interfaces e sistemas que continuam de pé bem depois do deploy. 10+ anos entre front-end, arquitetura e integrações que precisam funcionar de verdade.

Disponível para novas oportunidades
10+anos de experiência
3empresas
3.000+usuários em produção
+30%ganho de produtividade de equipe

// sobre

Como eu trabalho

Sou desenvolvedor full stack há mais de 10 anos, com raiz forte em front-end (React, TypeScript, Next.js) e trânsito real em back-end (.NET, Node.js). Passei a maior parte da carreira em times pequenos e enxutos, o que significa que aprendi a fazer de tudo um pouco: arquitetura, decisões técnicas, deploy, e também sentar do lado do usuário final pra entender se o sistema resolve o problema dele de verdade.

Gosto de pegar código legado e transformar em algo sustentável, e de construir do zero quando é isso que o projeto pede. Uso IA (Claude, Cursor) como parte do meu fluxo de trabalho todos os dias, sempre revisando e validando o que é gerado, porque quem assina o código sou eu.

// experiência

Trajetória

  1. 2025atual

    Gelic Tecnologia

    Desenvolvedor Front-End Sênior

    • Arquitetura e desenvolvimento do front-end de um sistema de cotações para o setor automotivo, construído do zero com React, Vite e TypeScript
    • Design System criado do zero: componentes, padrões e documentação em Storybook
    • React Query para data fetching com cache por entidade; formulários complexos com React Hook Form + Zod/Yup
    • Migração de autenticação para cookies HttpOnly com SameSite, reduzindo exposição a XSS/CSRF, além de definição de Content Security Policy
    • Principal referência técnica de front-end do time; ajustes pontuais em .NET Core
    ReactViteTypeScriptReact QueryStorybook.NET Core
  2. 20232025

    Hap Tecnologia

    Líder Técnico de Engenharia de Software

    • Único desenvolvedor nos primeiros meses do projeto, responsável por arquitetura, front-end e decisões de produto
    • Sistema PWA integrado ao ERP com comunicação em tempo real via WebSockets entre garçom e cozinha
    • Integração de pagamentos com a Pagar.me construída do zero, cobrindo o fluxo completo de cobrança
    • APIs REST com Node.js e Express; CI/CD com Jenkins, Docker e Kubernetes
    • Evolução para liderança técnica: mentoria, code review e adoção de práticas ágeis
    Next.jsNode.jsWebSocketsPagar.meDockerJenkins

    Resultado: +30% de produtividade da equipe · −50% no tempo de onboarding

  3. 20152023

    JD3 Software

    Júnior → Pleno → Sênior · 8 anos

    • Trajetória completa dentro da mesma empresa, boa parte do período como único desenvolvedor
    • Arquitetura full stack (React, Node.js, .NET/C#, PostgreSQL e MongoDB), incluindo migração de sistemas legados
    • Validação de usabilidade presencial com usuários finais de sistemas de ERP, PCP e WMS
    • Aplicativo desenvolvido adotado por mais de 3.000 usuários, com menos de 5% de defeitos pós-lançamento
    ReactNode.js.NET · C#PostgreSQLMongoDB

// stack

Tecnologias que uso de verdade

Separado entre o que uso no trabalho e o que venho aplicando em projetos próprios.

No trabalho

Front-end

ReactNext.jsTypeScriptJavaScript (ES6+)React QueryZustandReact Hook FormZod / YupRechartsChart.jsStorybook

Back-end

Node.jsExpress.NET / .NET 9C#Entity Framework

Dados

PostgreSQLMySQLMongoDBSQL Server

Tempo real & integrações

WebSocketsSignalRRabbitMQMercado PagoPagar.meOAuth2

Testes

VitestJestPlaywrightReact Testing Library

DevOps & infra

GitDockerDocker ComposeJenkinsAWS S3

IA aplicada

ClaudeCursorChatGPT

Engenharia assistida por IA, com revisão técnica humana em cada linha.

Em projetos próprios

Tecnologias que venho estudando e aplicando em projetos pessoais, fora do trabalho.

Back-end

PHPLaravelGoNestJSFastAPISQLAlchemyPrismaJWT

Front-end

Vue 3PiniaAngularViteLeaflet

Mobile & offline

React NativeExpoSQLite

Testes

Testcontainers

DevOps & infra

GitHub Actions

// projetos pessoais

Projetos pessoais

Furafila

Repositório privado

Sistema de pedidos para eventos com barracas

Do escaneamento do QR code ao ticket final. Backend em .NET 9, monólito modular com EF Core, FluentValidation e Serilog, e PWA em React 19. Integração completa com a Orders API do Mercado Pago (Pix, cartão e balcão), cada fluxo com sua própria validação de webhook via HMAC. Notificações em tempo real com SignalR e Web Push, testes de integração com Testcontainers.

.NET 9EF CoreReact 19Mercado PagoSignalRTestcontainers

ObraLog

Repositório privado

App de medições e diário de obra, offline-first

React Native com Expo e SQLite local: toda escrita é salva primeiro no dispositivo, sem esperar rede. Sincronização bidirecional com o backend, incluindo resolução de conflitos e upload de fotos. Backend em .NET 9 Minimal APIs + EF Core, atuando como intermediário para um sistema de terceiro.

React NativeExpoSQLite.NET 9Offline-first

Kanban

Quadro Kanban com drag-and-drop

Colunas fixas de A fazer, Fazendo e Feito, cartões com título e descrição, arrastar e soltar nativo via HTML5 Drag and Drop API. Persistência local no navegador, sem backend. Feito em Vue 3 com Composition API e Pinia para gerenciamento de estado.

Vue 3PiniaTypeScriptVite

Task Manager

Gerenciador de tarefas com autenticação JWT

Cadastro e login com senha hasheada em bcrypt, tokens JWT, CRUD de tarefas isolado por usuário. Front-end em Angular com standalone components, signals e forms reativos; back-end em FastAPI com SQLAlchemy. Testes automatizados cobrindo autenticação e as rotas de tarefas.

AngularFastAPISQLAlchemyJWT

UI Kit

Biblioteca de componentes React documentada com Storybook

12 componentes acessíveis e testados: Button, Input, Select, Modal, Toast, Card, Badge, Tabs, Tooltip, Accordion, Skeleton e FormField com React Hook Form + Zod. CSS Modules com os mesmos design tokens deste portfólio, testes unitários com Vitest e Testing Library, e testes de interação em navegador real via Storybook.

ReactTypeScriptStorybookVitest

Pomodoro Move.it

Pomodoro com gamificação e desafios de pausa ativa

Ciclos de foco de 25 minutos que rendem experiência e, ao final de cada ciclo, sorteiam um desafio de alongamento corporal ou descanso visual. Completar desafios sobe de nível. Estado (nível, xp, desafios completados) persistido em cookies, lidos no servidor via getServerSideProps. Adaptado a partir do projeto Move.it, construído numa Next Level Week da Rocketseat.

Next.jsReactTypeScriptWeb Notifications API

Link Shortener

Encurtador de links com autenticação JWT e estatísticas de clique

Registro e login com JWT (access token curto e refresh token rotativo, hash SHA-256), CRUD de links com slug automático ou customizado, redirect público com contagem de cliques e estatísticas por dia. Rate limiting no login, validação com class-validator e documentação OpenAPI via Swagger.

NestJSPrismaPostgreSQLJWT

Appointment Scheduler

Agendamento de horários com regra de não sobreposição isolada no domínio

API em .NET 9 (Minimal API) com arquitetura em camadas (Domain/Application/Infrastructure): a regra de não permitir dois agendamentos do mesmo profissional no mesmo horário mora isolada no domínio, coberta por testes unitários e de integração com Testcontainers. EF Core + PostgreSQL, FluentValidation, documentação OpenAPI via Swagger. Front-end em Next.js com uma grade de horários que deixa tentar agendar em cima de um horário ocupado, pra ver a API recusar de verdade.

.NET 9EF CorePostgreSQLNext.js

Gastos Offline

Controle de gastos offline-first, com sincronização por "mais recente vence"

App nativo em React Native (Expo): toda despesa é salva no SQLite do dispositivo antes de qualquer coisa, sincronizando com o servidor quando a conexão volta ou sob demanda. A versão web abaixo roda o mesmo código como vitrine de teste, sem precisar instalar nada, mas sem a garantia de funcionar sem internet, que é exclusiva do app nativo (APK abaixo). Conflito entre dispositivos resolvido por "mais recente vence", testado nos dois lados (client e servidor). Servidor de sincronização em Node.js e Express.

React NativeExpoSQLiteNode.jsOffline-first

Só Android por enquanto: build pra iOS exigiria conta paga de desenvolvedor Apple.

Ride Dispatch

Sistema de despacho de corridas com motor de pareamento em Go

API em Laravel (PHP) cuida do cadastro de motoristas e corridas; um serviço à parte em Go mantém a localização de cada motorista em memória (protegida por sync.RWMutex) e resolve o pareamento pelo mais próximo via fórmula de Haversine, sob concorrência real. Os dois se comunicam por REST, e a API degrada graciosamente se o Go cair (a corrida fica "sem motorista", nunca um erro 500). Frontend em TypeScript puro com Leaflet, mostrando o pareamento ao vivo no mapa. 16 testes PHPUnit e 18 testes Go, incluindo um teste de concorrência rodado com -race.

LaravelPHPGoPostgreSQLTypeScript

Furafila e ObraLog têm repositório privado, mas posso mostrar o código em uma conversa.

// contato

Vamos conversar

Aberto a oportunidades remotas, PJ ou CLT, em times que valorizam arquitetura bem pensada e código que dura.