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.

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.