Qahwa Uni Project

Apr 2025 - Jun 2025

University project for Qahwa: full-stack web application with React frontend, Laravel backend, and Filament admin tooling.

React
Laravel
Filament
Figma
Tailwind CSS
Qahwa Uni Project

قعدت قهوة (Qahwah)

A virtual café for Syrians around the world — reconnecting community through media, conversation, and play.


Overview

قعدت قهوة (Qahwah) is a web-based social media platform inspired by the traditional Syrian café culture — where people gather to talk, watch content, play games, and share moments.

The idea was simple:

If we can’t gather physically anymore, we build the café online.

This was a university capstone project developed by a team of 5:

  • 3 Backend Developers (Laravel)
  • 1 Frontend Engineer & UI/UX Designer (Me)
  • 1 Supporting Backend/Integration

Final Grade: 96%


Vision

Syrians around the world used to gather in cafés — to watch TV, debate, play chess, and socialize.

With diaspora and distance increasing, we designed Qahwah to:

  • Recreate digital gathering spaces
  • Enable media sharing (videos & podcasts)
  • Allow group conversations ("tables")
  • Support real-time communication
  • Integrate classic café games (Chess)

The product blends:

  • YouTube-style video feeds
  • Instagram-like profiles
  • Twitch-inspired stream concept
  • Real-time chat & calls
  • Community gaming

My Role

UI/UX Design

  • Designed visual identity
  • Created user flow diagrams before development
  • Defined typography system
  • Defined color system
  • Designed core layouts in Figma
  • Designed logo

Frontend Engineering (React)

  • Built the entire client-side application
  • Integrated REST APIs
  • Managed state architecture
  • Implemented authentication flows
  • Built video feed, podcast system, chat UI, profile system
  • Implemented chess game integration

Tech Stack

Frontend

  • React
  • TailwindCSS
  • DaisyUI
  • React Query
  • Axios
  • Jotai (atomic state management)

Profile

Backend

  • Laravel
  • Laravel Sanctum (Authentication)
  • Laravel Echo (Realtime)
  • MySQL

Infrastructure

  • AWS S3 (media storage)
  • REST API Architecture

Communication & Calls

  • GetStream.io (Video Calls)
  • Laravel Echo (Realtime Messaging)

Design System

Typography

  • Primary Titles: Clash Display Variable
  • Secondary Text: Roboto

Color System

  • Primary: #8F5B3D
  • Background / Spacing: #F6F4EE
  • Base: Black

The color palette was inspired by:

  • Coffee tones
  • Café wood textures
  • Warm, community-focused atmosphere

Layer_1 (1)


User Flow

Before development, I created a full user flow diagram mapping:

  • Registration → OTP verification
  • Content browsing
  • Upload flow
  • Social interactions
  • Chat entry points
  • Game access

2026-02-13 00.41.01


Authentication System

  • Email-based registration
  • OTP verification
  • Sanctum-based authentication
  • Protected routes
  • Persistent login

Built using:

  • Axios for API communication
  • React Query for async state
  • Jotai for global atomic state

Core Features

Video Feed

Inspired by YouTube.

Features:

  • Infinite scroll
  • User-uploaded videos
  • Category-based recommendation logic
  • Like (filled cup)
  • Dislike (spilled cup)
  • Show page (video detail page)

Recommendation logic:

  • Based on watched categories
  • Weighted by engagement

Video

Videos


Podcast System

Users can:

  • Upload audio content
  • Play in background
  • Continue browsing while listening

Features:

  • Persistent player
  • Engagement system (Like/Dislike)
  • Show page

Podcast (1)

Podcast


Profile System

Inspired by Instagram.

Users can:

  • View uploaded content
  • See followers/following
  • Edit profile
  • Access history (watched content)

 


Search & Social Graph

  • Search for other users
  • Follow system
  • View public content
  • Discover creators

Real-Time Chat

Built with:

  • Laravel Echo
  • WebSockets

Supports:

  • One-to-one messaging
  • Group chats ("Tables")
  • Realtime message updates

Chat


Video Calls

Integrated using:

Supports:

  • 1:1 calls
  • Group calls

Chess Game

To simulate café culture.

Built using:

  • React chess libraries

AI:

  • Local AI (~800 ELO)

Purpose:

  • Casual, community-focused gameplay
  • Recreational engagement

2026-02-13 00.37.52


TV Concept (Design Phase)

Designed but not fully implemented.

Concept:

  • Curated video queues
  • “Channels” managed by users
  • Community watch experience

TV Mode


Architecture & State Strategy

Since the application was large and multi-featured, I structured the frontend carefully:

State Management

  • Jotai for atomic global state
  • React Query for server state
  • Separation between client and remote state

Data Strategy

  • REST API calls via Axios
  • Optimistic updates where possible
  • Query invalidation strategy

Component Strategy

  • Modular UI components
  • Reusable layout shells
  • Clean separation of feature domains

Challenges

1. Managing a Large Feature Scope

This wasn’t a simple CRUD app — it included:

  • Media streaming
  • Realtime chat
  • Video calls
  • Game integration

Balancing scope vs time was a major challenge.

2. Realtime Synchronization

Handling:

  • Live chat updates
  • Presence
  • Group messaging

3. Media Performance

  • Infinite scroll optimization
  • Efficient rendering
  • Handling user-uploaded content

4. UX Consistency

Without formal research phases, I had to:

  • Think systemically
  • Maintain visual consistency
  • Avoid UI fragmentation

Outcome

  • Final Grade: 96%
  • Fully functional large-scale web app
  • Successfully presented and demonstrated
  • Hosted on AWS infrastructure
  • Delivered under academic deadline constraints

What I Learned

  • How to architect large frontend applications
  • Realtime systems integration
  • State management at scale
  • Designing while engineering
  • Cross-team coordination with backend developers
  • Feature prioritization under time pressure

Future Improvements

If developed further:

  • True streaming system
  • Advanced recommendation engine
  • Full TV channel implementation
  • Speed control for podcasts
  • Design system documentation
  • Mobile version
  • Multilingual support

Reflection

Qahwah was more than a university project.

It was:

  • My first large-scale frontend system
  • My first real-time app
  • My first cultural product design

It represents the intersection of:
Engineering × Design × Identity