Skip to content
All projects
In ProgressInternal Tool2026

Portfolio Content Platform

The API-first content layer behind this site, designed so pages can move from seeded data to a database without rewrites.

Problem

Editing portfolio content in code makes small updates slow and error-prone.

Context

An internal tool for maintaining case studies, experiments, and experience entries.

My role

Architecture and implementation.

Solution

Typed content models with a thin data-access layer, so a database implementation can be swapped in behind the same functions.

Key features

  • Typed content models for projects, experiments, experience, and skills
  • Single data-access boundary
  • Published and draft states
  • Validation-ready schemas

Architecture overview

System flow
  1. 1

    Content model

  2. 2

    Data access

  3. 3

    Route loaders

  4. 4

    Rendered pages

Accessibility

Content models carry alt text and plain-language summaries as fields.

Security

No secrets in client code; write operations are reserved for a protected area.

Outcome

Keeps the public site fast today and ready for a CMS later.

Lessons learned

  • Defining the content model before the layout saved a lot of rework.

Related projects

ProductionInternal Tool2026

Self Assessment BERAKHLAK

LLM platform generator for organizational core-values self-assessment.

LLMReactNode.js

Read case study

In ProgressInternal Tool2026

Portfolio Admin

Control panel for project links, new projects, and skills data.

ReactLocalStorageVite

Read case study