Todos os projetos
WebOnline

Este site + Gémeo Digital

O meu portefólio, com um chat de IA que responde a perguntas sobre o meu percurso usando apenas factos do meu CV.
Visão geral

O meu CV online e portefólio, feito com Nuxt 4 e Nuxt UI. O destaque é o Gémeo Digital: um chat de IA que responde, na primeira pessoa, a perguntas sobre o meu percurso, baseado apenas nos factos do meu CV — para que os recrutadores possam perguntar o que realmente querem saber.

Página inicial
Página inicial
Percurso profissional em linha temporal
Percurso profissional em linha temporal
Página de estudo de caso de um projeto
Página de estudo de caso de um projeto
Pré-visualização do Gémeo Digital na página inicial
Pré-visualização do Gémeo Digital na página inicial

Como funciona

  1. 1Pergunta

    Um visitante escreve uma pergunta na página do Gémeo Digital.

  2. 2Rota de servidor

    Uma rota de servidor Nuxt recebe a conversa, mantém as últimas 20 mensagens válidas e descarta o que estiver malformado.

  3. 3Prompt fundamentado

    O prompt de sistema é construído a partir dos mesmos dados tipados que as páginas mostram, com regras contra inventar tecnologias, métricas ou nomes de clientes.

  4. 4Modelo com alternativas

    O OpenRouter tenta uma lista de modelos gratuitos, por ordem, até um responder.

  5. 5Resposta

    A resposta volta ao chat, escrita como se fosse eu, no idioma em que a pergunta foi feita.

Uma única fonte de verdade
  • Os factos do percurso e os projetos vivem em ficheiros de dados tipados, partilhados pelas páginas e pelo servidor
  • Atualizar o CV é editar um ficheiro; o site e o Gémeo Digital nunca ficam desalinhados
  • Adicionar um projeto é adicionar uma entrada; o cartão e a página do estudo de caso são gerados
Stack e entrega
  • Nuxt 4, Nuxt UI e Tailwind CSS 4, em TypeScript
  • Versões em inglês e português europeu com @nuxtjs/i18n
  • Alojado na Vercel, com Vercel Analytics
  • Página inicial pré-renderizada para um primeiro carregamento rápido

Decisões de design

Fundamentado, não criativo

Temperatura baixa e regras explícitas: o gémeo diz que não tem a informação em vez de adivinhar.

A chave de API fica no servidor

O browser só fala com o endpoint do próprio site; a chave do OpenRouter nunca chega ao cliente.

Modelos gratuitos com alternativas

Os modelos gratuitos são limitados ou retirados sem aviso, por isso o gémeo tem vários e usa o primeiro que responder.

Chat com limite de pedidos

Um limite por visitante (5 por minuto, 50 por dia) impede que bots esgotem a quota diária dos modelos gratuitos.

Conteúdo como dados

As páginas são templates sobre dados tipados, o que mantém o conteúdo fácil de atualizar e verificado pelo TypeScript.

Stack
Nuxt 4Nuxt UITailwind CSSTypeScriptOpenRouterVercel

© 2026 Daniel Paulino • Feito com Nuxt • Atualizado em outubro de 2026