Back to all case studies
Full-Stack Web AppOpen Source2025

Gabay Keeper

A private digital archive for Somali oral poetry with OCR and visual export.

Sole Developer & Designer Evidence-led build notes

100%

OCR in-browser

Printed text is processed locally by Tesseract.js.

1:1

document ownership

Each archive document is scoped to its authenticated owner.

3

preservation paths

Metadata entry, OCR capture, and visual card export.

01 / Visual evidence

Screenshots and workflow

Gabay Keeper digital poetry archive interface

Archive workspace

Structured poetry records with genre, alphabet, notes, and ownership context.

sanitized view

Preservation workflow

OCR and visual export support a private path from printed page to shareable artifact.

02 / System design

Architecture diagram

System flow
PUBLIC VIEW
01

Reader

  • React interface
  • Search and filters
  • Dark-mode reading
02

User-owned data

  • Firebase Auth
  • Firestore rules
  • Per-user documents
03

On-device tools

  • Tesseract.js OCR
  • html-to-image
  • Visual poem cards

A client-led archive uses Firebase as the identity and document layer while OCR and card generation stay inside the user’s browser.

Evidence

Sanitized report

Sanitized privacy review for the archive workflow. Personal poems, account identifiers, and OCR output are excluded.

Document ownershipPer-user rule enforcedPASS
OCR processingBrowser-sidePASS
Export pathGenerated locallyINFO
Backend serverNot requiredINFO
DATA CLASS: user-owned cultural archive
CONTROL: Firestore ownership rules
REDACTION: poem text, account IDs, and image payloads removed

03 / Verification

Testing methodology

01

Define the ownership model

Started with the rule that a signed-in user can read and write only their own archive documents.

02

Test privacy-sensitive flows

Exercised sign-in, record creation, filtering, OCR import, footnotes, and export with empty and malformed inputs.

03

Validate the client boundary

Reviewed network assumptions, Firestore rules, offline UI states, and long-form reading behavior across screen sizes.

04 / Ownership

What I personally contributed

Clear ownership matters in security work. These are the decisions and deliverables I directly handled for this project.

  • Sole developer and designer from information architecture through implementation.
  • Designed the privacy model and wrote the Firebase Security Rules.
  • Built the archive, filters, footnotes, OCR flow, and visual export pipeline.
  • Made the reading experience responsive, accessible, and optimized for dark mode.