Tamanho de fonte
Alto contraste
Altura de linha
Entrar Cadastrar

Como criar um portfólio com Streamlit

HT Herbert Toyota
3 minutos de leitura 22/08/2025 • Atualizado 21 horas atrás 5xp
Comunidade

Ter um portfólio online é essencial para se destacar no mercado. Se você atua na área de dados, tecnologia ou negócios, apresentar seus projetos de forma prática aumenta sua credibilidade, e uma das maneiras de fazer isso é criando seu portfólio com Streamlit.

O Streamlit é uma biblioteca Python simples e poderosa que permite criar aplicativos web de forma rápida, sem precisar ser um expert em desenvolvimento web.

Neste artigo, vou te mostrar como criar um portfólio usando o Streamlit e explicar passo a passo o que cada parte do código faz!

Por que usar Streamlit para portfólio?

  1. Fácil de usar: você escreve em Python, sem precisar lidar com HTML ou JavaScript;
  2. Rápido para publicar: com poucos comandos, você coloca seu site no ar;
  3. Moderno: visual limpo e responsivo.

Estrutura do projeto

Você vai criar um app com:

  1. Menu lateral para navegar pelas seções;
  2. Opção de mudar o idioma (Português e Inglês);
  3. Botões personalizados para mostrar seus projetos e contatos.

Vamos ao código para criar seu portfólio com Streamlit

Aqui está a base do nosso app:

python
# Imports necessários
import streamlit as st
import streamlit.components.v1 as components

# Configurações iniciais da página
st.set_page_config(page_title="Currículo - Seu Nome", layout="centered")

Essa parte configura o título da aba e o layout centralizado da página.

Criando botões personalizados

python
def custom_button(label, url):
    button_html = f"""
    <a href="{url}" target="_blank">
        <div style="background-color: #808080; color: white; padding: 5px; border-radius: 5px; text-align: center;">
            {label}
        </div>
    </a>
    """
    components.html(button_html, height=50)

Aqui criamos uma função que gera um botão estilizado em HTML para abrir seus projetos ou redes sociais. O components.html permite inserir HTML customizado no Streamlit.

Tradução dinâmica

python
translations = {
    "en": {"about_me": "About Me", "projects": "Projects", "contact": "Contact"},
    "pt": {"about_me": "Sobre Mim", "projects": "Projetos", "contact": "Contato"},
}

Esse dicionário guarda os textos em Português e Inglês. Assim, o mesmo app serve para públicos diferentes!

Barra lateral

python
language = st.sidebar.selectbox("Idioma / Language", ["pt", "en"], 
                                format_func=lambda x: "Português" if x == "pt" else "English")
t = translations[language]

st.sidebar.markdown(f"### {t['about_me']}")
section = st.sidebar.radio("", [t["about_me"], t["projects"], t["contact"]])

Aqui criamos o menu lateral onde o usuário escolhe o idioma e a seção que quer ver.

Conteúdo principal

Depois, exibimos o conteúdo dependendo da seção escolhida:

python
if section == t["about_me"]:
    st.header(t["about_me"])
    st.write("Aqui você escreve sobre sua formação e experiência.")
    
elif section == t["projects"]:
    st.header(t["projects"])
    custom_button("Projeto 1", "https://linkprojeto.com")
    
elif section == t["contact"]:
    st.header(t["contact"])
    custom_button("LinkedIn", "https://linkedin.com/in/seuperfil")

Como publicar seu portfólio com Streamlit?

Primeiro, crie um arquivo requirements.txt na raiz do projeto com:

streamlit

Depois que seu código estiver pronto, você pode publicar seu app de graça usando o Streamlit Community Cloud:

  1. Suba seu projeto no GitHub;
  2. Conecte o GitHub ao Streamlit Cloud;
  3. Seu app estará disponível com um link personalizado!
Imagem de um notebook

Cursos de programação gratuitos com certificado

Aprenda a programar e desenvolva soluções para o seu trabalho com Python para alcançar novas oportunidades profissionais. Aqui na Asimov você encontra:

  • Conteúdos gratuitos
  • Projetos práticos
  • Certificados
  • +20 mil alunos e comunidade exclusiva
  • Materiais didáticos e download de código
Inicie agora

Comentários

30xp
Comentar
Faça parte da discussão Crie sua conta gratuita e compartilhe
sua opinião nos comentários
Entre para a Asimov