Adlwise
Adlwise (Justice and Wisdom) is the home of Dr. Hafiz Haseeb's work on Quran tafseer, Seerah, Iqbal, and constitutional questions. It holds 500+ lectures searchable in Urdu and English.

Fig 1.0 — Adlwise
Why engineer a custom digital platform instead of relying on YouTube playlists?
Dr. Hafiz Haseeb teaches the Quran, Seerah, and Iqbal with traditional rigor, and reads them as a living framework for Pakistan's political and constitutional questions. Hundreds of hours of that work sit on YouTube, where the algorithm buries it, search is weak, and WhatsApp groups scatter the rest.
Tools like WordPress, Ghost, and Substack are not built for Urdu and Arabic. They struggle with search that ignores accent marks, they don't understand Quran references like 2:255 (Ayat ul Kursi), and they can't organize multi-part lecture series well.
So we built Adlwise: a site that adds new lectures automatically, searches instantly in your browser, and displays Urdu, Arabic, and English text together in a way that is comfortable to read.
Constraints
The system architecture was not chosen in an unconstrained vacuum. Each structural decision emerged directly from four non-negotiable technical boundaries.
URDU AND ARABIC SPELLING
The same Urdu or Arabic word can be typed several ways, with or without accent marks and with look-alike letters. Normal search misses results.
We made search treat all these versions as the same word, so people find the right lecture however they type.
FAST SEACH WITHOUT EXTRA COST
Relying on external paid hosted search engines (Algolia, Meilisearch) introduces delay, monthly costs and dependency.
Search runs inside the visitor's browser, so results show up instantly across all lectures, notes, and articles at no running cost.
KEEPING THE LIBRARY UPDATED
Typing in 200+ lectures by hand, with titles, thumbnails, and descriptions, is too much for a small team.
Scripts pull lecture details from YouTube, check for missing or broken items, and update the website automatically.
THREE SCRIPTS, ONE PAGE
Urdu Nastaliq, Quranic Arabic, and English serif fonts look uneven when placed together.
We tuned font sizes, spacing, and line heights on every screen size so the text reads calmly, like a book.
System Architecture
The site is built to be simple and fast. Behind the scenes, scripts collect and check lecture information from YouTube. On the website, visitors browse ready-made course pages and use instant search across English, Urdu, and Quran references.
Subsystem Decomposition
Automatic Lecture Updates
Collects each video's details from YouTube and checks that nothing is missing.
Bilingual Search
Lets visitors search lectures in Urdu, Arabic, or English, with filters by category.
Course Pages
Organizes lectures into clear learning paths: Lisan ul Quran, Surah by Surah, and the Majlis archive.
Application Form
Lets students apply to join offline Majlis gatherings and study groups.
Making Search Work in Urdu and English
Look-alike letters, accent marks, and invisible characters were quietly breaking search.
We tested searching lectures titled in both English and Urdu, such as 'سورۃ کہف کی تفہیم' and 'Surah Al-Kahf'. A search for 'کہف' failed if it was typed with a slightly different letter. People searching by Quran reference, like '2:255' or 'Para 30', got no results at all.
Urdu and Arabic have several different characters that look identical on screen. Accent marks and invisible spacing characters also change the underlying text, so ordinary search treats matching words as different.
const ARABIC_DIACRITICS_REGEX = /[\u064B-\u065F\u0670\u06D6-\u06ED]/g;
const ZERO_WIDTH_REGEX = /[\u200B-\u200D\uFEFF]/g;
const ALEF_VARIANTS_REGEX = /[\u0622\u0623\u0625\u0671]/g;
const HEH_VARIANTS_REGEX = /[\u0629\u06C2\u06C3\u06BE]/g;
const YEH_VARIANTS_REGEX = /[\u064A\u0649\u0626]/g;
const KAF_VARIANT_REGEX = /\u0643/g;
export function normalizeUrduArabic(text: string | undefined | null): string {
if (!text) return "";
return text
.replace(ARABIC_DIACRITICS_REGEX, "") // Strip short vowels/A'raab
.replace(ALEF_VARIANTS_REGEX, "\u0627") // Normalize all Alef forms to ا
.replace(HEH_VARIANTS_REGEX, "\u06C1") // Normalize Heh variants to ہ
.replace(YEH_VARIANTS_REGEX, "\u06CC") // Normalize Yeh forms to ی
.replace(KAF_VARIANT_REGEX, "\u06A9") // Normalize Arabic Kaf to Urdu ک
.replace(ZERO_WIDTH_REGEX, "") // Strip invisible joiners
.toLowerCase()
.trim();
}
export function tokenizeBilingual(text: string | undefined | null): string[] {
if (!text) return [];
return text
.split(/[\s,./\\;:'"[\]{}|!@#$%^&*()_+=\-–—؟،۔«»‹›"“”'‘’`~]+/u)
.map((token) => token.trim())
.filter((token) => token.length > 0);
}
Fig 2.0 — Searching in English and Urdu, with results appearing instantly.
We added a cleanup step that standardizes letters and removes accent marks, plus a Quran reference finder. Searching '2:255' or 'Baqarah' now brings up the right lectures automatically.
Building search for Urdu and Arabic showed us that text is more than characters. It carries a whole culture, and tools built for English will not respect it by default.
Catalog Check
Running the automatic check that confirms every lecture has complete, correct information.
System Interface & Visual Evidence

Reflection
“The modern internet is optimized for immediacy and dopamine; classical thoughts need patience, order, and rigor.”
The hardest part of building this site was not the code. It was making a space that invites careful thought. Adl and Hikmah are the method as well as the name, and a site that feels like a social network would contradict both before the first paragraph is read.
So we left out recommendations, clickbait thumbnails, and extra widgets. Visitors get clear courses, Urdu-first typography, and search that simply works.
Adalwise taught me that building software can be a form of care: giving serious ideas a home that does them justice.
Collaborators
Faculty instructors, domain advisors, and engineering peers who supervised, reviewed, or contributed to this build.
Provided the lectures and course outline, checked the topic categories for accuracy, and guided the constitutional research.
Designed and built the website, the bilingual search, and the tools that update the lecture library automatically.
Interested in discussing this architecture?
I'm always open to technical dialogue, code reviews, and exploring system constraints.