Projetos

Empresas em que trabalhei e os produtos que construo por conta própria — o que eu fiz, os resultados quando tenho números, e a stack.

Experiência profissional

06

2023–2025 Saúde

Universal Language

Facetok — interpretação por vídeo em tempo real para hospitais nos EUA, em iOS, Android e web.

+30%estabilidade de conexão

−40%tempo de build

  • Reescrevi o app a partir de um MVP em que as regras de negócio ficavam misturadas nos componentes de interface — tirei essa lógica dos componentes, passei o estado para a Context API e atualizei o React Native no caminho
  • Levei o app de só iOS para versões iOS, Android e web 100% funcionais em uma única base de código React Native + Expo, com SQLite para dados locais
  • Integrei o Expo EAS e automatizei o CI/CD com GitHub Actions — o pipeline separa as mudanças que precisam de um novo build nas lojas das menores, enviadas direto aos usuários como atualizações OTA
  • Introduzi testes automatizados — Jest para testes unitários e Maestro para testes end-to-end
  • Migramos as chamadas de vídeo da Vonage/OpenTok para WebRTC com Mediasoup para reduzir os custos da plataforma, e refatorei os componentes críticos de vídeo
  • Backend em Node.js e GraphQL com PostgreSQL; entreguei o SSO, com mudanças de schema e de índices na tabela de usuários em produção

React Native · React · Expo · EAS · OTA updates · Context API · SQLite · GitHub · GitHub Actions · CI/CD · Jest · Maestro · Node.js · GraphQL · PostgreSQL · WebRTC · Mediasoup · AWS

2022–2023 Música

Loudly

Plataforma de geração de música com IA, usada por criadores de conteúdo no mundo todo, com sede em Berlim.

  • Apps Flutter para iOS e Android, com estado em Bloc e Cubits, integrados a componentes nativos de iOS escritos em Swift
  • Processamento de áudio com FFmpeg em código nativo iOS e Android, chamado do Flutter via platform channels
  • Manutenção dos pipelines de CI/CD que mantinham os builds estáveis

Flutter · Dart · Bloc · Cubit · Swift · FFmpeg · Platform channels · iOS · Android · Stripe · SQLite

2022 Logística

Metrobi

Plataforma de logística e gestão de entregas — otimização de rotas e operação do dia a dia.

  • Apps mobile e web com React Native, Expo e React, com estado gerenciado em MobX
  • Publicação de atualizações do app com Expo EAS, incluindo atualizações OTA
  • Integração de APIs e serviços de backend para os fluxos operacionais
  • Coaching e mentoria do time como referência técnica

React Native · Expo · EAS · OTA updates · React · MobX · MongoDB · Firebase · Python

2020–2021 Corporativo

ArcTouch

Apps mobile corporativos para clientes internacionais, em Swift e Flutter.

  • Arquiteturas iOS com SwiftUI, Combine, RxSwift e Realm
  • Pesquisa e desenvolvimento de uma solução de monitoramento de escritórios durante a COVID-19, com Bluetooth Low Energy e posicionamento indoor
  • Code review nos projetos dos clientes

Swift · SwiftUI · Combine · RxSwift · Realm · Flutter · Bluetooth LE

2014–2017 CTO

PickMeApp

Plataforma de mobilidade que nasceu dentro da Getset, empresa que fundei em Belo Horizonte e depois toquei com amigos que convidei. Fui CTO, e recebemos algumas rodadas de investimento.

  • Liderei o design, a arquitetura e o desenvolvimento do MVP e da plataforma desde o zero; recrutei, orientei e coordenei os desenvolvedores
  • Apps nativos iOS (Objective-C, depois Swift) e Android para passageiros e motoristas, com backend em PHP/Laravel
  • Validação da chegada nos estabelecimentos parceiros com beacons Bluetooth
  • Um CMS para a operação — estabelecimentos, motoristas e passageiros —, onde os estabelecimentos também editavam as próprias configurações
  • Otimização de rotas e corridas compartilhadas, onde foi boa parte do tempo de engenharia
  • Migramos o banco de MySQL para PostgreSQL para usar o PostGIS nas áreas de atendimento; otimizei queries lentas com EXPLAIN e levei as gravações de localização dos motoristas, de alto volume, para o Redis

Objective-C · Swift · Android · PHP/Laravel · MySQL · PostgreSQL · PostGIS · Redis · Beacons

2008–2011 Primeiro emprego

Takenet (hoje Blip)

Conteúdo mobile para as operadoras do Brasil — toques, papéis de parede e as lojas que os vendiam. Entrei como estagiário e cresci até analista de sistemas, na prática um full-stack com ênfase em interfaces web.

  • Comecei no RingRing, uma plataforma de venda de conteúdo para os celulares da época — toques monofônicos e polifônicos, papéis de parede coloridos ou não
  • Fui convidado para o time de interfaces, criando lojas que vendiam conteúdo direto ao usuário — páginas WAP em WML para celulares antigos, navegação BREW para aparelhos limitados e lojas web em C# e .NET
  • Desenvolvi lojas de conteúdo para as maiores operadoras do Brasil — Vivo, TIM e Claro —, começando pela TIM Music Store, o portal da TIM para vender conteúdo aos seus clientes
  • Cada loja tinha uma versão web e uma versão mobile, separadas pelos valores de user agent que recebíamos das operadoras

C# · ASP.NET · Microsoft SQL Server · WAP/WML · BREW · SVN

Produtos próprios

05

2017–atual · Produto no ar

Cryptom

Trading automatizado de cripto que só opera dentro de zonas de suporte e resistência, com um dashboard ao vivo mostrando os mesmos dados que o bot usa.

12mercados

6timeframes

~78Mcandles armazenados

  • WebSockets da Binance alimentam SMA, EMA, MACD e RSI, recalculados a cada fechamento de candle
  • Os serviços conversam principalmente por WebSocket, através de um broker feito para o Cryptom que repassa mensagens e cálculos; o Redis guarda o estado de que os serviços precisam depois de um restart
  • Particionamento de tabelas mantém rápidos de consultar e de reter ~6,5M candles por par, além dos moments, labels, trendlines e rules calculados
  • Estratégias complementares além das zonas — gestão de caixa focada em crescer o saldo em USDT e canais de Donchian para tendências de alta
  • Web app para o consumidor em Next.js e React — site público, cadastro e um dashboard ao vivo com candles, indicadores, saldos e ordens, com gráficos em TradingView Lightweight Charts, nos planos Free e Pro
  • Web app construído com desenvolvimento assistido por IA — Claude Code como ferramenta principal e OpenCode para mudanças menores, para economizar no custo dos modelos
  • Roda em Docker no Google Cloud, no Fly.io e num servidor em casa exposto via Cloudflare Tunnel

Node.js · TypeScript · Next.js · React · TradingView Lightweight Charts · WebSockets · Redis · PostgreSQL · MongoDB · SQLite · Docker · Google Cloud · Fly.io · Cloudflare Tunnel · Claude Code · OpenCode

2023 · iOS e Android

PriceIn

Escaneie um código de barras, informe o preço que encontrou e descubra a melhor oferta por perto. Leitura com ML Kit, Google Places para as lojas e um scraper em segundo plano alimentando os preços da região.

Flutter · Redux · ML Kit · Google Places · Scraping · Rive

2024 · Jogo web e mobile

Super Carnaval World

Um jogo em pixel art sobre o Carnaval de Belo Horizonte — explore as festas de cada dia, encontre os blocos de rua e converse com os amigos em tempo real.

Flutter · Redux · Node.js · Express · Socket.IO

Em andamento · Web e mobile

Moots – My Roots

Genealogia colaborativa — conecte parentes, reúna as histórias deles e compartilhe memórias da família. Backend em Go e PocketBase com atualizações via WebSockets.

Flutter · Redux · Go · PocketBase · WebSockets · Docker

Em andamento · Web · Código aberto

QuickTacToe

Jogo da velha com 7 segundos por jogada. Jogue online em tempo real, contra um bot treinado com Apple MLX ou com um amigo no mesmo aparelho.

Next.js · TypeScript · Node.js · WebSockets · Apple MLX

Quer saber mais sobre algum deles? Vamos conversar.