Skip to content

LLM ready

/en/portfolio/camilla-saboia.md

Title:
Camilla Saboia

Camilla Saboia

Institutional site and portfolio for a Customer Experience and corporate events professional, who traded the PDF resume for her own address. All text lives in a single file validated at build time, and the same content generates structured data for search engines and AI agents. Live at camillasaboia.com.br.

Problem

A Customer Experience and corporate events professional presented her career in resume and portfolio PDFs, with no address of her own to send to recruiters and clients, and nothing a search engine could read.

Decisions

Single static Astro page, with all text in a Zod-validated JSON: an invalid email, a link without https or a photo without alt text breaks the build instead of going live. Structured data (person, one service per event type and the visible FAQ), the sitemap and llms.txt come from that same content, so they do not diverge from the page. The only JavaScript closes the mobile menu; scroll reveal is CSS and respects reduced motion. Deploy runs on every push to main via GitHub Actions, authenticated by Workload Identity Federation, with no service key stored in the repository.

Outcome

Live at camillasaboia.com.br since October 2026, with her real photos cut out around the giant word at the top. The repository is closed, so the evidence is the published site.

Links

---
title: Camilla Saboia
url: https://nandomoreira.dev/en/portfolio/camilla-saboia
collection: portfolio
tech:
  - Astro
  - TypeScript
  - Zod
  - Vitest
  - Firebase Hosting
  - GitHub Actions
date: 2026-10-18
---

# Camilla Saboia

Institutional site and portfolio for a Customer Experience and corporate events professional, who traded the PDF resume for her own address. All text lives in a single file validated at build time, and the same content generates structured data for search engines and AI agents. Live at camillasaboia.com.br.

## Problem

A Customer Experience and corporate events professional presented her
career in resume and portfolio PDFs, with no address of her own to send
to recruiters and clients, and nothing a search engine could read.

## Decisions

Single static Astro page, with all text in a Zod-validated JSON: an
invalid email, a link without https or a photo without alt text breaks
the build instead of going live. Structured data (person, one service
per event type and the visible FAQ), the sitemap and llms.txt come from
that same content, so they do not diverge from the page. The only
JavaScript closes the mobile menu; scroll reveal is CSS and respects
reduced motion. Deploy runs on every push to main via GitHub Actions,
authenticated by Workload Identity Federation, with no service key
stored in the repository.

## Outcome

Live at camillasaboia.com.br since October 2026, with her real photos
cut out around the giant word at the top. The repository is closed, so
the evidence is the published site.

## Links

- Live: https://www.camillasaboia.com.br

Ready to share.