
Building PWA Features in Next.js: Service Workers and Web Push Notifications
How I wired VAPID web push into elangodev.com chat so visitors get notified when I reply — without running a dedicated push server.
Exploring the intersections of code, design, and engineering excellence.
ByElango PEditorial standardsEngineering handbookPrivacy Policy

How I wired VAPID web push into elangodev.com chat so visitors get notified when I reply — without running a dedicated push server.

How I split profile context, dashboard local state, and elangodev.com UI on elangodev.com — and when I reach for context versus component state in 2026.

Presigned PUT URLs and multipart uploads power the /drop feature on elangodev.com — no AWS keys in the browser, no files proxying through Vercel.

Consent Mode for ads, idle-time analytics, and dynamic homepage imports — the Core Web Vitals playbook I use on elangodev.com.

How I index posts slugs, insert analytics safely, and structure RLS on elangodev.com's Supabase Postgres without drowning in connection overhead.

How React 19 and Next.js 16 split server and client work on elangodev.com — from layout.jsx providers to dynamic imports in HomeContent.jsx.

How I profiled HOT update ratios, fillfactor, and autovacuum on the Supabase project behind elangodev.com — and the write-path changes that actually stuck.

Cookie consent, dark mode in ThemeContext, Tailwind prose on blog posts, and PublicNav patterns — how I bake accessibility into elangodev.com.

A first-person account of moving production Zoho integrations across regional endpoints — the audit, the cutover weekend, and the API config changes I still maintain on client workloads.

Vercel functions, Supabase Postgres, and edge-friendly API routes — how elangodev.com scales blog traffic and chat without dedicated servers.

My Next.js repo mixes JavaScript and TypeScript deliberately — here is how I use typed config, JSDoc contracts, and domain-shaped helpers to keep elangodev.com safe without a full TS migration.

Framer Motion springs on elangodev.com, portfolio demos, and the login page motion language I tuned for 120Hz displays.

How Context re-render storms showed up on elangodev.com — and how I moved high-churn UI to subscription stores with useSyncExternalStore.

On elangodev.com I pair Supabase Realtime WebSockets for chat with REST route handlers for mutations — here is how I decide which protocol owns each feature.

How I use LoAF, scheduler.postTask, and workers to keep INP healthy on elangodev.com blog and handbook pages.

How I deploy elangodev.com on Vercel with ISR caching, Edge streaming for AI chat, and retry-hardened Supabase fetches from Node route handlers.

How I hardened elangodev.com contact and chat routes with layered validation, admin-only gateways, and failure isolation — without standing up Kafka for a portfolio site.