Full-Stack Web Development

Enterprise Web Solutions

Building secure, bilingual web applications for Qatar-based businesses โ€” from internal employee tools to client-facing platforms

Bilingual (EN/AR) Firebase PHP/MySQL UX
Attendance Dashboard

Attendance Dashboard

Real-time attendance monitoring

VC Website Homepage

Website Homepage

Landing page hero section

Overview

My Role

Full-Stack Developer, UX-UI Designer

Duration

~6 weeks combined

Platforms

Web (Mobile-First)

Tools

HTML/CSS/JS, Firebase, PHP, MySQL, Figma

Two Projects, One Theme

This case study covers two distinct web projects I developed for Qatar-based businesses. While serving different purposes โ€” one internal, one external โ€” both share common challenges: bilingual support (English/Arabic), security requirements, and the need for mobile-responsive design that works for users with varying technical comfort levels.

Together, they demonstrate my range as a developer: from building internal tools that solve day-to-day operational problems, to creating polished client-facing platforms that represent a company's brand.

โฑ๏ธ

GPS Attendance System

An internal employee attendance management solution with GPS verification, ensuring employees are physically present when clocking in.

Internal Tool Firebase 10-20 Users
๐ŸŒ

Investor Club Website

A professional bilingual website for a Investor Club, handling startup applications with pitch deck uploads and investor inquiries.

Client-Facing PHP/MySQL Full RTL Support

Shared Challenges

๐ŸŒ

Bilingual Support

Both projects required full English/Arabic support for Qatar's diverse workforce and audience.

๐Ÿ”’

Security Requirements

Handling sensitive data โ€” employee locations, pitch decks โ€” demanded proper security architecture.

๐Ÿ“ฑ

Mobile-First

Users access both systems primarily via mobile devices, requiring responsive, touch-friendly interfaces.

โฑ๏ธ

Project 1: GPS Attendance System

Problem Space

What Was Broken

A Qatar-based company with 10โ€“20 employees was struggling with manual attendance tracking. Paper sign-in sheets led to lost records, and there was no way to verify if employees were actually present when they claimed. HR spent hours each week compiling data for payroll.

No location verification

Manual report compilation

No late arrival tracking

English-only system

Key constraint

I wanted a friction-free experience with zero installation or onboarding overhead. They just needed to open a link and check in. That led me to build a streamlined web app instead of a native one, utilizing Firebase for quick authentication and the browser's built-in Geolocation API.

Solution Space

How It Was Solved

I built a web-based attendance system with GPS verification. Employees check in via their mobile phones, and the system confirms they're within 200 meters of the office before recording their attendance. Late arrivals (after 9:05 AM) are automatically flagged and require a reason.

1

Employee logs in on mobile

Simple authentication via Firebase

2

GPS location verified

Must be within office radius to check in

3

Late detection with reason capture

Automatic flagging after 9:05 AM

4

Admin dashboard with reports

One-click PDF/CSV export for payroll

Employee Check-In Interface (Mobile)

Employee Check-In (Mobile)

Simple, touch-friendly attendance check-in interface

Key Features

๐Ÿ“

GPS Verification

200m radius check using Haversine formula. No check-in possible from outside the office.

๐ŸŒ

Bilingual Interface

Full English/Arabic support with language toggle. LTR layout preserved for data tables.

๐Ÿ“Š

One-Click Reports

Daily, weekly, monthly PDF reports with company branding. CSV export for payroll systems.

โฐ

Late Detection

Automatic flagging with mandatory reason capture. Creates accountability without manual tracking.

๐Ÿ”„

Real-Time Dashboard

Firestore onSnapshot listeners for live updates. No manual refresh needed.

๐Ÿงช

Testing Mode

Configurable flag to bypass time/location checks during development and QA.

Admin Dashboard

Admin Attendance Data Dashboard

Attendance Data Dashboard

Real-time attendance statistics and employee status overview

Attendance PDF Report

Attendance PDF Report

Automatically generated attendance reports ready for export

Admin dashboard providing real-time statistics, detailed attendance records with late status indicators, and downloadable PDF reports for payroll and compliance.

Build Process

How I Built It

The stack was chosen to keep infrastructure minimal while meeting the GPS, bilingual, and reporting requirements. I avoided back-end servers wherever possible โ€” Firebase handled auth and real-time data, while the Geolocation API and jsPDF ran entirely client-side.

๐ŸŒ

HTML5/CSS3

Frontend

โšก

Vanilla JS

No frameworks

๐Ÿ”ฅ

Firebase

Auth + Firestore

๐Ÿ“

Geolocation API

GPS Verification

๐Ÿ“„

jsPDF

Report Generation

๐Ÿ–ฅ๏ธ

cPanel

Hosting

๐ŸŒ

Project 2: Investor Club Website

Problem Space

The Challenge

A Qatar-based Investor Club firm needed a professional digital presence that reflected their unique brand identity rooted in Arabic coffee culture. They required bilingual functionality, secure handling of pitch decks, and a platform that worked equally well for Arabic-speaking founders and international investors.

Unique brand identity needed

Full RTL Arabic support

Secure document handling

What made this hard

RTL Arabic isn't just translating text โ€” it requires mirroring layouts, reversing directional elements (arrows, alignment), and ensuring typography choices hold up in both scripts. The client's brand was also abstract ("Arabic coffee culture") which needed to translate into concrete visual language.

Solution Space โ€” Diverge

Exploring Directions

The design went through multiple iterations based on client feedback, evolving from a busy logo-focused layout to a clean, editorial magazine-style design that better reflected the firm's sophisticated brand.

Iteration 1

Hero with Illustration circles โ€” rejected as too busy on mobile

Iteration 2

Bold typographic approach with brand colors

Iteration 3

Refined headline to reflect coffee culture story

Final โœ“

Editorial magazine-style with narrative sections

Solution Space โ€” Converge

Final Design

Website Homepage โ€“ English Version

Homepage โ€” English (LTR)

Left-to-right layout optimized for international audiences

Website Homepage โ€“ Arabic Version

Homepage โ€” Arabic (RTL)

Full right-to-left support with localized typography

Final bilingual website design featuring seamless language switching, fully mirrored RTL layouts, and a consistent visual identity across English and Arabic versions.

Build Process

Security Architecture

Handling sensitive pitch decks and investor information required a multi-layer security approach. Every security claim was personally verified through attempted access.

๐Ÿ“

Files Outside Web Root

Database credentials and pitch decks stored in /private directories, completely inaccessible via browser.

๐Ÿ›ก๏ธ

CSRF Protection

Token-based form submission preventing cross-site request forgery attacks.

โฑ๏ธ

Rate Limiting

3 submissions per 10 minutes prevents spam and abuse.

๐Ÿ”

Admin Lockout

5 failed login attempts = 30-minute IP lockout.

๐Ÿ“„

File Validation

Only PDF/PPT/DOC allowed, max 10MB. Server-side validation.

โš™๏ธ

.htaccess Rules

Server-level blocking of sensitive directories and files.

Bilingual Translation System

Rather than maintaining separate HTML files for each language, I built a centralized translation system using a single JavaScript file (translations.js) as the source of truth. This approach ensures consistency and makes updates straightforward.

How It Works

  • โœ“ Language toggle triggers instant UI transformation
  • โœ“ Layout direction flips to RTL for Arabic
  • โœ“ Arrows reverse direction (โ†’ becomes โ†)
  • โœ“ Preference saved in localStorage
  • โœ“ 100+ translation keys across all pages

// translations.js structure

const translations = {
  en: {
    hero_title: "Brewing Success",
    hero_subtitle: "Where tradition...",
    nav_startups: "For Startups",
    // 100+ more keys...
  },
  ar: {
    hero_title: "ู†ุตู†ุน ุงู„ู†ุฌุงุญ",
    hero_subtitle: "ุญูŠุซ ูŠู„ุชู‚ูŠ ุงู„ุชุฑุงุซ...",
    nav_startups: "ู„ู„ุดุฑูƒุงุช ุงู„ู†ุงุดุฆุฉ",
    // Arabic translations...
  }
};

Startup Application Flow

Startup Application Form

Startup Application Form

Multi-step form for startups to apply and submit key business information

1

Founder fills application form

2

CSRF token fetched

3

Server validates & stores

4

Pitch deck saved securely

5

Admin reviews in dashboard

Results & Impact

โฑ๏ธ

Attendance System

Manual tracking โ†’ GPS-verified check-ins
No location verification โ†’ 200m radius enforcement
Manual report compilation โ†’ One-click PDF/CSV
English only โ†’ Full EN/AR support
No late tracking โ†’ Auto-detection + reasons

Status: Live & Operational

๐ŸŒ

Website

Enhanced digital presence โ†’ Full Redesign + SEO optimization
English only โ†’ Full RTL Arabic support
Manual application handling โ†’ Secure form + admin panel
Security concerns โ†’ 9/10 security rating
Branding โ†’ Coffee culture identity

Status: Production Deployed

Lessons Learned

๐Ÿ“ฑ Mobile GPS Testing is Critical

Chrome desktop geolocation can be unreliable. Mobile devices are the preferred platform for GPS-dependent features.

๐ŸŒ LTR Layout for Data Tables

For data-heavy bilingual applications, keeping LTR layout while translating content prevents table organization issues.

๐Ÿ“ Single Source of Truth

Centralizing all translations in one JS file ensures consistency and makes updates across languages straightforward.

๐Ÿ”’ Verify Security Claims

Every security feature should be personally tested. Attempting to access protected files reveals real vulnerabilities.