jv_JACQUESVAN DEN BERG
CV
All projectsDEVELOPMENT JOURNAL / Local
Web development / Developer portfolio

This portfolio is a small React app with an editorial data model

Building a place where projects, decisions and experience connect.

Explore the stack
THE SHORT VERSION

What I built.

A responsive React portfolio designed to make projects and professional information easy to explore. Content is separated from presentation so it can grow with new projects, experience and accomplishments.

  • Searchable, filterable project collection with detailed case studies.
  • Dedicated CV view with a print-friendly layout.
  • Responsive navigation, keyboard-accessible dialogs and reduced-motion support.
  • Automated browser checks for the core user journeys.
TOOLS & RESPONSIBILITIES

Under the hood.

01

React

Filtering, dialogs and route state

02

JavaScript content modules

Project records and article sections

03

CSS

Responsive journal and project artwork

04

Playwright

Browser interaction checks

CONCEPTUAL IMPLEMENTATION FLOW
  1. Project metadata
  2. Story + technical notes
  3. Searchable cards
  4. Native dialog reader
BUILD NOTES / 01

Retiring the decorative first version

The first version leaned too heavily on abstract visuals. I wanted someone to arrive and understand that I am a developer, see what I have built and find my professional experience without having to work for it.

BUILD NOTES / 02

Content is data; the reader is a component

The projects live outside the React layout. Stories attach by project ID, and the card summary, technology tags and reading time are derived from that content. The same project can then appear in the grid, the quick navigator and the CV without duplicating its identity in three places.

The article renderer supports narrative sections, a stack breakdown, a request-flow illustration and labelled code examples. I do not need every project to contain every block. A redirect service deserves a request trace; a brand website probably does not.

BUILD NOTES / 03

The browser already has a dialog primitive

The project reader uses the native dialog element and showModal. Opening it records the active element, locks background scrolling and focuses the close control. Closing restores focus to the trigger. The keyboard navigator is a separate dialog, opened with Ctrl or Command plus K.

The browser checks exercise those transitions, as well as filtering, the CV route and mobile overflow. A useful lesson from testing was to wait for React content after a hash change: the URL can change before the next view has committed.

BUILD NOTES / 04

Testing the transitions, not just the screenshot

Opening a project should answer the next questions: why does it exist, what did I contribute and what is actually implemented? That is why the stories are grounded in my CV and the local project source rather than generic descriptions.

BUILD NOTES / 05

How I check it

Playwright checks cover filtering, project dialogs, focus restoration, CV navigation and responsive layouts. The site is still growing, but the core interactions should remain dependable as the collection gets larger.

WRITTEN BY JACQUES VAN DEN BERGNext build: Mr Bio Website
↑ ↓ to navigateEnter to selectEsc to close