Project Overview
Stand4Gaza is a managed talent platform connecting skilled Palestinian professionals with employers worldwide. Traditional job platforms lack the bilingual support and cultural sensitivity needed to serve talent in conflict-affected regions — this prototype demonstrates how that gap can be closed with dignity-first design.
The platform was built as a complete full-stack prototype: a React 19 frontend, an Express.js API, and a PostgreSQL database behind Drizzle ORM. All data is mock data, presented for demonstration and evaluation purposes.
Cultural identity is part of the product, not decoration: Tatreez patterns and a Palestinian-inspired visual language run through a fully bilingual English/Arabic experience.
Key Features
- Talent directory — searchable database of verified professionals with filters
- Employer pathways — registration and engagement flows for hiring organizations
- Candidate onboarding — registration and profile setup for professionals
- Success stories — impact testimonials and case studies
- Profile dashboard and access-controlled admin — account management and administration
- Complete bilingual experience — English and Arabic with automatic RTL/LTR layout switching
- Dark/light mode — theme switching with accessible, WCAG-compliant components
Technical Highlights
- Context-based i18n system — full translation coverage across all pages with language-aware content presentation
- Automatic RTL adaptation — layout direction, spacing, and component alignment adjust when Arabic is selected
- Component library — 40+ reusable UI components built on Radix primitives with strict TypeScript
- Performance — code splitting, lazy-loaded routes, and WebP image optimization
- Shared schema — a single Drizzle schema consumed by both client and server for end-to-end type safety
- Session authentication — Passport.js local strategy with Express sessions
- Serverless deployment — static frontend plus serverless API functions on Vercel
My Contributions
- Led the project as full-stack developer and team lead
- Designed the architecture: client application, Express API, and shared database schema
- Built the bilingual translation system and RTL layout adaptation
- Implemented the 40+ component UI library on Radix primitives
- Built the API routes, database storage layer, and session-based authentication
- Configured the Vercel deployment: static assets plus serverless API entry point
Challenges & Solutions
Challenge: Arabic support had to be a first-class experience — not a bolt-on translation layer — across every page, component, and layout.
Solution: A context-based translation provider with complete key coverage, paired with bidirectional-aware components that automatically mirror layout, spacing, and alignment when the language switches.
Result: Every section of the platform works fully in both English and Arabic, with correct RTL rendering and culturally appropriate presentation throughout.
Tech Stack
Frontend: React 19, TypeScript, Vite, Tailwind CSS 4, Radix UI (shadcn/ui), Framer Motion, Lenis, Wouter, TanStack Query
Backend: Express.js, Node.js, Passport.js
Database: PostgreSQL, Drizzle ORM
Infrastructure: Vercel (static frontend + serverless API)
Tools: React Hook Form, Zod, pnpm