← Back

Work18

Payload CMS

A custom headless CMS built with Payload and PostgreSQL (Neon) to manage my portfolio's projects, certifications, and experience, with Cloudinary media storage.

Role
Fullstack
Built for
Personal
Status
private
Stack
Payload CMS, Next.js, PostgreSQL, TypeScript, Cloudinary
Fig. 01
Fig. 02
Fig. 03
Fig. 04

The project

This is the backend content management system that powers my portfolio website. Instead of hardcoding my projects, certifications, and work experience, I manage everything through an admin panel and serve it via API to my frontend.

What it does:

  • Lets me create and edit Projects, Certifications, and Experience entries without touching code
  • Exposes a REST/GraphQL API that my portfolio frontend consumes
  • Stores all content in a serverless PostgreSQL database on Neon, migrated from MongoDB

Problem it solves: Before this, updating my portfolio meant editing code and redeploying every time I added a new project or certification. Now I just log into the admin panel, fill in a form, and the changes show up on my site right away.

Notable features:

  • Custom Markdown field component with live preview, built on top of Payload's field system
  • Orderable collections, so I can drag and reorder how projects or experience appear on the site
  • Cloudinary integration for automatic image optimization and hosting
  • Project status field (Active, Developing, Coming Soon, Private, Archived) to track project state

Next project

All work

Strapi CMS

Work and Travel Guide GmbH (WTG) · Fullstack