Builds

Digital Library

A distraction-free web reader for classical Urdu literature and synchronized commentaries.

Digital Library Workspace Overview

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.

Library Reader Panel
System State Live
Architecture Static Web App
Deployment Netlify

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.