Skip to content
All work
Knwdle logo
01 / 07

Knwdle

One place to run a school, and one place for students to choose one.

A multi-tenant education platform and a public college-discovery surface, built and run as one system.

Sector
EdTech / Directory
Engagement
2025 – 2026
Scope
End to end
Knwdle public homepage — a college-search hero over a campus photo
Public product — search, predictor and free tools on one surface

Overview

Knwdle is two products sharing one backend. The public side is a college-discovery surface — directory, NIRF rankings, JEE college predictors, and a large library of free student calculators — engineered as an SEO asset. The private side is a multi-tenant platform where schools, coaching centres and universities run people, attendance, announcements, assessments, fees and a parent/student portal.

We own the whole stack: the Express/Prisma API, the two public Next.js sites, the institution admin console, the internal platform console, the Connect web portal, and the React Native Connect app — plus the cron jobs that scrape admissions data, sync Search Console, and snapshot revenue.

SoftwareDataSEOMobile

The brief

One system for two very different users

Knwdle set out to serve two audiences that almost never share a product: students and parents choosing a college, and the institutions that run classrooms every day. The obvious move is to build one and buy the other. Knwdle wanted both — on one backend, run by one team, so the two halves compound instead of drifting apart.

The public side is a college-discovery surface: a directory of more than 40,000 Indian institutes, NIRF rankings, JEE Main and JEE Advanced college predictors, and a library of 275+ free calculators and generators for students and parents. It was engineered from the first commit as a search-acquisition asset, not decorated with SEO afterward.

The private side is a multi-tenant education platform. Schools, coaching centres, universities and training organisations use it to manage people, audiences (departments and classes), attendance, announcements, assessments, fees, and a Connect portal for students and parents.

Algotrax owns the whole stack: the Express and Prisma API, two public Next.js sites, the institution admin console, an internal platform console, the Connect web portal, and the React Native Connect app — plus every scheduled job that keeps the data underneath them current.

Architecture

Seven applications, one contract

Underneath everything is a single PostgreSQL database, a single Express API — 96 Prisma models, 198 REST endpoints — and an OpenAPI definition that the whole team builds against. Seven front ends consume that contract: two marketing and discovery sites, the institution admin console, the internal platform console, the Connect web app, the React Native app, and a Swagger surface for internal use.

Multi-tenancy is enforced at the data layer, not bolted on top. Every query is organisation-scoped, and the API's integration suite includes a dedicated org-isolation battery that fails the build if one tenant can read another tenant's data. Roles and permissions are first-class models, not a column of strings.

Because the public site and the platform share that one backend, a change to how attendance is modelled reaches a parent's phone the same day it ships. There is no integration layer to keep in sync, because there is no second system.

There is no integration layer to keep in sync, because there is no second system.
Knwdle institution admin console — the organisation dashboard
The institution console — one of seven front ends on a single API

Programmatic SEO

The public surface, engineered as a search asset

The college directory runs on Meilisearch with roughly a dozen facets — state, city, type, ownership, regulatory basis, admission pathway, NIRF band and rank, discipline, course and specialization. Every meaningful facet combination resolves to a crawlable, canonical, structured-data-bearing URL, so the directory is a search surface measured in tens of thousands of pages rather than a single filtered app.

The data underneath it is real and kept current by scheduled jobs: a JoSAA seat-allocation scrape, an NIRF ranking ingest, and a directory quality scan that flags thin or boilerplate pages before Google ever sees them. Programmatic SEO only works when the content is genuinely useful — the scrapers and the quality gate are the actual product.

The free-tool library — CGPA and percentage converters, attendance calculators, fee and scholarship estimators, certificate generators — was built as its own acquisition channel. In committed Search Console analysis the tool pages consistently out-performed the heavier college pages on click-through, so they earned their own investment.

Every public route ships sitemaps, an llms.txt and llms-full.txt for AI crawlers, IndexNow submission, per-page canonicals and JSON-LD. A Google Search Console sync job pulls query, click and coverage data back into the platform, so the surface is tuned against real search behaviour on a weekly loop rather than a quarterly guess.

Programmatic SEO only works when the content is genuinely useful. The scrapers and the quality gate are the actual product.
~800×
Daily search impressions
climb across one quarter
40,000+
Indexable directory URLs
institutes
275+
Free student tools
A Knwdle college page showing the free-tool library and the official programme list
A college page — the 275-tool library above a JoSAA-sourced programme catalogue

The predictor

A college predictor that admits it's an estimate

The JEE predictor computes Safe, Moderate and Ambitious bands from JoSAA closing-rank windows using a piecewise-linear chance curve, a recent-year weighted projection, a trend adjustment and a confidence score. It is category-rank aware rather than CRL-only, handles home-state quota, and covers JEE Main — NITs, IIITs and GFTIs — as well as JEE Advanced and the IITs.

The code is explicit, in its comments and in the interface, that the output is an estimate and not a statistical probability. In a category full of tools that imply certainty, saying so plainly is a positioning choice, and it's the client's choice — we built the honesty in on purpose.

Around the predictor sits a layer of programmatic landing pages: cutoffs by year, branch and category, guide pages, and per-institute pages. Each one is a real answer to a real search, which is why they rank.

Knwdle college directory with faceted filters and NIRF sorting
The directory — faceted Meilisearch across a dozen dimensions, NIRF sort

The platform

The console schools actually run on

Institutions model their structure as audiences — folders that group classes, and leaf classes that hold members and attendance. The effective-timetable engine reconciles the base timetable with attendance sessions, cancellations, reschedules and one-off extras into the single view a teacher sees each morning.

Assessments carry real integrity. Attempts store a form snapshot so grading and re-rendering stay stable even if the question later changes; a lockdown middleware blocks notes and content routes while an attempt is live; date-sheet scheduling handles exam groups, slots and per-audience assignment.

  • Members — students, staff and parents, bulk import, guardian-request approvals
  • Academics — audiences, timetable, attendance sessions, announcements, notes with a whiteboard
  • Assessment — assignments with submission and grading, tests with attempt lockdown and calendar date sheets
  • Fees — plans, invoices and Razorpay collection, all reconciled against the same records
Knwdle class-audience overview with attendance-trend and composition charts
A class audience — attendance, timetable, assessments and a live composition view

Billing

Money you can trust twice

Two payment flows run side by side: subscription billing for the institution, and fee collection from parents. Both go through Razorpay, and both are built to be idempotent from the ground up.

Customer and subscription objects are reused rather than recreated, idempotency keys are deterministic, webhook signatures are verified, and every event is de-duplicated. Fee generation is preview-before-commit: plans are configuration, invoices and payments are immutable records you can audit.

The billing webhook is mounted before body parsing so signatures verify against the raw payload. It's a small detail, and it's the difference between a billing system that reconciles to the rupee and one that quietly drifts.

Knwdle finance dashboard — invoiced, collected, pending and overdue totals
Fee collection — Razorpay-backed invoicing with preview-before-commit plans

Connect apps

The same portal, on the web and in a pocket

Connect is the student and parent surface — dashboard, timetable, results, report cards, finance, announcements. It ships as a Next.js web app and as a React Native app built with Expo Router for Android and iOS, sharing state and API contracts through a common package so the two stay in lockstep.

A shared axios instance dedupes token refreshes and coordinates them across browser tabs with a BroadcastChannel, so a parent with the portal open in three tabs never triggers three competing refreshes — the kind of bug that only shows up in production, at the worst time.

Knwdle Connect mobile app — the student dashboard
Knwdle Connect app — assignments, upcoming tests and pinned announcements
Knwdle Connect app — the assignments and tests list

Operations

The machinery underneath

Scheduled jobs keep the platform honest: the JoSAA predictor scrape, the Search Console sync, nightly revenue and organisation-health snapshots, the directory quality scan, and the full subscription lifecycle — trial expiry, grace periods, dunning and alert evaluation.

The internal platform console is its own product. Governance and audit logging, DPDP compliance tooling, customer-health and at-risk views, signup and lead funnels, revenue movement and cohort analysis, a 0–100 lead-intent score, and a command centre with alert rules — the operating system for the business behind the business.

The API deploys to EC2 on every push to main through GitHub Actions — Prisma migrate, PM2 reload — and carries a Vitest suite covering auth, org isolation, permissions, attendance, fees, assessments, billing and the cron jobs. The admin console adds Playwright end-to-end specs on top.

The engineering you don't see in a demo.

01

A predictor that admits it is an estimate

The college predictor computes Safe / Moderate / Ambitious bands from closing-rank windows using a piecewise-linear chance curve, a recent-year weighted projection, a trend adjustment and a confidence score. The code is explicit that the output is an estimate, not a statistical probability — and the UI says so too.

02

Search that degrades gracefully

Directory search builds Meilisearch filters across a dozen dimensions and sorts by text relevance unless there is no query. When the search service is unavailable it falls back rather than 500s, and reindex lookups are chunked so a bulk update never stalls the site.

03

Billing you can trust twice

Razorpay customer and subscription objects are reused, idempotency keys are deterministic, webhook signatures are verified and events are de-duplicated. Fee generation is preview-before-commit: plans are configuration, invoices and payments are immutable records.

04

Cross-tab auth without race conditions

A shared axios instance dedupes token refreshes and coordinates them across browser tabs via BroadcastChannel, so a parent with the portal open in three tabs never triggers three competing refreshes.

What it runs on.

Next.js (App Router)React 19TypeScriptExpressPrismaPostgreSQLMeilisearchRazorpayRedux ToolkitExpo / React NativeTailwind CSSGSAPGitHub Actions → EC2 / PM2

Measured from the repository, not the pitch.

344 days
Active build span
continuous
335
Commits
96
Prisma models
198
API endpoints
7
Apps in the monorepo
600k+
Lines of code
TSX + TS

Against the baseline.

Reported as change against the engagement baseline. Search figures stay as percentages and multiples on purpose — absolute volume tracks Knwdle's news and category cycle, so the relative move is the honest measure.

Scope, stack, scale and the engineering above are drawn straight from Knwdle's codebase and git history.

+320%
Organic impressions
vs. first full quarter live
4.1×
Organic clicks
trailing 6 months
+260%
Indexed pages earning traffic
+68%
Predictor → account signup
after the CRO pass

The takeaway

What this kind of engagement buys you

One team holding the product, the search surface and the infrastructure means the SEO isn't a separate contractor guessing at someone else's CMS. It's wired into the same data model, with a measurement loop from Search Console straight back into the roadmap.

344 days of continuous development, 335 commits, one accountable partner. The traffic and revenue numbers are Knwdle's to share — what we can show you is that the machine that produces them is real, tested, and still running.

Start a project

Want work like Knwdle on your own numbers? Tell us where you are.

  • A real person reads this, not a queue
  • No discovery call required to get a straight answer
  • Tell us to go away and we will — no drip sequence