---
title: "Portfólio de junior: 3 projetos certos batem 10 errados"
url: "https://eu.dev.br/carreira/portfolio-3-projetos/"
markdown_url: "https://eu.dev.br/carreira/portfolio-3-projetos.MD"
description: "Junior não precisa de 10 projetos no GitHub. Precisa de 3 que recrutador olhe e pense 'esse aí entende o que tá fazendo'."
date: "2026-05-03"
author: ""
---

# Portfólio de junior: 3 projetos certos batem 10 errados

Junior não precisa de 10 projetos no GitHub. Precisa de 3 que recrutador olhe e pense 'esse aí entende o que tá fazendo'.


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.** Se o projeto já existe mas parece fraco no GitHub, arrume primeiro o [README de projeto para junior](/carreira/readme-projeto-junior/) antes de criar outro repositório.

> "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:

1. **Um projeto que resolve um problema seu de verdade** (não é tutorial)
2. **Um projeto que mostra a stack da vaga que você quer** (sinaliza foco)
3. **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 a vaga aponta para dados, BI ou analytics, um [projeto de dados simples e reproduzível](/carreira/portfolio-dados-dev-junior/) costuma vender mais maturidade do que outro clone de CRUD. 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. Se sua trilha for JVM, um guia de <a href="https://kotlin.dev.br/guias/guia-kotlin-rest-api/" target="_blank" rel="noopener noreferrer" onclick="umami.track('portfolio-site-click', { destination: 'kotlin.dev.br' })">REST APIs com Kotlin</a> ajuda a enxergar validação, erro e documentação como parte do projeto, não como enfeite.
- **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:

```markdown
# 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.
