Esta palestra dá dicas de como ter um pet project e fala como um pet project pode ser efetivo como meio de aprendizagem além de mostrar o case do RagMercado como um pet project na qual foi possível aprender muito.
COMO ENCONTRAR UM PET PROJECT? • Procure ao seu redor por um problema real • Busque algo a qual você domine a regra de negócio • Entenda que possivelmente seu público alvo não está no seu círculo social
DICAS PARA SE MANTER NO PET PROJECT • Evite procrastinar • Tente fazer entregas incrementais • Pare e escreva quando necessário • Busque mentoria de alguém já experiente • Quando necessário busque opinião de alguém de fora • Escute seu público alvo
PRIMEIRAS SEMANAS • Divulgação dentro do jogo e em grupos do Facebook e Discord • 5 mil acessos na primeira semana, 10 mil na segunda • Feedback muito positivo da comunidade do jogo • Novos recursos sendo deployados diariamente
TERCEIRO MÊS • Série de novos recursos • Passa a ser ferramenta oficial do RagnaXP • Quedas constantes devido a DDoS • Outros servidores requisitam o serviço
HORA DE ESCALAR • API plugada diretamente no banco do jogo, drop do Crawler • Atualização da base em background com sidekiq • Migração do front-end para o Heroku para lidar com DDoS
HORA DE ESCALAR • Problemas de performance ao consumir API • Sidekiq enchendo o Redis com status de jobs já finalizados • Aplicação cheia de queries N+1
COMO RESOLVEU? • Scout ajudou a resolver os problemas de N+1 • O Redis do Sidekiq ficou sendo limpo a cada 1h ¯\_(ツ)_/¯ • Amigos ajudaram a melhorar a performance no consumo da API
O QUE EU USEI? • bulma.io para deixar o Front-End bonitinho • Devise para autenticação de usuários • ClockWork para recorrência de jobs no Sidekiq • sentry.io para captura de erros em produção • Capistrano para deploys para a DigitalOcean • cronitor.io para notificação caso os jobs parem
AGRADECIMENTOS ESPECIAIS • Minha esposa por abrir mão da minha companhia por alguns (vários) fins de semana • Rimenes por toda mentoria prestada • Joel por sempre opinar e me ajudar com o design da infraestrutura • Amigos da Reliant por dar idéias de como lidar com os problemas de performance