Engenheiro de softwareBrasilOttawa
Ângelo Ocanã
Engenheiro de software na Shopify, em Ottawa. Aprendo e construo para a web desde 2007, e ainda tento aprender algo novo todo dia. Gosto de fazer coisas complicadas parecerem simples para quem usa.

Natação no gelo
Blocos, borboleta e o clube

Musculação
Primeira competição de powerlifting

Marcenaria
Construindo minha mesa de jogos

Natação no gelo
Mais um dia de sol na praia congelada! ❄️🌅☀️🏊♂️

Acampar
Pôr do sol no lago

Dias de neve
nadando na neve + anjo na neve ❄️🏊♂️🥶👼🌨️

Natação no gelo
crawl + borboleta = 50m 🏊♂️🥶 -12°c, sensação de -19°, vento de 30km/h. Hoje foi difícil, quase desisti de ir 😅

Musculação
1 ano atras :D já estou quase recuperado depois da pandemia :/

Marcenaria
Primeira marcenaria no estilo japonês, sem parafusos

Natação no gelo
-16°C espantou a maioria, mas 4 corajosos apareceram pro mergulho hoje 🥶🧊💪🦵🏊♂️

Musculação
Primeira vez escalando, foi divertido 🤩, mas dolorido 😅

Comida
churrasco o ano todo! hamburguer as 7h a -19° 🍔🥶

Natação no gelo
O que eu faço? Eu amo borboleta 😭🥶🧊🏊♂️

Musculação
🔝

Dias de neve
Um anjo na neve pra refrescar 😇 e um nado depois de mais de 1 hora tirando neve

Natação no gelo
Recuperando a resistência de novo 🙏 estava muito frio hoje🥶 -18c, rajadas de vento de 24km/h, mas o sol e o dia estavam lindos 😍

Musculação
🧗🔝💪

Marcenaria
Não acredito q fiz essa mesa de jogos! Comecei a um mês atrás, deu muito trabalho mas valeu muito a pena! Muito contente com o resultado :D

Natação no gelo
Frio 🥶❄️

Musculação
🙏 #altitudegymkanata

Comida
🔥🔥🔥

Natação no gelo
dia lindo pra ir à praia 🏖️😍🥶❄️

Musculação
Ainda longe da meta de 10 reps em 2025, mas feliz com o progresso, comecei o ano com 1 rep 🦵🏋️♂️🔥

Dias de neve
Primeira nevasca da temporada ❤️❄️🌨️ melhor hora pra ir pra academia 😅

Natação no gelo
Frio 🥶❄️

Musculação
Levantamento terra

Comida
mandioca com coxa na churrasqueira, sera q vai dar bom?

Natação no gelo
gelo pra curar a dor

Musculação
Agachamento livre pesado

Comida
#ribs #dutchoven #bbq

Natação no gelo
Cortar gelo dá muito trabalho 🥵 ainda bem que deu certo e agora temos um buraco comprido pra nadar ❤️

Musculação
Minha nova academia no Brasil haha

Comida
#ribs

Natação no gelo
TBT de ontem 😅, primeira vez 3 voltas (150m), minhas costas estavam congeladas e quase não mexiam na última volta

Musculação
Minha nova academia no Brasil haha

Comida
Tortilhas na churrasqueira

Natação no gelo
100m 🏊♂️🥶

Musculação
Última série do melhor exercício pra peito

Comida
Linguiças defumando na grelha

Natação no gelo
Esqueci os óculos de natação hj 🤦 Foi muito difícil nadar borboleta 🥶🥶🥶

Musculação
Estou fazendo levantamento terra novamente depois de um bom tempo sem :D

Comida
Bifes selando no carvão

Natação no gelo
Nadando entre blocos de gelo azuis

Musculação
ah não 🤣

Música
shopify summit - Roots, Weezer, Girltalk.

Natação no gelo
Primeiro nado no gelo da temporada com meu amigo lendário Tom 🥶😍🧊🏊♂️🩲

Musculação
#basketball #trampoline

Natureza
meditação, cobra e sapo.

Natação no gelo
Primeiro nado no gelo da temporada, piscina de 15m 🥶🏊♂️🧊

Musculação
treino de perna 🔥🦵

Viagens
NYC

Natação no gelo
muita gente hoje e eu tive o prazer de ajudar a cortar o gelo 🔪🧊❄️🥶🏊♂️

Musculação
Será este o exercício mais difícil de perna? 🦵

Comida
Cachorro-quente brasileiro 😋🇧🇷🇨🇦

Natação no gelo
Serrei +60 cm, 3 reps de desenvolvimento 😅, borboleta que não deu certo (minha cabeça congelou, comecei a beber água e não conseguia parar 🤦😅)

Musculação
Remada cavalinho 🐎💪🦵🔥

Música
shopify summit - Roots, Weezer, Girltalk.

Natação no gelo
melhor piscina do mundo 😅🥶🏊♂️

Musculação
Remada curvada old school no meio de um longo treino de costas

Natureza
🐧🐧🐧 briga no zoológico de Calgary

Natação no gelo
🧊🥶 a piscina está ficando mais comprida, aumentamos mais hoje, agora tem mais de 8 metros, rumo aos 20~25m 🙏

Musculação
dia de perna 🔥

Viagens
Pôr do sol de Toronto da CN Tower

Natação no gelo
Ah não, o bloco de gelo perfeito quebrou 😭

Musculação
Perna e peito no Brasil

Comida
Feijoada 😋

Natação no gelo
Borboleta na piscina de gelo

Musculação
devagar se vai ao longe 🔥💪🦵

Natureza
Que fofo 🥹

Natação no gelo
Sem nado hoje

Musculação
feliz ano novo! último treino de perna do ano, testando agachamento pistol no Smith, é muito difícil 🤯🦵💪

Comida
primeiro churrasco da temporada de neve 🥶🔥🥩❄️

Natação no gelo
Que dia lindo e quente (-1c) pra ir à praia congelada! 🏖️ 🥶❤️🏊♂️

Musculação
novo recorde no agachamento 🤯🔥😁🦵

Natureza
Cavalo-marinho entre corais

Natação no gelo
Entrando no lago congelado

Musculação
Minha meta pra esse ano é agachar com 3 anilhas de 20kg de cada lado por 10 reps. Já é maio e ainda estou em 2 reps 😭😅🙏🦵

Comida
sushi & bacon, isso é crime?

Natação no gelo
Caminhando sobre o lago congelado

Musculação

Natureza
Anêmonas no aquário

Natação no gelo
Entrando no lago gelado

Comida
Ketchup, mostarda e picles na pizza de pepperoni da Costco

Musculação
Melhor jeito q eu achei pra treinar trapézio sem sentir dor no pescoço

Natureza
Tubarão-touro deslizando

Natação no gelo
ventando muito hoje 🌬️🥶❄️

Comida
Fatiando o bife grelhado

Musculação
Agachamento profundo

Natureza
Floresta de algas no aquário

Natação no gelo
-8°, sensação de -15°, vento de 29 km/h, água correndo rápido... o mergulho gelado mais difícil da temporada 🥶🏊♂️🧊

Comida
Acendendo a churrasqueira na neve

Musculação
Remada pesada com halter

Natureza
Peixes tropicais no recife

Natação no gelo
Levantamento terra com blocos de gelo pra poder nadar 🧊💪

Musculação
Novos pesos desbloqueados hoje 🔥

Natureza
Águas-vivas na luz azul

Natação no gelo
mais 3 blocos de gelo tirados hoje, agora a piscina tem mais de 10 metros 🧊❤️💪🏊♂️🩲

Musculação
Usando todos os pesos do hotel no leg press 🦵🔥 isso q sou frango, um bodybuilder de verdade só ia fazer aquecimento 😅

Natureza
Arraias deslizando no aquário

Natação no gelo
4h pra reabrir 70% da piscina de gelo a uns -20°c 🥶🧊🏊♂️🌤️

Musculação
semana passada eu falhei, mas hoje 1,5 rep, rumo às 10 reps em 2025 🙏🦵🔥

Natureza
Tubarão nadando por cima

Natação no gelo
Nadando entre placas de gelo

Musculação
primeira vez com 5 anilhas, mas ainda não estou pronto 😅 quem sabe na próxima 🙏

Natureza
Águas-vivas à deriva

Vida
boliche 🎳

Musculação
Remada unilateral

Dias de neve
Primeiro dia de escorregar na neve nesse inverno 😍🥶

Viagens
Andando de moto no brasil depois de 2 anos, eu não esqueci como pilota :D

Musculação
Cadeira extensora

Comida
#ribs #airfryer

Natureza
🐒🐒🐒 zoológico de Calgary

Musculação
ponte, a mais difícil de todas. Socorro! Não consigo levantar depois disso 😅⚰️

Natureza
Peixes no aquário
Projetos pessoais · track2.fit
Treine pesado. Registre fácil.
Um app de treino que eu desenho e construo de ponta a ponta, no iPhone, Apple Watch, iPad e na web, sempre sincronizado.
Abrir o track2.fit →Como construímos · em breve














Ele já sabe o que vem depois.
Sugere o próximo treino, preenche pesos e repetições e registra séries inteiras a partir de uma frase.




Registre a série pelo pulso.
Timer de descanso, batimentos e recordes, sem pegar o celular entre as séries.

O quadro completo.
Histórico, medidas do corpo e recordes, organizados no iPad.

E na web.
Os mesmos treinos em qualquer navegador, sempre sincronizados.
Offline primeiro.
Cada aparelho guarda a própria cópia e sincroniza quando pode: do relógio para o celular, do celular para a nuvem, da nuvem para o resto.
- TRACK2.FITAndroidem breve
Android e Wear OS.
A caminho. Grátis e sem anúncios.
Projetos pessoais · Jump Over Jump
Faça o seu próximo salto.
Como damas, mas ninguém é capturado. Pule qualquer peça, encadeie saltos e leve as oito para casa, em qualquer navegador.
Programado à mão em 2014. Refeito com IA em 2026.
Jogar →Como construímos · em breve
jump over jump
Ⅱ Pausar demonstraçãoDois lados, uma corrida: vence quem atravessar primeiro com as oito.
Faça o seu
próximo salto.Jogar →
jump over jump
Faça o seu próximo salto.
Dois lados, uma corrida: vence quem atravessar primeiro com as oito.
Jogar →
- InicianteUm começo tranquilo
- 2014Meu primeiro bot, programado à mão
- ClássicoPreservado de uma versão antiga
- EspecialistaPlaneja várias jogadas à frente
- MestrePensa mais fundo, até 3 segundos
- NeuralPura intuição · 5,8 mi de parâmetros
Seis bots, do tranquilo ao Neural.
Um iniciante, os dois bots das minhas versões programadas à mão, bots de busca que planejam jogadas à frente, e o Neural: ele olha o tabuleiro uma vez, não busca nada, e mesmo assim venceu o Mestre em 19 de 24 partidas.
jump over jump
Faça o seu próximo salto.
Dois lados, uma corrida: vence quem atravessar primeiro com as oito.
Jogar →
✓Link da sala copiado
Você vs Amigo
Jogue online com um amigo.
Abra uma sala privada, mande o link e jogue ao vivo de qualquer celular ou navegador. Sem cadastro, e o servidor confere cada jogada.
TodosJogadoresIAs
- 1Seu nome aqui🏆
- 2NeuralIA
- 3MasterIA
- 4ExpertIA
Vitória 3 · Empate 1
Tem espaço no topo.
Três pontos por vitória, um por empate, para pessoas e bots. Ainda é cedo, então poucas vitórias já levam longe.
- 4 lições
- 30 idiomas
- Funciona offline
- Tabuleiro 3D
- Claro e escuro
Aprenda em um minuto.
Quatro lições curtas ensinam as regras jogando. O tabuleiro é animado em 3D, fala 30 idiomas e funciona offline.
Bastidores
Doze anos de reescritas.
Toda vez que eu queria aprender uma linguagem, refazia o mesmo joguinho.
Bots do iniciante a uma rede neural, salas online para jogar com amigos, e o bot original de 2014 ainda esperando a revanche.
$ git log --reverse --date=short 2014-10-25 Init 2014-10-27 Board … c_sharp_phaser/JumpOverJump2014
C# + Phaser
A primeira versão, programada à mão para aprender uma game engine.

2016
C# + AngularJS
A versão que ficou no ar em jumpoverjump.com por anos.

2016
TypeScript, Angular 2, Meteor
Uma só linguagem no cliente e no servidor.
a b c d e f g h 8 ● ● ● ● ● ● ● ● 7 · · · · · · · · 6 · · · ● · · · · 5 · · · · · · · · 4 · · ○ · · · · · 3 · · · · · · · · 2 · · · · · · · · 1 ○ ○ · ○ ○ ○ ○ ○ > c1 → c4
2017
TypeScript funcional
As regras reescritas como funções puras, com uma IA simples e interface no terminal.
JumpOverJump/ ├── bend/ # massively parallel ├── c/ # tiny + fast ├── typescript/ ├── c_sharp_angularjs/ └── c_sharp_phaser/
2024
Bend e C
Código massivamente paralelo, e a engine menor e mais rápida que consegui escrever.

2026
Refeito com IA
Um oponente neural, salas online para amigos, e o bot de 2014 ainda lá para ser vencido.
Projetos pessoais · Tic Tac Toe AI
Vença a minha IA.
Fiz à mão em 2017 para a minha entrevista na Kinaxis, cujo desafio era um jogo no canvas do HTML5: três dias do primeiro commit até a demo. A IA veio depois, com mais seis semanas de acabamento.
Você 0 × 0 IA
Feito em 2017 com
Como ela joga
Regras simples fazem as jogadas: ganhar se puder, bloquear se precisar, senão qualquer casa livre. Uma pequena rede neural (18 entradas, 9 neurônios ocultos e 9 saídas) também treina a cada partida. Esse era o experimento, e ela nunca aprendeu a jogar: sempre tenta a mesma casa, e as regras entram em cena.
O jogo aqui é o mesmo código, portado para TypeScript.
- HTML5 Canvas
- Web Workers
- Synaptic
- React
- Redux
- Ramda
- Gatsby
- GraphQL
- styled-components
- Jest
- ESLint
- Babel
Do histórico de commits · 2017
Três dias, à mão
- 23 setChega o desafio. Primeiro commit, e um tabuleiro num canvas já à tarde.
- 24–25 setLinhas que se desenham quadro a quadro, depois X, O e a linha da vitória.
- 26 setA entrevista, às 11h30. O último commit antes dela, um teste, entrou às 11h28.
- 27–28 setDepois dela: uma IA que ganha e bloqueia, e uma rede neural conectada ao jogo.
- 30 set–6 outEla reveza quem começa, marca o placar e pensa num web worker.
- 8 outO tabuleiro reescrito em bits: dois por casa, um número para o jogo todo.
- 5–7 novAssinaturas de tipos, documentação e animações memoizadas.
Projetos pessoais · e mais
E mais alguns.
Open source, bibliotecas e projetos menores, desde 2014. O resto está no GitHub.
2017
gatsby-plugin-i18n↗
Open source · um plugin para Gatsby
Uma rota para cada idioma num site Gatsby. Mais de 400 estrelas no GitHub, e ainda mais de 10 mil downloads por mês.
- ptz-i18n ↗As funções por baixo, para qualquer projeto.
- gatsby-starter-default-i18n ↗Um ponto de partida para um site novo em vários idiomas.
- Gatsby
- React
- JavaScript
2017
Desenhe suas pastilhas↗
Mosaicos para piscinas
Escolha uma cor e toque nas pastilhas para pintá-las. Com o mouse, arraste para pintar uma linha.
Fiz em uma semana em 2017, como protótipo para um construtor de piscinas: um jeito de planejar o mosaico antes de assentar a primeira pastilha.
- React
- Redux
- Ramda
- styled-components
- Gatsby
- Jest
LinhasColunas2017
Polutz↗
Open source · módulos compartilhados
Módulos open source, reutilizáveis e testados, para compartilhar entre projetos, em React, GraphQL e Node.js, organizados com domain-driven design. Duas dúzias de pacotes, e geradores Yeoman para começar novos.
- TypeScript
- React
- GraphQL
- Node.js
- MongoDB
2014Hoje
Este site
Três versões até agora
- angeloocana.com.br2014–15: meu primeiro site, em Angular e C#.
- angeloocana.com em Gatsby2017: o segundo, em Gatsby, React e GraphQL, com o gatsby-plugin-i18n para os idiomas.
- angeloocana.com em Remix 3 ↗2026: este aqui, pré-renderizado e servido pela Cloudflare. O código está no GitHub.
20172025
Projetos menores
- Assistente de treino ↗2025: um servidor MCP para uma IA registrar um treino, série por série.
- moon-nodes ↗2018: a lua está ascendente ou descendente? Qualquer dia até 2100.
- freecom.club ↗2017: um app open source para cidadãos votarem nas propostas do bairro.
Carreira · de hoje até o começo
Onde eu construí coisas.
7 empresas desde 2007. Role para o lado para ver cada uma.
2021HojeHoje
Shopify↗
Engenheiro de software staff · Ottawa, Canadá
O que eu construí
Em todos os times em que entrei fui o líder técnico: defendi os projetos, desenhei a arquitetura e reuni as pessoas de que eles precisavam, entre times da Shopify e empresas parceiras como a Amazon, para entregá-los a milhões de lojistas.
- Rollouts ↗Lançar mudanças no tema, no checkout e nas contas com data marcada, liberar aos poucos ou rodar como experimento A/B contra a loja atual.
- SimGym ↗Compradores de IA que visitam a loja antes dos clientes reais. Eles navegam, colocam no carrinho e contam o que os confundiu, para o lojista comparar um tema novo com o atual antes de publicar.
- Promessa de entrega ↗Datas de entrega confiáveis, na página do produto e no checkout, calculadas a partir de onde está o estoque, onde está o comprador e dos tempos reais de transporte.
- Buy with Prime ↗A integração com a Amazon que leva as opções de entrega Prime aos membros Prime no checkout da Shopify, pagando com a carteira da Amazon ou do Shop Pay.
- Shopify Fulfillment NetworkPedidos, e depois Growth e Activation: levar os pedidos dos lojistas aos armazéns da Shopify e ajudar novos lojistas a começarem a enviar pela rede.
- Ruby
- TypeScript
- Rust
- GraphQL
- React
- Remix
- MySQL
- BigQuery
Shopify · Destaques
01 Rollouts ↗
Lançar mudanças no tema, no checkout e nas contas com data marcada, liberar aos poucos ou rodar como experimento A/B contra a loja atual.
02 SimGym ↗
Compradores de IA que visitam a loja antes dos clientes reais. Eles navegam, colocam no carrinho e contam o que os confundiu, para o lojista comparar um tema novo com o atual antes de publicar.
03 Promessa de entrega ↗
Datas de entrega confiáveis, na página do produto e no checkout, calculadas a partir de onde está o estoque, onde está o comprador e dos tempos reais de transporte.
Shopify · Destaques
04 Buy with Prime ↗
A integração com a Amazon que leva as opções de entrega Prime aos membros Prime no checkout da Shopify, pagando com a carteira da Amazon ou do Shop Pay.
05 Shopify Fulfillment Network
Pedidos, e depois Growth e Activation: levar os pedidos dos lojistas aos armazéns da Shopify e ajudar novos lojistas a começarem a enviar pela rede.
20182021
Kinaxis↗
Desenvolvedor principal · Ottawa, Canadá
O que eu construí
A aplicação web do RapidResponse, a plataforma de planejamento de cadeia de suprimentos da Kinaxis, em TypeScript e React. Ajudei a migrá-la do AngularJS, desenhei o monorepo, cacei problemas de performance e vazamentos de memória, e escrevi nossa própria biblioteca de gerenciamento de estado, inspirada em Redux, Reselect e Recoil.
- Nossa própria biblioteca de estadoInspirada em Redux, Reselect e Recoil, feita para o tamanho e a velocidade que a aplicação precisava.
- Revisões e mentoriaMais de 100 pull requests revisados por mês, e sempre por perto para ajudar o time.
- Tech talksPalestras internas frequentes, e trabalho próximo com UX e produto para desenhar novas funcionalidades.
- TypeScript
- React
- Redux
- RxJS
- Angular
- C#
- .NET MVC
- Node.js
- Jest
- Jasmine
- TestCafe
- TDD
- webpack
- Gulp
- styled-components
- Sass
- Ramda
- Azure
Kinaxis · Destaques
01 Nossa própria biblioteca de estado
Inspirada em Redux, Reselect e Recoil, feita para o tamanho e a velocidade que a aplicação precisava.
02 Revisões e mentoria
Mais de 100 pull requests revisados por mês, e sempre por perto para ajudar o time.
03 Tech talks
Palestras internas frequentes, e trabalho próximo com UX e produto para desenhar novas funcionalidades.
20152018
Freelance a volta
Desenvolvedor independente
O que eu construí
De volta ao trabalho independente depois da POL: apps web e mobile para startups e investidores, sites, mais trabalho para a POL e o meu próprio jogo de tabuleiro.
- InnovativeUm site para a Innovative e a BBM Brasil, em HTML, CSS e JavaScript.
- StaffgeistUm app web e mobile em Angular e Ionic, com C#, MongoDB e Elasticsearch no Azure.
- HiveUm software de gestão de projetos que passei alguns meses construindo para um grupo de investidores, com Angular, Ionic, D3 e C#.
- Empório Viña RealO site da loja, em HTML, CSS e JavaScript puros.
- APM ↗Para a Associação Paulista de Medicina, com a Sorocabacom, em C#, .NET MVC, WCF e SQL Server.
- budbuds.usUma startup americana que ajudava produtores a acompanhar e controlar o crescimento das plantas com QR codes. Feito com React Native, GraphQL e Node.js. Não está mais no ar.
- POLMais trabalho na plataforma de recompensas que ajudei a construir, desta vez como freelancer.
- Jump Over JumpMeu próprio jogo de tabuleiro, por fora: a versão em C# e AngularJS que ficou anos no ar em jumpoverjump.com, e depois as reescritas em TypeScript.
- TypeScript
- AngularJS
- Ionic
- Cordova
- React Native
- Redux
- GraphQL
- Node.js
- D3
- C#
- .NET MVC
- WCF
- MongoDB
- PostgreSQL
- Redis
- Elasticsearch
- SQL Server
- Docker
- Kubernetes
- Azure
Freelance · a volta · Destaques
01 Innovative
Um site para a Innovative e a BBM Brasil, em HTML, CSS e JavaScript.
02 Staffgeist
Um app web e mobile em Angular e Ionic, com C#, MongoDB e Elasticsearch no Azure.
03 Hive
Um software de gestão de projetos que passei alguns meses construindo para um grupo de investidores, com Angular, Ionic, D3 e C#.
04 Empório Viña Real
O site da loja, em HTML, CSS e JavaScript puros.
Freelance · a volta · Destaques
05 APM ↗
Para a Associação Paulista de Medicina, com a Sorocabacom, em C#, .NET MVC, WCF e SQL Server.
06 budbuds.us
Uma startup americana que ajudava produtores a acompanhar e controlar o crescimento das plantas com QR codes. Feito com React Native, GraphQL e Node.js. Não está mais no ar.
07 POL
Mais trabalho na plataforma de recompensas que ajudei a construir, desta vez como freelancer.
Freelance · a volta · Destaques
08 Jump Over Jump
Meu próprio jogo de tabuleiro, por fora: a versão em C# e AngularJS que ficou anos no ar em jumpoverjump.com, e depois as reescritas em TypeScript.
20112015
Total On Demand · Peela · POL
Desenvolvedor C# sênior e líder técnico · São Paulo, Brasil · a mesma empresa, renomeada duas vezes
O que eu construí
Plataformas de campanhas de incentivo e recompensas para grandes marcas, e depois a POL, nosso próprio e-commerce onde as pessoas trocam os pontos que ganham.
- Campanhas de incentivo5 a 8 por ano, de 5 mil a 9 milhões de usuários: uma rede social para cada campanha, jogos, metas e resultados, feed de notícias, quizzes e galerias de fotos.
- Clientes das campanhasVivo · Telefônica, BASF, Volkswagen, Sony, L’Oréal, Johnson, Net, FMC, FTD, Sky, Oi, BRF, Syngenta, Cury e Tenda.
- POL · Prêmios OnlineNosso próprio e-commerce, integrado a varejistas parceiros como B2W, Magazine Luiza, Walmart, Casas Bahia, FastShop e Avon. Construí o motor de busca dele com Lucene.
- Perto dos clientesReuniões com os clientes para entender o que precisavam e definir a estratégia de cada campanha.
- C#
- .NET MVC
- Web API
- WebForms
- WCF
- Entity Framework
- StructureMap
- Lucene
- Elasticsearch
- RabbitMQ
- SQL Server
- PostgreSQL
- jQuery
- Heroku
- AWS
- DDD
- TDD
- Scrum
Total On Demand · Peela · POL · Destaques
01 Campanhas de incentivo
5 a 8 por ano, de 5 mil a 9 milhões de usuários: uma rede social para cada campanha, jogos, metas e resultados, feed de notícias, quizzes e galerias de fotos.
02 Clientes das campanhas
Vivo · Telefônica, BASF, Volkswagen, Sony, L’Oréal, Johnson, Net, FMC, FTD, Sky, Oi, BRF, Syngenta, Cury e Tenda.
03 POL · Prêmios Online
Nosso próprio e-commerce, integrado a varejistas parceiros como B2W, Magazine Luiza, Walmart, Casas Bahia, FastShop e Avon. Construí o motor de busca dele com Lucene.
Total On Demand · Peela · POL · Destaques
04 Perto dos clientes
Reuniões com os clientes para entender o que precisavam e definir a estratégia de cada campanha.
20102011
Empresário Cobrança
Desenvolvedor C# e líder técnico · São Paulo, Brasil
O que eu construí
Sistemas para uma empresa de cobrança: negociação de dívidas de pessoas e empresas de todo o Brasil, importação de dados, controle de acesso e sistemas internos.
- Negociação de dívidasUma plataforma web para negociar dívidas de pessoas físicas e jurídicas de todo o Brasil, com algoritmos de cálculo de juros e nosso próprio gerador de código de barras para boletos.
- Milhões de registrosImportações que tratavam milhões de registros em diversos formatos de arquivo, e consultas rápidas num banco SQL Server de 500 GB.
- Controle de acessoControle de acesso com captura de foto pela webcam, feito em WPF.
- Sistemas internosSistemas de RH, financeiro e CRM para a própria empresa.
- C#
- WCF
- WPF
- WebForms
- Windows Forms
- Windows Services
- Ext.NET
- jQuery
- SQL Server
Empresário Cobrança · Destaques
01 Negociação de dívidas
Uma plataforma web para negociar dívidas de pessoas físicas e jurídicas de todo o Brasil, com algoritmos de cálculo de juros e nosso próprio gerador de código de barras para boletos.
02 Milhões de registros
Importações que tratavam milhões de registros em diversos formatos de arquivo, e consultas rápidas num banco SQL Server de 500 GB.
03 Controle de acesso
Controle de acesso com captura de foto pela webcam, feito em WPF.
04 Sistemas internos
Sistemas de RH, financeiro e CRM para a própria empresa.
2010
Media W
Desenvolvedor C# · São Paulo, Brasil
O que eu construí
PDV TED, software de frente de caixa para as lojas Cadê o Nenê, dentro das regras fiscais e integrado a impressoras fiscais e máquinas de cartão Bematech.
- C#
- Windows Forms
- MySQL
20082010
Upgrade Consultoria
Desenvolvedor C# júnior · São Paulo, Brasil
O que eu construí
Sistemas web para grandes obras e para as escolas estaduais de São Paulo, e o ERP e CRM da própria empresa.
- PriManagerO sistema web da Sistema Pri para gerenciar grandes obras, para clientes como Eletropaulo e CDHU, e, em 2009, o Mapa de Obras para a AES Eletropaulo.
- FDE ↗Para a Fundação para o Desenvolvimento da Educação: um sistema para gerenciar a infraestrutura das escolas estaduais de São Paulo.
- ERP e CRMNosso sistema para tocar a empresa: fluxo de caixa, cadastro e acompanhamento de clientes e fornecedores.
- C#
- .NET
- WebForms
- Windows Forms
- Windows Services
- Telerik
- Web Services
- jQuery
- Flash · ActionScript
- Google Maps API
- SQL Server
Upgrade Consultoria · Destaques
01 PriManager
O sistema web da Sistema Pri para gerenciar grandes obras, para clientes como Eletropaulo e CDHU, e, em 2009, o Mapa de Obras para a AES Eletropaulo.
02 FDE ↗
Para a Fundação para o Desenvolvimento da Educação: um sistema para gerenciar a infraestrutura das escolas estaduais de São Paulo.
03 ERP e CRM
Nosso sistema para tocar a empresa: fluxo de caixa, cadastro e acompanhamento de clientes e fornecedores.
20072010
Freelance o começo
Desenvolvedor independente
O que eu construí
Onde tudo começou: meus primeiros sites e sistemas, para uma igreja, uma academia e empresas da região, e depois trabalhos em paralelo aos primeiros empregos.
- Academia Corpus S&ACadastro e controle de acesso dos alunos da academia.
- Igreja Cristã de AlphavilleTrês sites, o da igreja, o do grupo de jovens e o da igreja em Portugal, e um sistema para mostrar as letras das músicas no projetor.
- FRP InstalaçõesO site da empresa, em PHP e MySQL.
- RIS Security ↗O site de uma empresa de segurança e automação em Itapevi, na Grande São Paulo.
- BBM BrasilUm sistema de envio de SMS, em C#, ASP.NET MVC e SQL Server, feito em 2009–10 em paralelo ao trabalho na Upgrade.
- PHP
- MySQL
- jQuery
- Flash · ActionScript
- Adobe Flex
- VB.NET
- MS Access
- C#
- ASP.NET MVC
- SQL Server
Freelance · o começo · Destaques
01 Academia Corpus S&A
Cadastro e controle de acesso dos alunos da academia.
02 Igreja Cristã de Alphaville
Três sites, o da igreja, o do grupo de jovens e o da igreja em Portugal, e um sistema para mostrar as letras das músicas no projetor.
03 FRP Instalações
O site da empresa, em PHP e MySQL.
04 RIS Security ↗
O site de uma empresa de segurança e automação em Itapevi, na Grande São Paulo.
Freelance · o começo · Destaques
05 BBM Brasil
Um sistema de envio de SMS, em C#, ASP.NET MVC e SQL Server, feito em 2009–10 em paralelo ao trabalho na Upgrade.
Estudos · cursos · idiomas
Nunca parei de aprender.
Escola e faculdade na Grande São Paulo, cursos desde então e os idiomas que falo.
20132014
UNIP↗
Universidade Paulista
Análise e Desenvolvimento de Sistemas: o curso que comecei na FIAP e concluí aqui em 2014.
20102011
FIAP↗
Faculdade de Informática e Administração Paulista
Onde comecei a faculdade de Análise e Desenvolvimento de Sistemas.
20072009
ITB · FIEB
Instituto Técnico de Barueri
Curso técnico de Web Design com ênfase em mídias digitais.
2012Hoje
Aprendendo online
743 horas de vídeo e 138 cursos, só na Pluralsight.
- Pluralsight ↗Desde 2012. Expert em 11 testes Skill IQ, e no top 1% em HTML5.
- egghead.io ↗
- Frontend Masters ↗Agora master.dev
- O’Reilly ↗
- Udemy ↗
- Brilliant ↗
- YouTubeVídeos de tecnologia, todo dia
20082009
Inglês 200h↗
AMPM · Aliança Mundial Idiomas
Um curso intensivo de inglês de 200 horas.
Certificados
- FIAP Certified System Developer
- Desenvolvedor .NET 5 EstrelasO programa de desenvolvedores .NET da Microsoft.
- Workshop MSDN Visual Studio 2010Microsoft
- Certificado de Qualificação Profissional em Programação de Computadores
Idiomas
- PortuguêsNativo
- InglêsFluente
- EspanholAvançado
- FrancêsBásico
Posts
Notas que escrevi pelo caminho.
Mantidas como foram publicadas, dos tutoriais em vídeo de C# em 2015 ao React em 2020. Novas estão a caminho: como o track2.fit e o Jump Over Jump foram construídos.
2020
29 de mar. de 20203 min de leituraEm inglês
Why useMemo instead of useState + useEffect?
I frequently see useState and useEffect being used together where only useMemo would be enough to handle the same task, and as a bonus it is even faster! Checkout this…
- React
2018
24 de ago. de 20183 min de leituraEm inglês
Making async reasonable with redux saga
<img style="max width: 100%; display: block; margin: 3rem auto;" alt="Redux Saga Logo" src="https://angeloocana.com/imgs/Redux Saga Logo Landscape.png" title="Redux saga…
- JavaScript
- ES6
2017
16 de out. de 20171 min de leitura
Aprenda Inglês (Links)
Testes, pronuncia correta, dicas e muito mais. Aprenda e contribua para essa coleção de conteúdo gratuito para aprender Inglês. (Novos links semanalmente!) Links Teste…
- Idioma
- Inglês
2017
21 de set. de 20171 min de leitura
10 dicas para começar a usar Github e Linha de comando
Não perca mais seus arquivos! Mantenha um historico com todas as alterações, salve nas nuvems e fique tranquilo. Aqui você vai aprender dicas simples pra se tornar um…
- Git
- versionamento de arquivos
2017
3 de set. de 20171 min de leitura
Corrigir erro ENOSPC
Esse erro acontece quando você esta assistindo muitos arquivos no linux. Você pode receber uma mensagem erro como essa: error UNHANDLED EXCEPTION Error: watch…
- Linux
- Arch
2017
30 de ago. de 20171 min de leitura
Como instalar Yaourt no Arch Linux
Yaourt é o gerenciador de pacotes da comunidade para o Arch Linux. Quando você usa o pacman (gerenciador de pacotes oficial) você precisa usar sudo , para o yaourt você…
- Linux
- Arch
2017
30 de ago. de 20171 min de leitura
Como salvar fotos do celular pro Arch Linux
O seu telefone esta lotado? Faça backup dos seus arquivos pro Arch Linux. Vai ser fácil seguindo este tutorial (Eu espero hahaha). Eu tive alguns problemas com outros…
- Linux
- Arch
- Android
2017
30 de ago. de 20171 min de leitura
Como usar Word e Excel no Linux or talvez não...
Você precisa editar arquivos no Word e Excel no Linux? Siga minhas etapas para instalar o LibreOffice, uma pacote de programas similar ao Microsoft Office mas opensource…
- Linux
- Arch
- Word
2017
26 de ago. de 20171 min de leitura
Como configurar ssl https:// pro seu site
Como configurar https:// usando surge.sh e ssl.com . Foi um pouco difícil juntar todas as peças, espero poder ajudar quem esteja com problemas. Você pode seguir o…
- Gatsby
- surge.sh
- ssl.com
2017
8 de ago. de 20171 min de leitura
Filmes Franceses
Divertidos, questionadores, mostram o côtidiano real da vida das pessoas, falam sobre sexo, drogas e vários outros tabus abertamente. Jeune & jolie en: Young & Beautiful…
- Idioma
- Françês
2017
8 de ago. de 20172 min de leitura
Vim ajuda com comandos
Vim é um editor de texto da velha guarda, ele é executado no console, é o mais rápido de todos. É a melhor opção para acessar servidores através da linha de comando.…
- Text Editor
2017
4 de ago. de 20171 min de leitura
Instalar Arch linux + wifi and xfce4
Se você quer aprender linux de verdade, Arch é a minha distribuição favorita, esteja preparado pra quebrar muito a cabeça, mas relaxa que você vai aprender! Boot Arch…
- Linux
- Arch
2017
3 de ago. de 20171 min de leitura
Aprenda Francês (Links)
Francês é maravilhoso, melhores filmes do mundo, pessoas autênticas, engraçadas e encantadoras, eu amo franceses! aqui segue minha coleção de links com material gratuíto…
- Idiomas
- Francês
2017
31 de jul. de 20171 min de leitura
Extrair Arquivos no Arch linux
Extrair .rar Extrair .zip Instalar unzip Extrair arquivo
- Linux
- Arch
- Extrair arquivos
2017
31 de jul. de 20171 min de leitura
Instalar fonts no Arch linux
Mova o arquivo das suas fontes para a pasta /usr/share/fonts/
- Linux
- Arch
- Fontes
2017
30 de jul. de 20171 min de leitura
Setup dev env Arch linux
Install git Install Nodejs Install NPM Fix global permissions error https://docs.npmjs.com/getting started/fixing npm permissions Make a directory for global…
- Linux
- Arch
- NodeJs
2017
23 de jun. de 20171 min de leitura
Exemplos Programação Funcional
- Programação Funcional
2017
23 de jun. de 20171 min de leitura
Git comandos Avançados
Habilite auto complete, Commit com titulo e descrição, navege pelo histórico, atualize fork e muito mais! Habilitar auto complete ao digitar commandos git no terminal…
- Git
- controle de versões
2017
23 de jun. de 20171 min de leitura
Instalar ZSH e oh-my-zsh
Instalar ZSH https://github.com/robbyrussell/oh my zsh/wiki/Installing ZSH Instalar oh my zsh Baixar Instalar Transformar zsh em terminal padrão. (Você precisa deslogar…
- Terminal
- ZSH
- Linha de commando
2017
23 de jun. de 20171 min de leitura
Js Exemplos Spred Operator
Exemplos Javascript Spread Operator
- JavaScript
- ES6
- ES2015
2015
15 de ago. de 2015Vídeo
Parte 6 App do Projeto Completo C# MVC Migrations StructureMap DDD TDD
Parte 6 'App' do do curso de criação passo a passo de um projeto completo com CleanCode, C , MVC, SQL Server, EntityFramework, Migrations, UnitTest, DDD, TDD, Moq, IOC,…
- C#
- .net
2015
7 de mai. de 2015Vídeo
Parte 5 Repositories do Projeto Completo C# MVC Migrations StructureMap DDD TDD
Parte 5 'Repositories' do do curso de criação passo a passo de um projeto completo com CleanCode, C , MVC, SQL Server, EntityFramework, Migrations, UnitTest, DDD, TDD,…
- C#
- .net
2015
29 de abr. de 2015Vídeo
Parte 4 EnityFramework e Migrations do Projeto Completo C# MVC Migrations StructureMap DDD TDD
Parte 4 'Entity Framework e Migrations' do do curso de criação passo a passo de um projeto completo com CleanCode, C , MVC, SQL Server, EntityFramework, Migrations,…
- C#
- .net
2015
17 de abr. de 2015Vídeo
DicaRapida 2 Por um código MELHOR!
Dicas para cria um excelente código, que vai aumentar sua produtividade, evitar muitas dores de cabeça, e colaborar para um mundo melhor!
- C#
- .net
2015
14 de abr. de 2015Vídeo
Parte 3 Entities do Projeto Completo C# MVC Migrations StructureMap DDD TDD
Parte 3 'TDD e Entities' do do curso de criação passo a passo de um projeto completo com CleanCode, C , MVC, SQL Server, EntityFramework, Migrations, UnitTest, DDD, TDD,…
- C#
- .net
2015
10 de abr. de 2015Vídeo
DicaRapida 1 Melhorar Performance MVC
A dica rápida de hoje é de como melhorar a performance do seu projeto MVC com uma alteração simples!
- C#
- .net
2015
7 de abr. de 2015Vídeo
Parte 2 ValueObjects do Projeto Completo C# MVC Migrations StructureMap DDD TDD
Parte 2 'TDD e Value Objects' do do curso de criação passo a passo de um projeto completo com CleanCode, C , MVC, SQL Server, EntityFramework, Migrations, UnitTest, DDD,…
- C#
- .net
2015
27 de mar. de 2015Vídeo
Parte 1 Base Projeto do Projeto Completo C# MVC Migrations StructureMap DDD TDD
Parte 1 do curso de criação passo a passo de um projeto completo com CleanCode, C , MVC, SQL Server, EntityFramework, Migrations, UnitTest, DDD, TDD, Moq, IOC,…
- C#
- .net