Selected works
2026 — Client Contract

Green Power India

End-to-end corporate platform for a waste-to-energy brand — owned frontend, schema, API, and handoff.

Next.js 15 React 19 Supabase PostgreSQL Tailwind CSS Framer Motion Vercel

Why it exists

Green Power India needed a production marketing and content presence that matched a technical sustainability brand — not a template brochure site with broken media handling.

The brief: ship a credible corporate platform (story, capabilities, contact/partner flows) with a reliable content and media backbone the client could operate after handoff.

What I engineered

Solo ownership from UI through data layer to deployment and client handoff.

  • Next.js 15 App Router frontend with bento-style marketing UI (Tailwind CSS, Framer Motion)
  • Supabase / PostgreSQL schema and API surface for content and media
  • Structured object storage for reliable media handling
  • Vercel production deployment
  • Handoff of a live site the client can operate — not a prototype left unfinished

Architecture

Marketing frontend on Vercel talking to Supabase for auth-adjacent content APIs, Postgres, and media buckets.

Site visitor
Frontend · Vercel
Next.js 15 App Router
Backend · Supabase
Supabase API / schema
PostgreSQL
Media buckets
Ops
Client ops after handoff
  • Site visitorNext.js 15 App Router· Browses site
  • Next.js 15 App RouterSupabase API / schema· Content / forms
  • Supabase API / schemaPostgreSQL· Reads / writes
  • Supabase API / schemaMedia buckets· Media assets
  • Client ops after handoffSupabase API / schema· Content updates
  • Next.js 15 App RouterSite visitor· SSR / static UI

Engineering decisions

Why Next.js App Router on Vercel?

Corporate marketing needs fast first paint, SEO-friendly HTML, and simple deploys. App Router + Vercel gave prerendered routes and zero-ops hosting so delivery focused on product, not servers.

Why Supabase instead of a custom Nest API?

The client needed a content and media backend they could keep running after handoff. Supabase Postgres + storage covered schema, API access, and buckets without standing up EC2 for a brochure-scale platform.

Why structured media buckets early?

Broken or ad-hoc image hosting is what makes marketing sites feel unfinished. Defining storage paths and schema up front kept the bento UI reliable under real assets.

Why own UI and backend together?

On a fixed client contract, split ownership slows handoff. One engineer owning schema ↔ UI meant the live site shipped as a coherent system, not a frontend waiting on an unfinished API.

What shipped

A live corporate site at greenpowerindia.com — brand story, capabilities narrative, partner/contact paths, and a media-backed content model ready for client operation.

  • Production Next.js 15 frontend
  • Supabase/PostgreSQL-backed content layer
  • Structured media storage
  • Client handoff of a running platform

Hardest problems

Matching a strong visual brand while keeping content and media operable for a non-engineering client after delivery.

  • Balancing expressive motion UI with stable content structure
  • Media reliability without overbuilding a full CMS
  • Handing off something the client can update without a second build cycle

Lessons learned

Client work succeeds when ownership includes handoff — schema, deploy, and a UI the brand can live in. Choosing managed backend pieces was the right trade for a marketing platform that needed to ship and stay up.