All work

Udaya Public School · Ayodhya · live since July 2026

A CBSE school's website, online admissions and fee payments, admin portal and AI-assisted blog, on one codebase.

A school usually spreads this across a website vendor, an admissions desk and a fee counter. Udaya wanted one codebase to tell parents about the school, take applications and payments online, and give staff a portal to run it all, with the school's existing Zoho accounts doing the finance.

udayapublicschool.edu.in
Udaya Public School home page

What I built

  • 22 public pages: academics, admissions, fees, board results, notices and the blog, each statically rendered and refreshed from Firestore.
  • Online admissions with Zoho Payments checkout. A successful payment issues a receipt from Zoho Books and records the application for the office.
  • Transfer-certificate checks that look the student up in the school's ERP (Nascorp) before anything is issued.
  • A bilingual complaints portal, in Hindi and English, so a parent or student can raise a concern without a login.
  • An admin portal behind Firebase Auth, with access granted per module so the admissions desk and the blog editors see only their own work.
  • A blog where posts are drafted by AI through a hosted MCP server, then reviewed and approved by a person before they publish.

How it runs

Next.js 16 on Cloud Run behind Firebase Hosting, with Firestore for content and admin data and no service-account keys anywhere. Every change runs Lighthouse before it ships and must score at least 0.90 on performance and 1.00 on SEO, with a 100 KB cap on first-load JavaScript. I still run the site for the school as a consultant, alongside its HR and finance systems on Zoho.

Result

Result

Every change must pass performance ≥ 0.90 and SEO 1.00 before it ships.

Have a site, a campaign or a messy setup in mind?

Tell me about it. Replies within two working days.