There’s a few technologies I’ve been wanting to try out lately: GPT’s Chat API, Google’s Cloud Run, HTMX and (if I can get it working - still WIP ) GraalVM with Spring Boot Native.

I had an idea for a simple site that would let me use all of these technologies together - generate quizzes using GPT and power a simple webapp hosted on Cloud Run (backed with a serverless database - Firestore - to keep overheads near zero), I’m calling it QuizMotor and the beta is live now - check it out here.

Why these technologies?

I’ve this nagging feeling the current frontend du jour is bloated and a complete overkill for simple interactivity. Not to sound like a grey-neckbearded-old-programmer I like my server side rendering and the promise of HTMX is to keep a simple server-side stack with minimal frontend code.

I like the idea of small projects with zero overhead, but potential to scale from day-1, so Cloud run + Firestore/Datastore can both scale hugely if needed but will have almost no cost to just keep the site running, and no admin overhead of a server running. They also both support really simple clean CI/CD flows in GH actions - no DB migrations, blue/green deployments with trivial rollbacks.

The part I haven’t nailed is the native image and GraalVM - the promise here is super fast start-up times for the Docker container in Cloud run, a current issue is the first request to the site in a while will experience a slow first page load - not great.