{
  "htmlLang": "pt-PT",
  "ogLocale": "pt_PT",
  "docTitle": "José Pinheiro — Engenheiro de software",
  "docDescription": "Engenheiro de software e líder técnico. Há mais de dez anos a pôr software em produção e a mantê-lo lá.",
  "skip": "Saltar para o conteúdo",
  "backToTop": "Voltar ao topo",
  "navAria": "Principal",
  "footerAria": "Rodapé",
  "langLabel": "Idioma",
  "menuOpen": "Abrir menu",
  "menuClose": "Fechar menu",
  "talk": "Vamos falar →",
  "formHeading": "Enviar mensagem",
  "nav": [
    { "label": "Início", "href": "#top" },
    { "label": "Sobre", "href": "#about" },
    { "label": "Projetos", "href": "#projects" },
    { "label": "Experiência", "href": "#experience" },
    { "label": "Contacto", "href": "#contact" }
  ],
  "heroEyebrow": "ENGENHEIRO DE SOFTWARE · LÍDER TÉCNICO",
  "heroTitle": "Olá, sou o José.",
  "taglineBefore": "Desenvolvo software, resolvo o que se avaria e, às vezes,",
  "taglineMark": "discuto com bases de dados",
  "taglineAfter": ".",
  "heroLead": "Há mais de dez anos a pôr software em produção. E, o mais difícil, a mantê-lo lá.",
  "seeWork": "Ver projetos →",
  "aboutEyebrow": "SOBRE / 01",
  "aboutTitle": "Em poucas palavras.",
  "aboutLede": "Gosto de perceber como as coisas funcionam, e porque é que deixaram de funcionar.",
  "aboutBody": "Já passei pelo código, pelas bases de dados, pela infraestrutura e pela gestão de projetos, por isso pouco me importa onde está o problema. Importa-me resolvê-lo bem, de forma que quem vem a seguir (muitas vezes eu próprio) perceba o que foi feito.",
  "pillars": [
    { "label": "CONSTRUIR", "text": "Aplicações e bases de dados feitas para durar, não só para a demo." },
    { "label": "RESOLVER", "text": "Diagnóstico, integrações e desempenho, sobretudo quando ninguém sabe bem por onde começar." },
    { "label": "ENTREGAR", "text": "Coordenar equipas e falar com os clientes, para que o que sai seja aquilo de que precisavam." }
  ],
  "projectsEyebrow": "PROJETOS / 02",
  "projectsTitle": "Coisas que construí.",
  "projectsLead": "Alguns feitos para clientes, outros por gosto.",
  "projectLabel": "PROJETO",
  "roleLabel": "FUNÇÃO",
  "areasLabel": "ÁREAS",
  "resultLabel": "RESULTADO",
  "viewProject": "VER PROJETO",
  "allProjects": "Ver todos os projetos",
  "galleryEyebrow": "PROJETOS",
  "galleryTitle": "Todos os projetos.",
  "galleryLead": "Está tudo aqui, incluindo o que não coube na página inicial.",
  "galleryDocTitle": "Projetos — José Pinheiro",
  "backHome": "← Início",
  "projectTypes": { "personal": "Pessoal", "professional": "Profissional" },
  "privateWork": "Trabalho para cliente · sem demo pública",
  "projects": [
    {
      "type": "professional",
      "tags": ["Web", "WordPress", "Imobiliário"],
      "title": "Imóveis Ana Morgado",
      "image": "./images/imoveis-ana-morgado.webp",
      "caption": "CAPTURA / IMÓVEIS ANA MORGADO",
      "alt": "Página inicial do site Imóveis Ana Morgado, com a fotografia da Ana, um botão para explorar imóveis e os anos de experiência e imóveis vendidos.",
      "summary": "O site da Ana, agente imobiliária independente. Os clientes veem os imóveis, pesquisam por zona e preço e falam com ela diretamente.",
      "role": "Design, desenvolvimento, lançamento",
      "areas": "WordPress · Houzez · MySQL · Docker",
      "result": "Online desde novembro de 2026",
      "url": "https://imoveisanamorgado.pt/"
    },
    {
      "type": "personal",
      "tags": ["Web", "Plataforma", "Produto"],
      "title": "Évora Serviços",
      "image": "./images/evora-services.webp",
      "caption": "CAPTURA / ÉVORA SERVIÇOS",
      "alt": "Banner da Évora Serviços com o Templo Romano de Évora e o lema «A sua cidade. Os melhores serviços.»",
      "summary": "Em Évora, encontrar um bom canalizador ainda passava por perguntar ao vizinho. Criei uma plataforma onde os residentes encontram serviços locais e as empresas aparecem sem precisarem de site próprio.",
      "role": "Conceber, construir, gerir",
      "areas": "Web · Base de dados · Alojamento",
      "result": "Online e a crescer",
      "url": "https://www.evoraservicos.pt/"
    },
    {
      "type": "professional",
      "tags": ["Base de dados", "Desenvolvimento", "Entrega de projetos"],
      "title": "Migração ERP da Universidade Internacional",
      "image": "./images/migration.webp",
      "caption": "DIAGRAMA / PERCURSO DE MIGRAÇÃO",
      "alt": "Uma pessoa a escrever código num portátil, numa sala de aula vazia.",
      "summary": "A migração do ERP de uma universidade, do início ao fim: base de dados, aplicação, planeamento, gestão do projeto e arranque em produção.",
      "role": "Responsável técnico",
      "areas": "Oracle · Java · SQL",
      "result": "Sistemas mais fiáveis para milhares de estudantes e funcionários",
      "url": ""
    },
    {
      "type": "professional",
      "tags": ["DBA", "Linux", "Oracle"],
      "title": "Redesenho da infraestrutura",
      "image": "./images/database.webp",
      "caption": "DIAGRAMA / DBA",
      "alt": "Peças de madeira com letras a formar a palavra DATA, em cima de uma mesa.",
      "summary": "Um ambiente de bases de dados partilhado ficava mais difícil de manter a cada novo cliente. Redesenhei-o com instâncias dedicadas por cliente, em Linux de código aberto, com suporte a Oracle da 11 à 19.",
      "role": "DBA Oracle, planeamento, standardização",
      "areas": "Linux · Oracle · Infra · Docker",
      "result": "Cada cliente no seu espaço e todas as versões de Oracle suportadas",
      "url": ""
    },
    {
      "type": "personal",
      "tags": ["Web", "Design", "Bilingue"],
      "title": "Página pessoal",
      "image": "./images/personal-page.webp",
      "caption": "CAPTURA / PÁGINA PESSOAL",
      "alt": "O topo deste site: «Olá, sou o José.» ao lado de um mapa pontilhado que liga código, dados, infraestrutura, entrega e pessoas.",
      "summary": "Este site. Bilingue, feito à mão e sem frameworks.",
      "role": "Conceber, construir",
      "areas": "HTML · CSS · JavaScript",
      "result": "Está a lê-la agora",
      "url": "https://github.com/pinheirojose/personal-page"
    },
    {
      "type": "personal",
      "tags": ["Web", "React", "Mapas"],
      "title": "Mapa de viagens",
      "image": "./images/travel-map.webp",
      "caption": "CAPTURA / MAPA DE VIAGENS",
      "alt": "A app Mapa de viagens com a Europa e o Norte de África, e uma barra lateral para pesquisar e filtrar locais.",
      "summary": "Um mapa para marcar onde já estive e onde quero ir, filtrar por país e ano e exportar um poster para a parede. Os dados ficam no browser, por isso convém exportar o JSON de vez em quando.",
      "role": "Conceber, construir",
      "areas": "React · TypeScript · Vite",
      "result": "Inglês e português, modo escuro, sem conta",
      "url": "https://myworldmarked.vercel.app/"
    }
  ],
  "experienceEyebrow": "EXPERIÊNCIA / 03",
  "experienceTitle": "O percurso até aqui.",
  "timeline": [
    {
      "period": "2021 — PRESENTE",
      "title": "Líder técnico / Entrega",
      "org": "MorphisTech / Projetos de clientes em freelance",
      "summary": "Faço a ponte entre o que o cliente precisa e o que a equipa constrói: defino prioridades, tomo as decisões técnicas e acompanho o projeto até estar estável em produção."
    },
    {
      "period": "2018 — PRESENTE",
      "title": "DevOps e gestão de releases",
      "org": "MorphisTech",
      "summary": "Contentores, pipelines de CI/CD e ambientes padronizados. Ajudei a modernizar serviços antigos e a tornar as publicações previsíveis, para que pôr algo no ar deixasse de depender da única pessoa que sabia como."
    },
    {
      "period": "2018 — PRESENTE",
      "title": "Gestão de bases de dados",
      "org": "MorphisTech",
      "summary": "Oracle e PostgreSQL: infraestrutura, desempenho, migrações e suporte em produção. A fiabilidade vem primeiro, sem perder de vista as aplicações que dependem delas."
    },
    {
      "period": "2015 — 2018",
      "title": "Desenvolvimento de software",
      "org": "MorphisTech",
      "summary": "Onde tudo começou: aplicações em Java, ferramentas internas e funcionalidades para clientes."
    }
  ],
  "toolboxEyebrow": "FERRAMENTAS / 04",
  "toolboxTitle": "Ferramentas do dia a dia.",
  "toolbox": [
    { "label": "DESENVOLVIMENTO", "items": ["Java", "TypeScript", "JavaScript", "React", "Python", "Bash"] },
    { "label": "BASES DE DADOS", "items": ["Oracle", "PostgreSQL", "MySQL", "SQL", "Administração de bases de dados"] },
    { "label": "DEVOPS", "items": ["Docker", "Linux", "GitLab CI/CD", "Jenkins"] },
    { "label": "OUTROS", "items": ["WordPress", "Vite", "Vercel", "Git"] }
  ],
  "notesEyebrow": "NOTAS / 05",
  "notesTitle": "Coisas que aprendi pelo caminho.",
  "notes": [
    { "text": "A maior parte dos problemas é mais simples do que parece.", "aside": "", "className": "note" },
    { "text": "As «soluções rápidas» costumam sair caras.", "aside": "", "className": "note" },
    { "text": "Um bom log poupa horas de adivinhação.", "aside": "", "className": "note" },
    { "text": "«No meu computador funciona.»", "aside": " …e foi assim que nasceu o Docker.", "className": "note note--interactive" }
  ],
  "contactEyebrow": "CONTACTO / 06",
  "contactTitle": "Tem um projeto em mente?",
  "contactLead": "Seja um projeto novo, uma oportunidade ou aquele bug que ninguém consegue apanhar, escreva-me. Respondo sempre.",
  "contactLinks": [
    { "id": "email", "label": "EMAIL" },
    { "id": "linkedin", "label": "LINKEDIN", "text": "/in/jose-pinheiro" },
    { "id": "github", "label": "GITHUB", "text": "@pinheirojose" }
  ],
  "formName": "NOME",
  "formEmail": "EMAIL",
  "formMessage": "MENSAGEM",
  "send": "Enviar mensagem →",
  "sending": "A enviar…",
  "sent": "Mensagem enviada ✓",
  "sentThanks": "Obrigado! Respondo em breve.",
  "sendFail": "Algo correu mal. Tente outra vez ou envie-me um email.",
  "footerRole": "ENGENHEIRO DE SOFTWARE · LÍDER TÉCNICO"
}
