← work

ilanvivanco

ilanvivanco.com

My lab · since 2020

This site is where I leave my comfort zone and try new things, so I'm ready when a client needs them. It's on its second, very different version.

My role
Everything, for better and for worse.
Stack
Astro, TypeScript
Visit the site (opens in a new tab)
Screenshot of ilanvivanco.com: on a screen, on a desk (enlarge)

The starting point

In 2020 I built it with Nuxt and Vue, outside my usual turf. It had a portfolio, a resume, animations, and even a blog in two languages. The blog had three posts, all hidden. I wanted to refresh the information, and took the chance to focus fully on accessibility and performance.

What we did

Starting with the limits

Before the design, I defined what's non-negotiable: 99+ on Lighthouse, 10 KB of my own JavaScript per page, and zero layout shift.

Screenshot of ilanvivanco.com: v1 home (enlarge)

Not breaking what's there

Before deleting anything, I audited every URL on the old site. The old routes still respond with their redirects.

Screenshot of ilanvivanco.com: v1 portfolio (enlarge)

Researching with agents

For this portfolio, agents went through years of work in Gmail, Slack, Trello, GitHub, and Notion. The result was an inventory of 168 projects, and then we reviewed each case together. They corrected me too: I remembered a weekly import, and it was monthly.

Screenshot of ilanvivanco.com: portfolio (enlarge)

Two models on opposite sides

Claude builds and Codex reviews, or the other way around. What one signs off on, the other argues with. The final call is mine, and QA applies to everyone: what doesn't pass doesn't get in.

Screenshot of ilanvivanco.com: on desktop and mobile (enlarge)

By the numbers

  • 99+ on Lighthouse, in all 4 categories
  • 7.5 KB of my own JavaScript on the home page
  • 0 accessibility errors with axe