← Back to work

2026 · Design & engineering (self)

sebas-dev.com

This site's own redesign, run end-to-end as a spec-driven, agent-built release — the AI-Driven Engineering pillars applied to a real, shippable project rather than a demo.

  • Astro
  • TypeScript
  • Content Collections
  • Claude Code
Visit site ↗

This portfolio’s Next.js → Astro rewrite was built as a spec-driven, agentic release rather than a single freeform pass.

Spec-driven development

Before any code, the redesign got a specs/redesign/ folder with requirements.md (the problem and goals), design.md (the architecture and the decisions behind it) and tasks.md (the phase-by-phase plan). Every phase below traces back to a task in that file.

Harness engineering

The repo carries a CLAUDE.md that encodes the project’s non-obvious rules — where content lives, what feeds /cv, that the palette and logo are fixed identity, not free variables — so an agent working in this codebase later doesn’t have to rediscover them from scratch.

Shipped in reviewable phases

The rewrite shipped as eight phases (foundation → scaffold → design system → content → home sections → this case study → the generated CV → SEO and cleanup), each on its own branch, opened as a pull request against the release branch, and merged once its own build passed. The full history is on GitHub.

Verified, not assumed

Every phase that touched markup was checked with a headless-browser pass — console errors, failed requests, and screenshots at desktop and mobile widths — before merging, the same discipline used day to day at Perfaware.