AI-Powered CMS Platform
A full-stack CMS built from scratch — React admin panel, Express + PostgreSQL API, powering a public site over REST and WebSocket. The owner runs the entire site without a developer.
Overview
Challenge & approach
The starting point was a legacy site backed by a flat JSON file — no structure, unsafe to change, impossible to scale. I rebuilt it into a relational system with engineering decisions aimed at surviving past launch week:
Architecture — Feature-Sliced Design on both backend and admin frontend: a domain-sliced structure that stays navigable as it grows, not a flat file dump
Data — PostgreSQL as single source of truth; migrated off the legacy JSON file to a relational schema, with cross-environment transfer via pg_dump/pg_restore
Security — JWT auth with session invalidation (tokenVersion), login rate limiting, input sanitization (XSS fixes), non-root Docker containers
Performance — hot paths moved to direct SQL, O(1) lookups instead of linear scans, lazy-loaded admin routes