0%
balqalam Logo
balqalam
FeaturesCommunityPricingDocumentation
Login
  • Introduction
  • Help center
  • Common questions
  • Pitch
  • Balqalam
  • Live Demo
  • MVP
  • Roadmap
  • Launch Sprint
  • PRD
  • Marketing Brief
  • Sales
  • Go-to-market
  • Marketing
  • Product Truth
  • Audience & Markets
  • Offer & Funnel
  • Claim Registry
  • Content System
  • Channels & Calendar
  • 90-Day Plan
  • Workflow & Templates
  • Measurement
  • Growth Editor Agent
  • Admission — Feature Spotlight
  • Pilot Program
  • Leads
  • Proposal
  • Outreach Templates
  • Case Study
  • Competitors
  • Landing-page teardown
  • Competitor FAQ
  • Business model
  • Shared economy
  • Traction
  • Get Support
  • Investor Deck
  • Data Room
  • Investors
  • Accelerators
  • Incubators
  • Grants
  • Sponsors
  • Partners
  • Competitions & Hackathons
  • Universities & Training Centers

MVP

PreviousNext

Balqalam current shipped state — 14 epics with maturity badges, plus what's schema-only and what's not built.

A snapshot of what's actually built today. For requirements see PRD; for direction see Roadmap. The MENA-10 pilot cohort runs on what is Built and Built+Polish below — see Pilot for the offer terms.

Maturity badges

BadgeMeaning
BuiltShipped end-to-end with backend, UI, i18n, tests
Built+PolishShipped with known polish or migration in flight
In ProgressBackend or UI partial; tracked actively
Schema OnlyPrisma model exists, no UI yet
VaporwareDictionary strings only, zero code

Epics at a glance

EpicMaturityDoc
01 — InfrastructureBuilt+Polish/docs/architecture
02 — AuthenticationBuilt/docs/authentication
03 — ConfigurationBuilt/docs/onboarding
04 — PeopleBuilt/docs/students
05 — AdmissionBuilt/docs/admission
06 — AttendanceBuilt+Polish/docs/attendance
07 — Exams and gradingBuilt/docs/exams
08 — TimetableBuilt/docs/timetable
09 — Finance and billingBuilt/docs/fees
10 — CommunicationBuilt/docs/messages
11 — Lumos / LMSBuilt+Polish/docs/catalog#us-curriculum
12 — LibraryBuilt/docs/library
13 — TransportBuilt/docs/fees
14 — CatalogBuilt+Polish/docs/catalog

01 — Infrastructure · Built+Polish

The multi-tenant foundation. See Architecture and Multi-tenancy.

  • Hundreds of Prisma models across many schema files; schoolId scoping on every tenant model.
  • Subdomain routing via Next.js 16 edge proxy.ts.
  • Custom-domain mapping via Upstash Redis.
  • Vercel + Neon (PostgreSQL serverless) + AWS S3 + CloudFront (cdn.databayt.org).
  • Sentry monitoring; gracefully no-op without DSN.
  • Daily cron jobs for notifications, reminders, fee overdue, cleanups.
  • Playwright suites for auth, multi-tenant, RBAC, smoke.
  • Bundle hygiene: outputFileTracingExcludes keeps serverless functions under Vercel's 300 MB limit.

02 — Authentication and users · Built

NextAuth v5 with email + OAuth + 2FA + invitations + audit. See Authentication.

  • NextAuth v5 (beta.30), JWT strategy, multi-tenant Prisma adapter.
  • Email + password (bcrypt cost 12); OAuth Google, Facebook.
  • 2FA via TwoFactorToken + TwoFactorConfirmation.
  • 8 roles: DEVELOPER, ADMIN, TEACHER, STUDENT, GUARDIAN, ACCOUNTANT, STAFF, USER.
  • CASL abilities (@casl/ability + @casl/prisma) for fine-grained authz.
  • Password reset, email verification, session auto-renewal.
  • Per-role profile pages (admin / teacher / student / parent / staff).
  • Invitations: src/lib/invitation-utils.ts, accept-invite/page.tsx, daily expire-invitations cron.
  • AuditLog model + brute-force protection via LoginAttempt.
  • Compliance models: LegalConsent, LegalDocument, ComplianceLog.

03 — Configuration · Built

15-step onboarding wizard creates schools end-to-end. See Onboarding.

  • Steps: about-school · title · description · location · stand-out · capacity · branding · import · finish-setup · join · visibility · price · discount · legal · subdomain · congratulations.
  • School model with year, term, period; YearLevel / AcademicLevel / AcademicGrade.
  • StreamType: GENERAL, SCIENCE, ARTS, COMMERCE, TECHNICAL, RELIGIOUS.
  • Configuration editors at school/configuration/ for branding, capacity, discount, domain, hero, legal, location, modules, name format, plan, price, schedule, title, visibility.
  • Logo upload, color picker, theme (UserTheme), timezone.
  • Custom-domain request flow.

04 — People · Built

CRUD for the four people types. See Students, Teachers, Listings.

EntityWizard stepsHighlights
Students12Personal, contact, fees, enrollment, location, health, academic, prior education, guardian, attachments, photo. 8-tab profile. CSV bulk import.
Teachers9Information, contact, employment, expertise, qualifications, experience, location, photo, attachments.
Parents / GuardiansMulti-stepInformation, contact. Link-child action.
StaffFull CRUDStaffMember, StaffAccessCard, StaffSalaryStructure, StaffSalarySlip, StaffTimesheetEntry.

Status transitions: enrolled, transferred, graduated. Bulk export, photo uploads to S3 + CloudFront.

05 — Admission · Built

Public-facing portal with AI document review and automatic enrollment conversion. See Admission.

  • 9-step public application: personal → contact → location → academic → fees → attachments → offer → payment → success.
  • Auto-save with ApplicationSession resume.
  • OTP-verified status tracker — applicants check status without an account.
  • AI in school-dashboard/admission/ai/: classify.ts, completeness.ts, merit-engine.ts, bank-receipt extraction.
  • Tour booking (TourBooking) with admin time-slot management.
  • Acceptance flow: admissionOffered, offerDate, offerExpiryDate, offerAccepted.
  • One-transaction enrollment conversion via provisionStudent.
  • Merit ranking; AdmissionCampaign with date-range picker.
  • Multi-gateway fee payment — see Epic 09.
  • Notifications (email + WhatsApp + push) on every status transition.

06 — Attendance · Built+Polish

Daily attendance with multiple capture modes. Section-centric migration in flight. See Attendance.

  • 11 AttendanceMethod modes: MANUAL, GEOFENCE, QR_CODE, BARCODE, RFID, FINGERPRINT, FACE_RECOGNITION, NFC, BLUETOOTH, BULK_UPLOAD, KIOSK.
  • Many routes including manual, kiosk, bulk-upload, QR, barcode, geofence, hall-pass, intentions, excuses, letters (auto-gen), interventions, gamification, early-warning, AI, analytics, reports.
  • Models split across attendance.prisma, attendance-enhanced.prisma, geo-attendance.prisma.
  • Status: present / absent / late / excused; parent absence notifications + late-arrival tracking.
  • Trend analytics, monthly summaries, class / student reports.
  • Section-centric migration In Progress — see .bmad/planning/architecture-section-timetable-attendance.md.

07 — Exams and grading · Built

End-to-end assessment lifecycle. See Exams and Exam wizard.

  • Many models across exam.prisma, school-exam.prisma, school-qbank.prisma, quiz.prisma, quiz-game.prisma, quick-assessments.prisma, grading-scheme.prisma, school-assignment.prisma, progress-reports.prisma.
  • Exams scheduled by type: midterm, final, quiz, mock.
  • Question bank with AI generation, source-material chunking, analytics, review workflow.
  • Paper generation with cover / header / footer / question-type templates.
  • Marking with rubrics + criteria + grade boundaries + overrides.
  • Report cards, grades, transcripts (PDF + CSV).
  • Certificates with verify-by-code at /certificate/[shareToken] and /verify/[code].
  • Promotion workflow: PromotionBatch, PromotionCandidate, PromotionPolicy, Transcript.

08 — Timetable · Built

Visual builder with conflict detection. See Timetable.

  • Drag-and-drop period scheduling with break management.
  • Room allocation with RoomConstraint.
  • Conflict detection across teachers, rooms, students.
  • Per-teacher / per-class / per-room views.
  • Substitutions (SubstitutionRecord); teacher constraints + unavailable blocks.
  • Generation engine with conflict resolution; templates (TimetableTemplate, TemplateApplication).
  • Schedule exceptions, analytics, PDF / print export.

09 — Finance and billing · Built

Comprehensive finance — much larger than typical MVP. See Fees and Invoice.

  • Many models across multiple finance schema files.
  • Double-entry bookkeeping — ChartOfAccount, JournalEntry, LedgerEntry, AccountBalance, FiscalYear.
  • 6 payment gateways in src/lib/payment/providers/: Stripe, bankak, tap, bank-transfer, cash, mobile-money.
  • Banking — Plaid + Dwolla; BankAccount, BankReconciliation, Transaction, Transfer, PlaidItem, DwollaCustomer.
  • Fees — FeeStructure, FeeAssignment with installment timeline, Payment, Refund, Scholarship, ScholarshipApplication, Fine.
  • Invoicing — UserInvoice with line items, addresses, signature, settings.
  • Receipts — PDF via @react-pdf/renderer.
  • Payroll — PayrollRun, SalaryStructure, SalarySlip, SalaryAllowance, SalaryDeduction, TimesheetEntry, TimesheetPeriod.
  • Budget — Budget, BudgetAllocation, Expense, ExpenseCategory, Wallet, WalletTransaction.
  • School-level subscriptions — Subscription, Invoice, BillingHistory, BillingPaymentMethod, BillingPreferences, SubscriptionTier, UsageMetrics, Discount, AppliedDiscount, CreditNote.
  • Reports + permissions — FinancialReport, FinancePermission.

10 — Communication and messaging · Built

Announcements, real-time messages, notifications, WhatsApp. See Messages.

  • Announcements (announcement.prisma): scope (school / class / role), priority, scheduled publishing, expiry, pinned / featured, read receipts, templates.
  • Messages (messages.prisma): Conversation, ConversationInvite, ConversationParticipant, Message, MessageAttachment, MessageDraft, MessageReaction, MessageReadReceipt, PinnedMessage, StarredMessage, TypingIndicator. Realtime via custom Socket.io server (server.js).
  • Notifications (notifications.prisma): in-app + email + push.
  • WhatsApp (whatsapp.prisma) — full Evolution API bridge with retry + exponential backoff.
  • React Email templates in src/lib/email-templates/.
  • Daily cron jobs deliver scheduled comms.

11 — Lumos / LMS · Built+Polish

School-scoped LMS. US cover-asset wave partial. See US curriculum.

  • Models in stream.prisma: StreamCourse, StreamCategory, StreamChapter, StreamLesson, StreamEnrollment, StreamLessonProgress, StreamCertificate, StreamAttachment.
  • Admin course CRUD + categories; Tiptap rich-text editor.
  • Video player with progress; student enrollment + completion certificates.
  • Stripe payment flow (cancel / success); per-school storage quota (videoStorageUsedBytes / videoStorageQuotaBytes).
  • source CDN partial — a small fraction of lessons downloaded; rest fall back to source CDN. Tracked in Roadmap.

12 — Library · Built

Catalog, contribute, borrow records, school admin. See Library.

  • Components in src/components/library/: admin, book-detail, book-list, catalog, contribute, my-profile.
  • Models: Book, Textbook, SchoolBook, BorrowRecord.
  • Browse + search + checkout for students; admin CRUD + circulation reports.
  • Per-school via SchoolBook while leveraging the global Book / Textbook catalog.

13 — Transport · Built

Drivers, vehicles, routes, geofence boarding, parent notifications. Production-ready as of 2026-05.

  • 9 Prisma models (transportation.prisma): Vehicle, Driver, Route, RouteStop, RouteAssignment, Trip, TripBoarding, TransportationSettings, SchoolApiToken.
  • 5 surfaces: writable Settings, /transportation/me (STUDENT/GUARDIAN), /transportation/fees (ACCOUNTANT), POST /api/transportation/geofence-boarding (Bearer-token webhook), plus the admin/staff console (drivers, vehicles, routes, trips, assignments, reports).
  • dnd-kit drag-and-drop stop ordering.
  • Geofence-linked boarding with parent notifications on board / disembark.
  • Mapbox + Leaflet for route visualisation.
  • Trip reports: utilisation, hours, trip stats, fee preview.
  • Demo seed: 5 vehicles, 5 drivers, 5 routes × 4 stops, 147 assignments, 92 trips, 1092 boardings.
  • 67/67 tests green.
  • Block guide at src/components/school-dashboard/transportation/CLAUDE.md.

14 — Catalog · Built+Polish

Platform-wide educational content library. See Catalog.

  • Many models across catalog.prisma, curriculum.prisma, chapter.prisma, lesson.prisma, material.prisma, book.prisma, textbook.prisma, video.prisma, image.prisma, document.prisma, assignment.prisma, qbank.prisma, quiz.prisma, bridge.prisma, plus proposal.prisma, enrollment.prisma.
  • Bridge pattern (bridge.prisma) — schools subscribe to a shared catalog and apply ContentOverride, BookSelection, SubjectSelection, InstructorPreference.
  • 4 curricula on disk: SD (Sudan, 12 grades, bilingual subjects), US, IN, FR.
  • Operator dashboard at /[lang]/(saas-dashboard)/(catalog)/catalog/....
  • Community contribution workflow with Proposal (proposed → reviewed → approved → published).
  • US-curriculum source library: overview — 62 subjects, 240 grade-specific catalog records, three tiers (Elementary/Middle/High).

Not built yet

ModuleStatusNotes
HealthSchema OnlyHealthRecord on student profile, no clinic UI. Tracked in Roadmap.
HostelVaporwareDictionary mentions only
CafeteriaVaporwareDictionary mentions only
Native mobile (iOS / Android)VaporwareMobile web works today; React Native track in Roadmap

See also

  • Pilot — MENA-10 free cohort runs on what is Built above
  • Sales — B2B process this MVP supports
  • PRD — product requirements, architecture, NFRs, constraints
  • Roadmap — what's next and the long-horizon vision
  • Architecture — system design and patterns
  • Open issues — work queue
Live DemoRoadmap

On This Page

Maturity badgesEpics at a glance01 — Infrastructure · Built+Polish02 — Authentication and users · Built03 — Configuration · Built04 — People · Built05 — Admission · Built06 — Attendance · Built+Polish07 — Exams and grading · Built08 — Timetable · Built09 — Finance and billing · Built10 — Communication and messaging · Built11 — Lumos / LMS · Built+Polish12 — Library · Built13 — Transport · Built14 — Catalog · Built+PolishNot built yetSee also

Built by Databayt ·

Welcome to balqalam.

A great journey is about to begin.