← All case studies
Ebenezer LMS

Custom Software · Education / LMS

Ebenezer LMS

Custom learning-management platform for a faith-based business academy

Built in 2025 · Live in production

Ministerio Sabiduría Empresarial, operated by Iglesia de Cristo Ebenezer Honduras, trains cohorts of students in faith-integrated entrepreneurship across multiple academic cycles. As enrollment grew, their no-code platform (Bubble.io) became a ceiling — limited data modeling, unpredictable costs, no offline capability. Ozer Tech Solutions rebuilt it as a fully custom Next.js application: 18 database tables modeling every workflow, 6 scoped role tiers, and two isolated environments — at a ~$10/month hosting target.

The product on screen

The Challenge

Running a faith-based academy is not a standard use case — the software had to understand the ministry's language, processes, and people hierarchy:

  • ▸Pastoral-care model — students are organized into rebaños (flocks) guided by pastoreadores and supervised by coordinadores; all data access is strictly scoped to each supervisor's flock.
  • ▸Multi-modal attendance — in-person via QR scan of a physical ID card, and virtual via auto-log when a student joins the live link, with a recovery workflow for excused absences.
  • ▸Re-enrollment logic — returning students register by national ID (DNI); the system pre-fills their profile and creates a new enrollment without duplicating the record.
  • ▸Performance-based diplomas — eligibility computed from attendance, recoveries and assignments; an Excellence diploma requires zero absences and no recoveries, enforced by business logic.

The Solution & key modules

Built as a fully custom Next.js 15 app (server components + server actions) over PostgreSQL — full control of the data model, workflows and cost. Spanish-only UI, role-based access mirroring the pastoral hierarchy, and an offline-queued QR scanner so attendance is never lost to connectivity.

  • ▸Enrollment wizard with DNI lookup for re-enrollment; QR attendance scanner with offline queue; auto-balanced rebaños management.
  • ▸Date-gated tasks & submissions with grading and recovery approval; payments & receipts (Pending → Verified, audited PDFs).
  • ▸Diploma engine (auto-computed eligibility, Excellence tier, per-category PDF templates); multi-tab reports & analytics with PDF export; a DNI-login student portal.

Access control

Every query is scoped at the database level across six roles — a Pastoreador only sees their own flock; a Coordinador sees the flocks under them; Asistencia sees only students of their gender in the active cycle:

  • ▸SuperAdmin (Ozer) · Admin · Coordinador · Pastoreador (read-only “Mi Rebaño”) · Asistencia (gender-scoped attendance) · Estudiante (own data only).

Architecture & results

  • ▸Next.js 15 · PostgreSQL on Railway (Drizzle ORM) · Auth.js v5 (role-based JWT) · Cloudflare R2 (private buckets, presigned URLs) · Vercel · SendGrid · isolated Production + Training environments — at ~$5–10/month.
  • ▸Removed no-code constraints, enabled offline attendance, gave the ministry full data ownership, and eliminated manual filtering via role-based access.
  • ▸The codebase is structured for a future fork into a multi-tenant SaaS — to offer the same LMS to other faith-based organizations without rebuilding from scratch.

Technology

Next.js 15PostgreSQL · RailwayDrizzle ORMAuth.js v5Cloudflare R2VercelSendGridTypeScript

Have a project in mind?
Tell us about it.

Start the conversation →