portfólio de junior: 3 projetos certos batem 10 errados
Junior tem o instinto de fazer 10 projetos pequenos pra “encher o GitHub”. Recrutador técnico olha 10 projetos e pensa “essa pessoa não termina nada”.
3 projetos terminados, em produção, com README decente, batem 10 abandonados. Sempre.
“Em produção” pra junior pode ser: deploy num Vercel/Netlify/Fly grátis, ou bot rodando num Discord, ou app no celular de 5 amigos. Não precisa ser AWS Enterprise.
a fórmula dos 3 projetos
Pra junior, o portfólio ideal tem:
- Um projeto que resolve um problema seu de verdade (não é tutorial)
- Um projeto que mostra a stack da vaga que você quer (sinaliza foco)
- Um projeto que tem um pequeno detalhe técnico legal (te diferencia)
Os três precisam estar online, funcionando, com README explicando o quê e por quê.
projeto 1: resolva uma dor sua
A pergunta certa é: “qual coisa chata da minha vida cotidiana eu poderia automatizar?”
Exemplos reais que vi de juniores:
- Bot do Telegram que avisa quando o produto X cai de preço na shopee/mercado livre. Stack: Python + scrape + cron.
- Webapp pra calcular split de conta de bar entre amigos. Stack: HTML + JS + localStorage.
- CLI que organiza fotos do iPhone por data e localização. Stack: Node ou Go + EXIF.
- Tracker simples de exercício que salva treino na planilha do Google. Stack: o que você quiser + Google Sheets API.
A vantagem de “dor sua”: você usa o produto. Bug aparece. Você arruma. Você adiciona feature. Daí seu projeto cresce de uso real, não de “deixa eu fingir que isso é demanda”.
Em entrevista, “fiz isso pra resolver X que me incomodava” é uma resposta 10x mais forte que “fiz pra praticar React”.
projeto 2: a vaga que você quer
Se a vaga que você quer é Backend em Node, um projeto seu tem que ser uma API decente em Node. Se é Frontend em React, um projeto tem que ser uma aplicação React não-trivial. Se é Dados, um projeto tem que terminar em algum gráfico ou dashboard.
Não é sobre seguir tutorial — é sobre você sinalizar “estudei a stack que vocês usam de verdade”.
Sugestões mínimas:
- Backend: API REST de algo (não TODO list — algo do mundo real, ex: “API que rastreia preço da gasolina por estado”), com auth básica, banco, deploy.
- Frontend: app que consome alguma API pública (Pokémon, GitHub, ViaCEP) com componentes reaproveitáveis e responsivo.
- Mobile: app simples com ao menos uma feature que use sensor ou storage local. Funcionando no celular de alguém.
- Dados: pipeline que pega dados de um lugar, transforma, e mostra. Pode ser Jupyter notebook bem documentado.
- DevOps: terraform + script de provisionamento que sobe ao menos 2 serviços. Documentado.
projeto 3: o detalhe técnico legal
Esse é o que faz o entrevistador parar a conversa e perguntar “como você fez isso?”. Não precisa ser difícil — precisa ser incomum pra um junior.
Exemplos que sempre chamam atenção:
- Você escreveu testes (em qualquer estilo). 80% dos juniores não tem teste nenhum. Tem teste = sinal de maturidade.
- Você tem CI rodando os testes. GitHub Actions de 30 linhas. Recrutador vê o ✓ verde no commit e te dá ponto.
- Você fez performance. Mediu, tirou screenshot do antes/depois, escreveu sobre. “Reduzi de 3.2s pra 400ms eliminando N+1 query no Postgres” é frase de júnior virando pleno.
- Você usou uma ferramenta menos óbvia. Migrou um projeto Express pra Hono. Usou Zod ao invés de só validar na mão. Trocou JSON.parse por uma streaming parser pra arquivo grande. Isso conta.
- Você tem dark/light mode com
prefers-color-scheme. Trivial mas 90% dos juniores não fazem.
README que recrutador lê
README do projeto júnior médio é literalmente “Hello World do create-react-app”.
README que vende:
# Tracker Brasil — preço de gasolina por estado
Pequeno serviço que coleta preço médio da gasolina por estado
brasileiro toda manhã, salva num CSV no GitHub, e gera um
dashboard estático.
## Por que existe
Estava planejando uma viagem de carro de SP a Recife e queria
saber em quais estados abastecer mais barato. Não achei API
pública decente, então fiz scraping da ANP.
## Stack
- Python 3.12 + httpx + BeautifulSoup4 (scraping)
- GitHub Actions (cron diário 6h UTC)
- Hugo (dashboard estático)
- GitHub Pages (host)
## Como funciona
[diagrama de 5 caixas]
## Como rodar local
[3 comandos]
## Limitações conhecidas
[lista honesta]
## Licença
MIT
Cinco seções, ~30 linhas. Quem lê sabe em 30 segundos: o quê, por quê, como, e que você é honesto sobre limitações.
Adicionar um GIF ou screenshot do produto rodando + 2 ⭐ no GitHub e seu README virou portfolio decente.
o que NÃO incluir
- Tutoriais clonados do YouTube com README “feito seguindo curso do Maycon”
- Forks de projetos populares com 2 commits seus
- Repositórios começados e abandonados (esses fica em workspace privado)
- “TODO List” — todos têm
- Projeto sem README
como fazer juntos batendo na vaga
Vaga é “Junior Backend Python em fintech”:
- Projeto 1: bot Discord que te avisa quando ações da Magalu cruzam preço alvo (problema seu, Python)
- Projeto 2: API REST pra cálculo de juros compostos com auth JWT, deploy em Fly.io (Python, fintech-vibe)
- Projeto 3: CI rodando os testes da API, screenshot do dashboard de coverage no README
3 projetos, 1 final de semana cada. Recrutador vê e fecha a entrevista.
ordem de prioridade
Se você só tem tempo pra fazer 1, faz o que resolve dor sua. Os outros dois esperam. Um projeto real que você usa e mantém vence dois forçados.