The Gap — Fragmented Cultural Texts
Books widely available online but suffers from poor presentation. Scanned PDFs, broken government web portals, and unformatted databases make reading these texts difficult. I wanted to build a dedicated digital space for downloading these works.
The Strategy — Focused Scope & Bi-directional Layouts
A common pitfall of cataloging projects is scope creep. Attempting to build a general digital library would result in an endless archiving problem. Instead, I narrowed the focus: I selected a few public-domain classical poetry collections to build a high-fidelity reading layer rather than a vast inventory.
"In digital curation, content structure dictates interface design. The biggest challenge was formatting the bi-directional layout so Urdu Nastaliq script aligns fluidly with English commentary without breaking visual balance."
Focusing on typography, font scaling, and reading comfort proved to be a more valuable project goal than attempting to index thousands of unformatted texts.
The Interface — Urdu Nastaliq & Distraction-Free Grids
I will designed a minimalist, dual-column reading interface. The right column displays the primary Urdu verse styled with optimized Nastaliq web fonts, while the left column renders the corresponding translation and annotations in a clean, sans-serif font.
The Content Trap — Curation vs. Code
Writing the HTML and CSS for a responsive reading layout took only a few days. The real challenge lay in the content itself: verifying translations, structuring annotations, and formatting the verses.
"It is easy to build a reader; it is incredibly hard to curate a corpus. I realized that data curation is a scholarly discipline of its own, requiring far more effort than writing frontend code."
Structuring text files into structured JSON layers taught me that the complexity of a software product often lies in the data it processes, not the code that displays it.
Retrospective — Depth Over Breadth
If I were to rebuild this project, I would focus on perfecting a single collection's annotation layer before building out the library shell. Creating a highly detailed reading experience for one text, rather than a broad index, would have provided a more immediate proof of concept.