University Student Recognition Platform
Scholarship pathways, assessments, and admin portals backed by a typed monorepo

Overview
We delivered a university-backed student recognition system with public web app, NestJS API, Clerk-protected admin and university portals, and PostgreSQL — deployed on GCP alongside a global load balancer.
Context
Universities need to identify high-potential students, run structured assessments, manage scholarship pathways, and give staff secure admin tools — without compromising student data or running separate codebases per institution.
Real-world scenario
A student completes an onboarding wizard, takes assessments, and tracks recognition progress. University staff review applications through a Clerk-authenticated portal. Platform admins manage rules, seed university data, and sync policies via Cloud Run Jobs.
Constraints
- Monorepo with shared types, UI tokens, and Prisma schema
- Clerk authentication for admin and university-facing apps
- Production on GCP Cloud Run with Cloud SQL PostgreSQL (faralin-pg instance)
- Separate domains: public web, API, university portal, admin dashboard
What we built
- pnpm + Turborepo monorepo: Next.js web, NestJS API, Next.js admin
- Prisma schema with seeded universities, courses, knowledge articles, and assessment data
- Cloud Build pipeline deploying web + API to Artifact Registry → Cloud Run
- Cloud Run Jobs for schema push, staff provisioning (including Clerk sync), and rule synchronization
- Stream Chat integration for support and collaboration features
Architecture
- faralin.kaana.in → web app | api.faralin.kaana.in → NestJS API
- university.faralin.kaana.in + admin.faralin.kaana.in → Clerk-protected Next.js apps
- Cloud SQL PostgreSQL with Secret Manager for DATABASE_URL and Clerk keys
Reliability & security
- Clerk webhook verification for user lifecycle events
- Dedicated dbjob Docker image for maintenance tasks
- SSL via Google-managed faralin-cert on shared HTTPS load balancer
Outcomes
- Students, universities, and admins each get purpose-built interfaces on one data model
- Repeatable deploy and DB maintenance via Cloud Run Jobs
- Live production domains with managed SSL
Technology stack
Frontend
Backend
Infrastructure
FAQ
How is authentication handled?
Clerk protects admin and university portals; the public student app uses the Faralin API with PostgreSQL on Cloud SQL.
Where is it hosted?
GCP Cloud Run (faralin-web, faralin-api, faralin-university, faralin-admin) with a shared PostgreSQL instance.
Related services
For social · LinkedIn hook
EdTech isn't one app — it's students, institutions, and admins on one platform.
- → Problem: university recognition needs student UX + staff admin + API
- → Solution: Turborepo monorepo, Clerk auth, NestJS + Prisma on GCP
- → Ops: Cloud Run Jobs for provisioning and schema maintenance
Need an education platform with student portals, admin tools, and secure auth? We ship monorepos that scale to production.
Discuss a similar project

