Skip to content
Mohamed TRIKI
Back to internships & projects
Home page of the portfolio: photo, name, title and contact buttons

Multilingual Interactive Portfolio & Personal CMS

  • Date : 2026
  • Web Development
  • In progress

Built this site: a portfolio, interactive CV and photo journal in English, French and Arabic (RTL), fully managed from a headless CMS.

Overview

This website is itself one of my projects: a personal portfolio that combines an interactive CV, a project showcase, a professional profile and a photo journal of my activities, all managed from a personal CMS.

Every piece of content comes from the database and is translated into three languages, with a true right-to-left interface in Arabic. Each item follows the same two levels: a short preview, then a detailed view with photos and captions.

The project was specified first (data model, business rules, design system, accessibility and performance targets), then delivered phase by phase with automated tests at each step.

Key figures

languages, including Arabic RTL
3
languages, including Arabic RTL
unit tests
164
unit tests
Lighthouse accessibility score
100
Lighthouse accessibility score

Technologies

Problem

A static portfolio quickly goes out of date, is hard to translate and rarely shows the whole journey — projects, experience, associations and events — in a clear and accessible way.

Solution

A Next.js 15 (App Router) application with Payload CMS 3 embedded and MongoDB: server rendering for SEO, native content localisation (en/fr/ar) with fallback, interface translated with next-intl, Tailwind v4 logical properties for RTL, drafts and on-demand revalidation so the site updates as soon as content is published.

My contribution

Designed and built the whole project: specification, data model and collections, design system (light and dark themes, configurable accent colour), public components, admin customisations, SEO, and unit and end-to-end tests.

Features

  • Three languages with a real RTL interface in Arabic, translated URLs and language switching that keeps the open page, filters and dialog
  • Card → detail pattern with shared transition, deep links, keyboard focus management and mobile bottom sheet
  • Captioned photo stories with a full-screen lightbox (swipe, zoom, arrows reversed in RTL)
  • Interactive CV: numbered chapters, entries that expand in place, year timeline and skill highlighting
  • Advanced admin: home page builder, presets, translation completeness per language, multi-photo upload, live preview
  • Command palette (Ctrl/⌘ + K), dynamic Open Graph images, printable CV page, multilingual sitemap and JSON-LD

Screenshots

Home page: interactive CV cover with photo, availability and contact buttons (WhatsApp, LinkedIn, GitHub).

Internships & projects: each internship on the timeline with the project delivered there; “View project” opens its details.

Certificates: one gallery that moves from category to category, all managed from the admin.

Real right-to-left interface in Arabic, alongside English and French.

Admin (Payload CMS): the home page is built from sections that can be reordered, hidden and configured.

Editing a project in the admin, with the translation status in English, French and Arabic.

Certificate categories, created and ordered by drag and drop in the admin.