This portfolio is more than a showcase — it's a cloud-native platform that integrates four completely different backend services under a single frontend.
The static site is built with Astro and React, served through Cloudflare Pages with global CDN. Each project demo runs on its own Azure Container App with scale-to-zero: SufferingDoge (Java Spring Boot), SurviveX (Node.js + compiled C++ via node-pty), Squealer (Node.js + MongoDB Atlas), and ChessVerse (Node.js + Python WebSocket engine). Each service is independently containerized with Docker and deployed to Azure Container Registry.
The architecture keeps costs under 5 EUR/month while offering fully interactive demos with real backends. Cloudflare provides DDoS protection, caching, and TLS termination. Azure Container Apps handles lifecycle management — containers spin down to zero when idle and cold-start in 5-15 seconds on the first request.
This portfolio site itself is one of the most technically interesting projects: a static Astro frontend served via Cloudflare Pages, with four completely heterogeneous backend services running as independent Azure Container Apps with scale-to-zero. Each backend uses a different tech stack — Java, Node.js+C++, Node.js+MongoDB, Node.js+Python — yet they are all orchestrated under a single unified frontend.
Each project demo runs on its own containerized backend with a completely different technology stack. SufferingDoge is a Java Spring Boot service exposing a REST API for a MiniMax game engine. SurviveX pairs Node.js with a compiled C++ binary, bridged through node-pty to stream terminal sessions over WebSocket. Squealer is a full Node.js app backed by MongoDB Atlas. ChessVerse combines a Node.js HTTP server with a Python WebSocket server for the async chess engine. All four are packaged as Docker images and deployed independently.
Cloudflare sits in front as DNS resolver and CDN, providing caching, DDoS protection and TLS termination. The static frontend is deployed to Cloudflare Pages (free tier), which serves the Astro-built pages from a global CDN. The four backend services run on Azure Container Apps with scale-to-zero enabled: when no one is using a demo, the container shuts down and costs nothing. On the first request, Azure cold-starts the container in 5-15 seconds. This keeps the monthly cost under 5 EUR while supporting the full interactive experience.