750+ Registrations • 170 Captured Payments// 2026• fullstack

Connect InnovateX Platform

Event Registration & RazorPay Payment System

Full-stack event platform on Next.js and MongoDB handling 750+ registrations, 170 captured payments, and 10 refunds. Built idempotent RazorPay webhook payment processing and patched a critical role escalation vulnerability where roles originated from the client.

// Visual Gallery & Event Photography
Connect InnovateX Platform visual 1
Connect InnovateX Platform visual 2
Connect InnovateX Platform visual 3
OPINIONATED ARCHITECTURAL DECISION

Enforced strict server-side role validation in the session token, overriding untrusted client payloads to prevent privilege escalation.

WHAT I GOT WRONG & LESSONS LEARNED

First iteration of the payment webhook did not handle out-of-order delivery, meaning a late 'payment_failed' webhook could have overwritten a verified 'payment_captured' state before idempotency keys were added.

How I built this & what it delivers

Scaled platform to 750+ total registrations, 170 captured payments, and processed 10 refunds.
Engineered idempotent RazorPay webhook handler that ignores repeated failed events and never overwrites captured transactions.
Identified and fixed a security flaw where user roles came from the frontend, ensuring only authenticated server logic assigns admin privileges.
Merged core PRs #24 and #25 and managed frontend and backend production deployment.

// TECH ARSENAL

Next.jsReactMongoDBRazorPayGoogle AuthWebhooksTailwind CSS

// PERFORMANCE & IMPACT

750+ Registrations • 170 Captured Payments • Webhook Idempotency • Merged PRs #24 & #25

Audited for production reliability, memory efficiency, and execution safety.