04•Bilingual Web Application · PWA•2026

Yemen Opportunities Portal

A bilingual opportunity discovery platform with search, filtering, favorites, deadline information, Arabic RTL support, responsive design, and offline PWA capabilities.

50

Opportunities

43

Unique Sources

360px

Mobile Ready

Yemen Opportunities Portal project visual

01

The Problem

Opportunity information is often scattered and difficult to browse efficiently, especially when users need bilingual content, filtering, deadlines, and mobile access.

02

The Solution

A responsive Arabic/English Progressive Web Application that organizes curated opportunities into a searchable and filterable interface with favorites, deadlines, RTL support, and offline access.

03

My Role

Sole developer. I built the opportunity data structure, bilingual user experience, search and filtering, favorites, deadline presentation, responsive design, offline PWA behavior, and GitHub Pages deployment.

04

Architecture

01

Curated opportunity dataset

02

Structured opportunity metadata

03

Search and filtering

04

Favorites

05

Deadline handling

06

Arabic / English interface

07

RTL / LTR presentation

08

PWA and offline layer

09

GitHub Pages deployment

05

Key Highlights

Arabic and English interface
RTL support
Responsive mobile experience
Search and filtering
Favorites
Deadline information
Offline PWA support
No unsafe innerHTML usage

06

Results

✓

50 curated opportunities

✓

43 unique sources

✓

Responsive behavior verified at 360px

✓

Offline PWA functionality

✓

Public GitHub Pages deployment

07

Challenges

Maintaining a consistent interface across Arabic RTL and English LTR layouts

Designing for small mobile screens

Providing useful offline behavior

08

What I Learned

Product quality includes accessibility, responsiveness, offline behavior, and localization—not only application logic.

Bilingual interfaces require structural RTL considerations rather than simple text translation.

Technology

Tech Stack

JavaScriptPWAResponsive DesignBilingual UIRTLGitHub Pages

Explore

Explore the implementation.