Skip to content

feat(projects): add projects section based on CV#32

Merged
usarral merged 14 commits into
mainfrom
claude/cv-projects-section-BGLyz
May 23, 2026
Merged

feat(projects): add projects section based on CV#32
usarral merged 14 commits into
mainfrom
claude/cv-projects-section-BGLyz

Conversation

@usarral

@usarral usarral commented May 23, 2026

Copy link
Copy Markdown
Owner

Introduces a /projects page that lists professional, freelance and personal
projects, grouped by category, with tech stacks and external links. Adds the
corresponding entry to the main navigation.

claude added 2 commits May 23, 2026 19:46
Introduces a /projects page that lists professional, freelance and personal
projects, grouped by category, with tech stacks and external links. Adds the
corresponding entry to the main navigation.
@vercel

vercel Bot commented May 23, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
usarral-2026-site Ready Ready Preview, Comment May 23, 2026 8:52pm

- Translate projects page and project descriptions to English to match
  the rest of the site.
- Drop category grouping (and the unused Systems in development entry)
  in favour of a single flat grid.
- Rename the events R&D entry to 'Various projects at The Box of the
  Boss' and point it to theboxoftheboss.com, keeping the same stack.
- Add live link for AM16 Agricultura (ervc.agricultura.gencat.com) and
  GitHub link for butler-ci-cli.
…itat context

- AM16 Agricultura becomes 'Catalonia's e-vineyard registry' (e-RVC),
  with a description that names what the platform actually does.
- AM16 Cultura becomes 'Catalan language services platform' and lists
  the four apps it ships (VxL, GestCerCat, LLC, RTIJ) with links to the
  two that are publicly available.
- Replace the generic role label with 'Generalitat de Catalunya · Minsait
  (Indra)' on both, so the end client is visible.
Adds the Occitan/Aranese and general-purpose internal machine translators
(powered by Apertium) to the description of the Catalan language services
platform, and lists Apertium in the tech stack.
- Drop the role/employer line ('Freelance Web Developer',
  'Generalitat de Catalunya · Minsait (Indra)', etc.) in favour of a
  one-line project summary on every card. Generalitat de Catalunya is
  now mentioned in the description of the e-RVC entry where it was the
  only place that still carried the client info.
- butler-ci-cli no longer claims to manage Jira tickets — its scope is
  Jenkins automation only.
The project name is rendered as a stretched link whose ::after
pseudo-element covers the entire card, so clicking anywhere on the card
opens the first link. Inner link list items keep their own clickable
areas via relative positioning to sit above the overlay.
Each technology badge highlights on hover with its own brand color.
Text color is chosen per-pill (dark on light brands, white on dark
brands) to maintain legibility. Falls back to neutral gray for any
unknown tech.
The previous approach nested after:absolute after:inset-0 on an <a>
inside <h3>, causing layout recalculations observed as CLS on main#main.

The overlay <a> is now the last direct child of <article>:
- z-index auto, behind tech pills and link list (both relative z-10)
- aria-label gives screen readers a meaningful accessible name
- Title hover handled by group-hover on <h3>, no heading nesting needed

Note: the aria-hidden and multiple-main-landmark findings are pre-existing
issues from the pagefind search UI, not from our components.
Clicking a tech pill filters the grid to only show projects that include
that tech. Click again (or use the 'Clear filter' button) to reset.

- Pills are now <button> with data-tech and aria-pressed for state.
- Active pill stays locked in its brand color; same rule covers hover.
- Banner above the grid shows the active filter and 'X of Y' count.
- Filtering uses the hidden attribute, so the grid reflows naturally.
Java 8/7, Angular 14 and Node.js 18 all collapse into their unversioned
labels so the chips stay consistent across cards. The descriptions still
mention the specific versions used on each project.
@usarral usarral merged commit f7e6d80 into main May 23, 2026
3 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants