Logo Lanfrica

iamnortey/prepnest-docs

Domain:

education

Record type:

software
Creator:
iam
Host:
Prepnest — offline-first WASSCE Study OS for Ghana. Public architecture and design docs; the app is private and pre-release. # Prepnest > Offline-first WASSCE Study OS for Ghana — architecture and design documentation. Prepnest is an independent product. It is **not affiliated with or endorsed by WAEC**, and it does not distribute official examination material. --- ## What It Is Prepnest is a mobile study companion for students preparing for the WASSCE in Ghana. The whole product is built around one constraint that matters in this market: **it must work without internet**, on mid-range Android phones, with data costs near zero after install. Three principles drive the design: | Principle | What it means in the product | |---|---| | **Offline-first** | The study library, search index, and all personal study state live on the device. No account required to study. | | **Governed content** | Every study item passes through a governed pipeline — sourcing, human examiner review, and release gates that fail closed. Content that hasn't cleared review does not ship. | | **Honest UX** | The app never fakes availability. If a paper, narration, or answer isn't ready, the interface says so plainly instead of showing empty promises. | The concept in one picture — a student studying offline, the on-device engine behind the app, and the governed pipeline study material must pass before it ships: Beginner-friendly overview. The Architecture diagram below is the more technical view. PNG fallback: `diagrams/prepnest-concept.png` --- ## Architecture ```mermaid flowchart TB subgraph Pipeline["Governed Content Pipeline (private)"] SRC[Curriculum-aligned sourcing] --> REV[Human examiner review] REV --> GATE{Release gates fail closed} end GATE -->|released content only| DB[(Bundled SQLite content database)] subgraph App["Mobile App (Expo / React Native)"] DB --> FTS[Local full-text search] DB --> READ[Lesson reader · practice questions formulas · glossary] STATE[(Local-only user state notes · highlights · saved items)] --- READ FTS --> READ end subgraph Media["Media Factory (private)"] MANI …