Animated WebGL launch-announcement page with GLSL shaders, Supabase waitlist, and SMTP email confirmation

The Prachyam platform relaunch needed a public-facing signal — something that could go live while the full Sangam rewrite was still in progress, capture interest from returning users, and communicate that the platform was coming back in a serious way. The brief was tight: three days, high visual quality, waitlist capture with email confirmation.
28 commits in three days. The commit density is the record of how the constraint was managed: small, frequent, never more than a few minutes of work per commit. When you're building fast under a deadline, small commits are a safety net — any single commit can be reverted cleanly without touching the commits on either side.
The animated hero background required a WebGL shader. The instinct is to reach for Three.js — the dominant WebGL library, massive ecosystem, extensive documentation. But Three.js has a significant bundle cost, and for a coming-soon page where the only WebGL use is a single fullscreen GLSL fragment shader, the full Three.js dependency is overhead that the page doesn't justify.
OGL is a minimal WebGL abstraction — thin enough to expose the raw WebGL API clearly, structured enough to avoid writing raw GL calls directly. The GLSL shader itself handles the animation: a custom fragment shader that produces a flowing, layered visual effect using time-based math and noise functions. Near-zero JavaScript overhead; the GPU handles all the work.
The Astro SSR shell renders fast, serves the static markup immediately, and hydrates the React islands for interactive components. The OGL canvas initialises as a client-only island — no server-side rendering of GPU work, which wouldn't make sense.
Supabase Realtime captures waitlist signups: email submission writes a record to the Supabase database and triggers a Realtime event. A Nodemailer Astro server endpoint catches the event and sends a confirmation email via a self-hosted SMTP relay — the same Mailcow infrastructure from the Prachyam infra work, repurposed here for transactional email.
The confirmation email is important. A waitlist without confirmation is a collection of potentially invalid addresses and users who have no signal that their submission was received. The confirmation closes the loop: the user knows their email worked, and the list is cleaner because undeliverable addresses bounce immediately rather than silently.
Deployed to Netlify for the static-first performance characteristics and the Astro adapter support. The page is publicly live at prachyam.willmakeitsoon.com.
Self-Hosted Enterprise Stack
JSON/Markdown data-driven agency website with Splitting.js text animations and ScrollOut scroll effects
Forensic stabilisation and feature expansion of a production streaming platform across web, mobile, and TV
Did this resonate?