Main website built using Next.js with several smaller single-page applications built using React.
Website served statically using a single NodeJS server. Applications each have their own individual NodeJS server handling requests.
DigitalOcean droplet server running Ubuntu. Controlled using ssh and Git. Automated building and deployment of new web apps handled on website dashboard.
Authentication handled by JWT. Manages access to dashboard and deployment page.