Skip to content
Nile Code

Engineering work

Selected systems we have designed and built, described by the engineering they needed.

Nile Code Education Platform

A multi-tenant education management platform, built and operated by Nile Code and running in production for real learning centres.

Visit Nile Code LMS

  • Every query scoped to one centre, with composite foreign keys so a row can never reference another centre's data.
  • Business rules held by the database where it can hold them: partial unique indexes, exclusion constraints on timetables, triggers for invariants a CHECK cannot see.
  • An append-only fee ledger with receipts, waivers and a payment gate that opens access in the same transaction as the payment.
  • Periodic jobs coordinated by PostgreSQL advisory locks, each idempotent and bounded by a look-back window.
  • Scheduling, live classes with host-supplied meeting links, attendance, exams with automatic marking, and certificates.
  • Stateless signed-cookie sessions; no token stored in the browser.

Engineering areas

  • Go
  • PostgreSQL
  • Next.js
  • Multi-tenancy
  • Role-based access
  • Bilingual RTL/LTR

Cloud asset processing platform

Ingesting and processing media from Google Drive and Dropbox, reliably, at the pace the cloud APIs allow.

Engineering areas

  • Go
  • PostgreSQL
  • Redis
  • OAuth
  • Cloud APIs
  • Persistent queues
  • Deduplication
  • Retry handling
  • Media processing

Real-time systems

Backends where data arrives continuously and has to be answered as it arrives.

Engineering areas

  • WebSockets
  • Streaming
  • AI services
  • Asynchronous processing
  • Real-time communication

Document processing

Pipelines that take PDFs and images in and hand structured, validated data to downstream APIs.

Engineering areas

  • Structured extraction
  • AI processing
  • Validation
  • Caching
  • Human review
  • Downstream APIs

Have a system that has to be right?

Tell us where the data moves and where it goes wrong. The first conversation is technical: the systems involved, the boundary that matters, and what a first sprint would produce.

Discuss an engineering problem