EdTech

University Student Recognition Platform

Scholarship pathways, assessments, and admin portals backed by a typed monorepo

educationmulti tenantoperations

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

Next.js 15React 19Clerk AuthShared UI package

Backend

NestJS 11PrismaPostgreSQL 16

Infrastructure

GCP Cloud RunCloud SQLCloud Run JobsSecret Manager

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