BACK TO PROJECTS
2026-08-26

Indradhanush — Interact Club Platform & CMS

Full-stack community service portal for GD Goenka Public School Interact Club (Rotary District 3291), featuring theatrical CSS curtain animations, Neon PostgreSQL with Drizzle ORM, and an offline multi-threaded C# HTTP fallback server.

Next.jsReactTypeScriptDrizzle ORMNeon PostgresClerkCloudinaryC#Tailwind CSS
[ Source Code ]✓ VERIFIED STABLE
[ Target Hardware ]Microcontroller / Edge Node

In June 2025, our school chartered the Indradhanush Interact Club at GD Goenka Public School, Dakshineswar (sponsored by the Rotary Club of Kolkata North Suburban, Rotary International District 3291). I took on the role of IT & Editorial Head as a Class 11 student, and my first mission was to build a modern, high-performance digital infrastructure for the club. Most student charity platforms look like clunky blog templates from 2012; I wanted something that felt prestigious, fast, and engineered with the same rigor as an enterprise application.

The primary web portal (indraa) was built with Next.js 15.5.21 App Router, React 19.1.0, and Tailwind CSS v4. Data persistence runs on Neon serverless PostgreSQL managed via Drizzle ORM (^0.39.0), with Clerk (^7.6.0) handling role-gated administrative authentication. To manage media without clogging repository storage, I wired the Cloudinary Node SDK (^2.10.0) into a centralized asset map (src/lib/cloudinary-media-map.json), giving our editorial team signed upload pipelines for event photography.

The visual centerpiece of the site is the theatrical opening curtain sequence in src/components/ui/IntroAnimation.tsx. When a user visits the portal, the screen is enveloped in deep midnight navy (#06142e). A pulsing golden Falcon emblem badge glows against subtle radial lighting (rgba(212,169,26,0.1)). Over a calibrated four-stage timing sequence (closed → opening at 650ms → revealing at 1350ms → done at 2100ms), two full-height curtain panels split and slide smoothly offscreen using a custom cubic-bezier(0.25, 1, 0.5, 1) transition. Because forced animations get annoying on repeated visits, pressing Space or Escape immediately aborts the sequence, and the state is cached in sessionStorage so it never pesters regular visitors.

The most unique engineering challenge of this project had nothing to do with web frameworks and everything to do with school lab reality. When presenting our platform to the school management, principal Ms. Vijaylaxmi Kumar, and visiting Rotary District dignitaries, relying on the school's notoriously flaky Wi-Fi was an unacceptable risk. If the internet dropped during a live walkthrough, the entire demo would stall. To guarantee 100% offline availability, I wrote a standalone, dependency-free C# multi-threaded HTTP web server in indradhanush/Server.cs (IndradhanushOfflineServer). Running natively on Windows via .NET's System.Net.HttpListener on port 8000, it uses ThreadPool.QueueUserWorkItem to handle concurrent static asset streaming asynchronously, includes a case-insensitive dictionary of 16 MIME types (including .woff2, .ttf, and .svg), and features a clean Single Page Application fallback that automatically routes missing paths to site/index.html with zero caching headers. We could carry the entire club platform on a USB thumb drive and run it locally on any lab computer without Node.js or internet access.

The system seeded and documented eight major social initiatives—from Mission Poshan food distribution to our weekly Digital Learning Program in the school computer lab where I taught computer literacy. The club's work earned three verified milestones: the Award for Service to the Community (Rotary District 3291, June 2026), a Certificate of Honour from The Telegraph School Awards for Excellence (July 2026), and the Rotary International District Citation of Honour (August 2026).