{
  "htmlLang": "en",
  "ogLocale": "en_GB",
  "docTitle": "José Pinheiro — Software Engineer",
  "docDescription": "Software engineer and tech lead. Over ten years of getting software into production and keeping it there.",
  "skip": "Skip to content",
  "backToTop": "Back to top",
  "navAria": "Primary",
  "footerAria": "Footer",
  "langLabel": "Language",
  "menuOpen": "Open menu",
  "menuClose": "Close menu",
  "talk": "Let’s talk →",
  "formHeading": "Send a message",
  "nav": [
    { "label": "Home", "href": "#top" },
    { "label": "About", "href": "#about" },
    { "label": "Projects", "href": "#projects" },
    { "label": "Experience", "href": "#experience" },
    { "label": "Contact", "href": "#contact" }
  ],
  "heroEyebrow": "SOFTWARE ENGINEER · TECH LEAD",
  "heroTitle": "Hi, I’m José.",
  "taglineBefore": "I build software, fix what breaks and, now and then,",
  "taglineMark": "argue with databases",
  "taglineAfter": ".",
  "heroLead": "Over ten years of getting software into production. And, the harder part, keeping it there.",
  "seeWork": "See my work →",
  "aboutEyebrow": "ABOUT / 01",
  "aboutTitle": "In a nutshell.",
  "aboutLede": "I like understanding how things work, and why they stopped working.",
  "aboutBody": "I’ve worked across code, databases, infrastructure and project management, so I don’t much mind where a problem lives. What I care about is fixing it properly, in a way the next person (often me) can follow.",
  "pillars": [
    { "label": "BUILD", "text": "Applications and databases built to last, not just to demo." },
    { "label": "SOLVE", "text": "Troubleshooting, integrations and performance, especially when nobody’s sure where to start." },
    { "label": "DELIVER", "text": "Coordinating teams and talking to clients, so what ships is what they actually needed." }
  ],
  "projectsEyebrow": "PROJECTS / 02",
  "projectsTitle": "Things I’ve built.",
  "projectsLead": "Some built for clients, some just because.",
  "projectLabel": "PROJECT",
  "roleLabel": "ROLE",
  "areasLabel": "AREAS",
  "resultLabel": "RESULT",
  "viewProject": "VIEW PROJECT",
  "allProjects": "See all projects",
  "galleryEyebrow": "PROJECTS",
  "galleryTitle": "All projects.",
  "galleryLead": "It’s all here, including what didn’t fit on the home page.",
  "galleryDocTitle": "Projects — José Pinheiro",
  "backHome": "← Home",
  "projectTypes": { "personal": "Personal", "professional": "Professional" },
  "privateWork": "Client work · no public demo",
  "projects": [
    {
      "type": "professional",
      "tags": ["Web", "WordPress", "Real estate"],
      "title": "Imóveis Ana Morgado",
      "image": "./images/imoveis-ana-morgado.webp",
      "caption": "SCREENSHOT / IMÓVEIS ANA MORGADO",
      "alt": "Home page of the Imóveis Ana Morgado website, with Ana’s photo, a button to explore listings and her years of experience and homes sold.",
      "summary": "Ana’s website. She’s an independent estate agent, and clients can browse her listings, search by area and price and contact her directly.",
      "role": "Design, build, launch",
      "areas": "WordPress · Houzez · MySQL · Docker",
      "result": "Live since November 2026",
      "url": "https://imoveisanamorgado.pt/"
    },
    {
      "type": "personal",
      "tags": ["Web", "Platform", "Product"],
      "title": "Évora Serviços",
      "image": "./images/evora-services.webp",
      "caption": "SCREENSHOT / ÉVORA SERVIÇOS",
      "alt": "Évora Serviços banner with the Roman Temple of Évora and the tagline “A sua cidade. Os melhores serviços.”",
      "summary": "In Évora, finding a good plumber still meant asking the neighbours. I built a platform where residents find local services and businesses get found without a website of their own.",
      "role": "Design, build, run",
      "areas": "Web · Database · Hosting",
      "result": "Live and growing",
      "url": "https://www.evoraservicos.pt/"
    },
    {
      "type": "professional",
      "tags": ["Database", "Development", "Project delivery"],
      "title": "International University ERP Migration",
      "image": "./images/migration.webp",
      "caption": "DIAGRAM / MIGRATION PATH",
      "alt": "A person typing code on a laptop in an empty classroom.",
      "summary": "Moving a university’s ERP from start to finish: database, application, planning, project management and go-live.",
      "role": "Technical lead",
      "areas": "Oracle · Java · SQL",
      "result": "More reliable systems for thousands of students and staff",
      "url": ""
    },
    {
      "type": "professional",
      "tags": ["DBA", "Linux", "Oracle"],
      "title": "Infrastructure Redesign",
      "image": "./images/database.webp",
      "caption": "DIAGRAM / DBA",
      "alt": "Wooden letter tiles spelling DATA on a table.",
      "summary": "A shared database environment was getting harder to maintain with every new client. I redesigned it around dedicated instances per client on open-source Linux, supporting Oracle 11 through 19.",
      "role": "Oracle DBA, planning, standardisation",
      "areas": "Linux · Oracle · Infra · Docker",
      "result": "Every client in its own space, every Oracle version supported",
      "url": ""
    },
    {
      "type": "personal",
      "tags": ["Web", "Design", "Bilingual"],
      "title": "Personal page",
      "image": "./images/personal-page.webp",
      "caption": "SCREENSHOT / PERSONAL PAGE",
      "alt": "The top of this site: “Hi, I’m José.” next to a dotted map linking code, data, infra, delivery and people.",
      "summary": "This site. Bilingual, handmade, no framework.",
      "role": "Design, build",
      "areas": "HTML · CSS · JavaScript",
      "result": "You’re reading it",
      "url": "https://github.com/pinheirojose/personal-page"
    },
    {
      "type": "personal",
      "tags": ["Web", "React", "Maps"],
      "title": "Travel map",
      "image": "./images/travel-map.webp",
      "caption": "SCREENSHOT / TRAVEL MAP",
      "alt": "The Travel Map app showing Europe and North Africa, with a sidebar for searching and filtering places.",
      "summary": "A map to mark where I’ve been and where I want to go, filter by country and year, and export a poster for the wall. Data stays in your browser, so export the JSON now and then.",
      "role": "Design, build",
      "areas": "React · TypeScript · Vite",
      "result": "English and Portuguese, dark mode, no account",
      "url": "https://myworldmarked.vercel.app/"
    }
  ],
  "experienceEyebrow": "EXPERIENCE / 03",
  "experienceTitle": "The road so far.",
  "timeline": [
    {
      "period": "2021 — PRESENT",
      "title": "Technical Lead / Delivery",
      "org": "MorphisTech / Freelance client projects",
      "summary": "I bridge what the client needs and what the team builds: setting priorities, making the technical calls and seeing the project through until it’s stable in production."
    },
    {
      "period": "2018 — PRESENT",
      "title": "DevOps & Release Management",
      "org": "MorphisTech",
      "summary": "Containers, CI/CD pipelines and standard environments. I helped modernise legacy services and make deployments predictable, so going live stopped depending on the one person who knew how."
    },
    {
      "period": "2018 — PRESENT",
      "title": "Database Management",
      "org": "MorphisTech",
      "summary": "Oracle and PostgreSQL: infrastructure, performance, migrations and production support. Reliability first, without losing sight of the applications that depend on them."
    },
    {
      "period": "2015 — 2018",
      "title": "Software Development",
      "org": "MorphisTech",
      "summary": "Where it all started: Java applications, internal tools and client features."
    }
  ],
  "toolboxEyebrow": "TOOLBOX / 04",
  "toolboxTitle": "Everyday tools.",
  "toolbox": [
    { "label": "DEVELOPMENT", "items": ["Java", "TypeScript", "JavaScript", "React", "Python", "Bash"] },
    { "label": "DATABASES", "items": ["Oracle", "PostgreSQL", "MySQL", "SQL", "Database administration"] },
    { "label": "DEVOPS", "items": ["Docker", "Linux", "GitLab CI/CD", "Jenkins"] },
    { "label": "OTHER", "items": ["WordPress", "Vite", "Vercel", "Git"] }
  ],
  "notesEyebrow": "NOTES / 05",
  "notesTitle": "Things I’ve picked up along the way.",
  "notes": [
    { "text": "Most problems are simpler than they look.", "aside": "", "className": "note" },
    { "text": "“Quick fixes” tend to get expensive.", "aside": "", "className": "note" },
    { "text": "A good log saves hours of guessing.", "aside": "", "className": "note" },
    { "text": "“It works on my machine.”", "aside": " …which is why Docker exists.", "className": "note note--interactive" }
  ],
  "contactEyebrow": "CONTACT / 06",
  "contactTitle": "Got a project in mind?",
  "contactLead": "Whether it’s a new project, an opportunity or that bug nobody can pin down, drop me a line. I always reply.",
  "contactLinks": [
    { "id": "email", "label": "EMAIL" },
    { "id": "linkedin", "label": "LINKEDIN", "text": "/in/jose-pinheiro" },
    { "id": "github", "label": "GITHUB", "text": "@pinheirojose" }
  ],
  "formName": "NAME",
  "formEmail": "EMAIL",
  "formMessage": "MESSAGE",
  "send": "Send message →",
  "sending": "Sending…",
  "sent": "Message sent ✓",
  "sentThanks": "Thanks! I’ll get back to you soon.",
  "sendFail": "Something went wrong. Try again or send me an email.",
  "footerRole": "SOFTWARE ENGINEER · TECH LEAD"
}
