03Case study · School assessment SaaS

Prishta: School Report Card and CAS Software for Nepal

Prishta is continuous assessment (CAS) and report card software for schools in Nepal, from grade 1 to grade 10. I worked on it at Ektukra Digital Agency in September and October 2026, reviewing, fixing and testing the code and deploying it to prishta.com. It is a multi-tenant SaaS: teachers enter marks on a phone, the office reviews and locks them, and families read the finished report card online.

  • Grades 1–5 rated on the CDC 4-3-2-1 CAS scale
  • Grades 6–10 theory and practical marks on NEB grade bands
  • Report cards in Nepali and English, with Bikram Sambat dates
Prishta school report card software on prishta.com, shown on a desktop browser and a phone
  • RoleProduct design & full-stack engineering
  • TypeMulti-tenant SaaS for schools
  • BuiltSeptember–October 2026
  • StatusLive at prishta.com

01The problem

The Problem with CAS on Spreadsheets

Schools in Nepal run continuous assessment on spreadsheets: nine subjects, up to twenty learning objectives each, seventy students and an eight-band grading scale, held together by formulas that break whenever a child joins mid-term.

An empty cell quietly becomes a zero and drags a child’s average down. Report cards are formatted by hand in Word. And once a card has gone home, nothing stops a mark changing in the file behind it, or records who changed it.

Prishta replaces that workbook with one record that teachers fill, the office signs off and families can trust.

02The solution

What Prishta Does: One Platform for Principals, Teachers and Parents

Prishta is one API and one PostgreSQL database behind three front ends serving five audiences: a public site where a school asks for a demo, an operator console that creates and bills each school, and one school portal where a principal, a teacher and a parent each sign in.

The portal decides what to show from the account itself, not a menu choice, so a teacher never lands on a principal’s screens. It is the kind of SaaS product I like working on most: a real workflow, modelled carefully.

Prishta review queue with mark sheets waiting for approval, beside term progress for grades 1 to 5 and 6 to 10
The office review queue and term progress, as shown on prishta.com.

03Assessment modes

Two Assessment Modes: CAS for Grades 1–5, Marks for Grades 6–10

The grade decides the mode, not the school. A Grade 2 child is rated on learning objectives, and a Grade 9 student gets theory and practical marks.

How Prishta assesses primary and secondary grades
Grades 1 to 5: CASGrades 6 to 10: marks
What a teacher recordsA rating on each learning objectiveTheory and practical marks per subject
Scale4 Excellent, 3 Good, 2 Developing, 1 Needs improvementNEB letter grades A+ to NG, with a GPA
FrameworkNine CDC CAS parameters, up to 20 objectives a subjectLetter Grading Directive 2078, NG below 35%
Not yet assessedLeft out, never stored as a zero“Not sat this term” is left out
School settingsRename parameters, move the rating ceilingGrade bands, full marks, a pass mark per subject
A Prishta Grade 4 CAS sheet with 4-3-2-1 ratings per learning objective, and a Grade 9 marks sheet with theory and practical marks
A Grade 4 CAS sheet and a Grade 9 marks sheet, from prishta.com.

04Review and lock

From Teacher Entry to a Report Card at Home

Five stages, each one recorded. A report card is built only from submitted marks, and the marks behind it lock the moment it goes out.

  1. 1

    Teacher Entry

    Subject teachers rate objectives or enter marks for their own classes, saved as drafts on a phone or laptop.

  2. 2

    Submit

    With every student done, the teacher submits. Marks turn read-only; remarks stay open.

  3. 3

    Office Review

    The office approves the sheet, or returns it with a note saying what to fix.

  4. 4

    Push & Lock

    One button builds the card, locks its marks and publishes it, in one transaction.

  5. 5

    Families See It

    The parent is notified and reads the card online, in Nepali or English.

Rules That Keep a Report Card Honest

They live in the server, not the screens, so no button can get around them.

  • A subject counts only when it holds a real mark
  • Readiness names the missing subject and whom to ask
  • A mark changed after a push needs a reasoned unlock, and pulls the card back
  • Pushing an incomplete class is a separate, logged action
  • Cards store their percentage, GPA and grade, so reprints never recalculate
  • Parents see only published cards, never the class rank

05Features

Prishta Features for Schools, Teachers and Parents

Each audience sees only what it needs: school management software built around marks first.

For Schools

  • Years, terms, classes and subjects, with students imported from one file
  • An Academic Ledger with nine views, including at-risk lists
  • Report cards in ten layouts with the school’s logo and signature
  • ID cards with QR codes, certificates and a one-step year-end close-out

For Teachers

  • Mark sheets only for their assigned subjects and sections
  • Drafts are saved, so a phone works between periods
  • A remark per student, printed on the card
  • Register, homework, unit tests and lesson plans

For Parents

  • Sign in with a school-issued access code, no email needed
  • One account for siblings at the same school
  • Report cards, attendance, remarks and notices
  • English or Nepali, switched from the top bar
Prishta teacher portal with a CAS sheet due this week, a sheet returned with a note and today’s attendance at a glance
The teacher portal as shown on prishta.com: what is due, what came back and today’s register.

06Architecture

Prishta Architecture and Tech Stack

A TypeScript monorepo: one Fastify API, one PostgreSQL database and three React front ends, shipped as Docker containers. Every school is a tenant, and the design protects that boundary first.

  1. Front endsReact 18 + Vite 6Public site, operator console and school portal
  2. APIFastify 5 + TypeScriptZod validation, JWT sessions, tenant checks
  3. DataPostgreSQL 16 + Prisma 7105 tables, 45 hand-written migrations
  4. DeployDocker on Coolifynginx by hostname, Cloudflare in front

The Prishta Tech Stack

Every record carries its school, and every request is checked against the school in the caller’s token. A refusal is a 404, not a 403, so nobody can probe another school.

Dates are stored Gregorian and shown in Bikram Sambat first, from an almanac table for BS 2070 to 2098, because Nepali month lengths are published, not calculated.

The browser prints report cards because it shapes Devanagari correctly, and ledger exports keep Nepali names readable in Excel.

API
Node 22TypeScript 5Fastify 5ZodJWT sessionsbcrypt
Database
PostgreSQL 16Prisma 7105 tables45 hand-written migrations
Front ends
React 18React Router 7Vite 6npm workspaces
Testing
Vitest 41,061 API tests in 57 suitesReal PostgreSQL, no mocks
Ops
DockerCoolifynginxCloudflareNightly backups at 02:00 Nepal time
Languages
EnglishNepali in DevanagariBikram Sambat and AD dates

07Engineering

Engineering Decisions Behind Prishta

Six decisions that shaped Prishta, each from how a Nepali school actually works.

01

A Missing Mark is Never a Zero

An unassessed objective or a subject not sat is left out of averages, ranks and pass counts, and named in a warning. In a spreadsheet it becomes a zero that can turn a good student into an NG.

02

Results That Cannot Drift

The master ledger freezes each section’s term and stores the whole class ledger, so a card reprints years later exactly as signed. Reopening needs a written reason, and is refused while its cards are with parents.

03

Nepal’s Today, Not the Server’s

Nepal is UTC+05:45, so for almost six hours a day the UTC date is still yesterday, which once kept the morning register shut until 05:45. Every date check now uses Nepal’s calendar.

04

A Calendar Checked Against the Real One

The first Bikram Sambat table drifted a day by BS 2075 and two from 2081, silently. It was rebuilt with tests against the published New Year dates, so a bad row now fails the build.

05

Parents Sign in with an Access Code

Many guardians have no email on file, and siblings share one phone, so neither can be a login. Parents use a code the school hands over, and see only the children linked to them.

06

A Ledger Fast Enough for a Whole School

The budget is 500 students in under two seconds. Each view loads in four indexed queries and does the maths in memory, and the suite measures under 300 ms. That is careful database design at work.

Security Built Around the Tenant Boundary

Prishta holds children’s marks, so access is narrow by default, as in the APIs and QA testing I do for clients.

  • Every request checked against the caller’s own school
  • Teachers reach only their assigned subjects and sections
  • Staff permissions can only narrow access
  • A deactivated account stops on its next request
  • Sign-in locks for 15 minutes after 10 failed attempts
  • Every submission, approval, lock and unlock is audited

08Pricing

Prishta Pricing for Schools in Nepal

Prishta is priced per student and billed yearly. The site lists a Starter plan at Rs 200 per student per year for primary CAS, a School plan at Rs 100 for grades 1 to 10 with locked marks and the parent portal, and a custom Network plan from 1,000 students.

Any plan can be tried free for 30 days with one class, with no payment details needed.

Prishta pricing: Starter, School and Network plans, priced per student per year
Per-student plans and the free trial, as listed on prishta.com.

09Status

Where Prishta Stands Today

Prishta is live at prishta.com, brought to schools by Ektukra Digital Agency, where I work as a full-stack web developer.

Live, with a 30-day free trial

It is the most complete product I have worked on: five audiences, two assessment schemes, a ledger that cannot drift and 1,061 tests against a real database.

What I’d Do Next

  1. Timetables and exam schedules, which the office plans right after marks.
  2. The ledger as an Excel workbook; it exports to CSV today.
  3. Server-side PDF report cards that shape Devanagari as well as the browser.

FAQ: Prishta School Assessment Software

What CAS is, how Prishta grades and locks results, and what it costs a school.

Ask me on WhatsApp

What is Prishta?

Prishta is continuous assessment and report card software for Nepali schools, grades 1 to 10, live at prishta.com. Teachers rate objectives or enter marks, the office reviews and locks them, and families read bilingual report cards online. I worked on it at Ektukra Digital Agency, from code review, fixes and tests to the Docker deployment that serves prishta.com.

What is CAS in Nepal?

CAS is the Continuous Assessment System used in Nepali schools. Teachers assess learning objectives through the term instead of judging a child on one exam. For grades 1 to 5, the CDC framework uses nine CAS parameters and a 4-3-2-1 rating scale.

Does Prishta Follow the CDC Framework?

Yes. Grades 1 to 5 come set up with the nine CDC CAS parameters and the 4-3-2-1 rating scale, with up to 20 learning objectives a subject, each tagged to one parameter. A school can rename parameters, and marks already awarded are never rewritten.

How Does Prishta Mark Grades 6 to 10?

Grades 6 to 10 use theory and practical marks, graded on the NEB letter bands from A+ to NG under the Letter Grading Directive 2078, with NG below 35%. Each subject has its own pass mark, and a subject not sat is left out of the average.

Can a Teacher Change Marks After Report Cards Go Out?

Not alone. Pushing a report card locks the marks behind it. Changing one needs the office to unlock it with a written reason, which pulls the card back from parents until it is pushed again. Every lock, unlock and change is in the audit log.

Does Prishta Support Nepali and Bikram Sambat Dates?

Yes. Names, objectives, remarks and subjects can be typed in Devanagari, and report cards print them correctly. Dates show in Bikram Sambat first, then AD. The parent portal switches between English and Nepali, and ledger exports keep Nepali names readable in Excel.

Can Parents See Report Cards Online?

Yes. When the school pushes report cards, each family is notified and reads the card on the parent portal, with attendance, remarks and notices. Parents sign in with a school-issued access code, see only their own children and never see the class rank.

How Much Does Prishta Cost?

Prishta is priced per student and billed yearly. The site lists a Starter plan at Rs 200 and a School plan at Rs 100 per student per year, plus a custom Network plan from 1,000 students. Any plan can be tried free for 30 days with one class.

Can You Build School Management Software for My School?

Yes. I build SaaS products and custom management software like Prishta for clients in Nepal and abroad. A first SaaS version starts from NPR 70,000 and usually takes 6 to 12 weeks, and custom systems are quoted per module. See SaaS development for details.

Planning Software Like Prishta?
I’ll Send a Fixed Quote.

Send a short note about your school or product and your budget. I reply within one working day with questions or a first estimate.

Ujjwal RupakhetiReplies within one working day

What are you planning?

Opens WhatsApp with your message started.