System architecture

Next.js 14, MySQL, a custom CMS and an update server.

phatdev.netUpdated 21 Oct 2026

Components

Component Technology Role
Web application Next.js 14 (App Router), TypeScript, Tailwind Portfolio, project pages, documentation, the SL Migrations landing page
Data MySQL Profile, projects, skills, contacts, documentation, licenses
Runtime PM2 behind Nginx A single process, with controlled page caching
Update server Route /api/updates/<slug> Publishes new theme / plugin releases by license

Principles

  • The application's database account can only read and write data and cannot change the table structure.
  • Fonts and images are self-hosted; the CSP blocks external sources.
  • Both languages are rendered on the server, so content display does not depend on JavaScript.