HarKaam project screenshot 1 of 4 — case study by Syed Muhammad Hasnain Abdi

HarKaamProgressive Web App Case Study

Full Stack Developer (Solo)Jun 2026Progressive Web App
Next.js 16TypeScriptPrismaSQLitePWAshadcn/ui

Overview

HarKaam is a full-featured Progressive Web App (PWA) for home services marketplace, built mobile-first to work as a native-like app on Android devices. It connects homeowners with verified local service providers across 10 categories including plumbing, electrical work, painting, AC repair, cleaning, and more. The app supports three user roles — Customer, Provider, and Admin — each with dedicated dashboards, real-time booking lifecycle tracking, in-app chat, payment processing with commission model, star ratings & reviews, and provider verification system. Built with Next.js 16, TypeScript, Prisma ORM, SQLite, and shadcn/ui.

See more of my featured projects or learn about my development services.

The Problem

In Karachi and other Pakistani cities, homeowners struggle to find verified local service providers for plumbing, electrical work, AC repair, painting, and cleaning. Existing classifieds sites list providers with no verification, no real-time availability, no in-app payments, and no protection if the job goes wrong. Service providers on the other side depend entirely on word-of-mouth referrals, have no scheduling tool, and lose track of bookings. The challenge was to build a single PWA that solves both sides of the marketplace while working as a native-like installable app on Android and iOS.

The Solution

HarKaam is a Progressive Web App built mobile-first with Next.js 16 and Prisma ORM. The app supports three user roles — Customer, Provider, and Admin — each with dedicated dashboards. Customers browse 50+ services across 10 categories, view verified provider profiles, and book appointments through a real-time lifecycle (Pending → Accepted → On The Way → Working → Completed). Providers receive bookings, manage availability, and chat with customers in-app. Admins verify provider documents, manage commission rates, and monitor the entire marketplace. JWT authentication with bcryptjs password hashing protects every role-based route.

Tech Stack

Next.js 16 App Router with TypeScript powers the entire application. Prisma ORM abstracts the SQLite database with 18 models (Users, Bookings, Payments, Reviews, Messages, etc.). The PWA is configured with standalone mode, portrait lock, and installable on Android/iOS via manifest.webmanifest. shadcn/ui delivers consistent accessible UI components. JWT + bcryptjs handle authentication and role-based access control. The commission-based revenue model (10% configurable) makes the platform monetizable from day one. Bilingual Urdu + English support targets the local Pakistani market.

Results & Outcomes

25+ screens covering the complete customer, provider, and admin journeys
Real-time booking lifecycle with 5 statuses and in-app chat per booking
Commission-based revenue model (10% configurable via AppSettings)
Provider verification system with admin approve/reject workflow
Installable PWA on Android and iOS with standalone mode and portrait lock
Bilingual Urdu + English support for the Pakistani market

Key Features

25+ screens: Splash, Onboarding, Login, Home, Categories, Booking, Chat, Notifications
3 user roles: Customer, Provider, and Admin with dedicated dashboards
Complete booking lifecycle: Pending → Accepted → On The Way → Working → Completed
Real-time messaging chat between customer and provider per booking
Provider verification system with admin approve/reject workflow
Commission-based revenue model (10% configurable via AppSettings)
Payment processing with Cash, Online, and Wallet methods
Star ratings & reviews with service quality, professionalism, punctuality scores
18 database models with Prisma ORM: Users, Bookings, Payments, Reviews, Messages & more
PWA with standalone mode, portrait lock, and installable on Android/iOS
JWT authentication with bcryptjs password hashing and role-based access control
50+ services across 10 categories with Urdu + English bilingual support

Share this case study

Found this useful? Share it with your network.