All projects
LiveFull-Stack

Mountain QR

One QR code that opens a branded page for each business, with its menu, branches, social links and one-tap "save contact", plus a dashboard to manage it all.

Role
Full-Stack Developer (solo)
Timeline
Since 2024 (ongoing)
Client
Restaurants, clinics & shops
Year
2024
Mountain QR
18
Businesses live
2,000+
Unique visits tracked
2
Languages (AR / EN)
2024
Live and evolving since
01

Overview

Mountain QR is a multi-client platform. Every business gets its own branded page and QR code, ready to print on menus, tables, business cards and shop windows. Restaurants, clinics, optical shops and car showrooms all run on the same platform.

I started it in 2024 and have kept growing it ever since. It began as a simple QR page generator and is now a full product with a public website, a NestJS + MongoDB API, and a React dashboard where clients manage their own pages and see their stats.

The problem

Local businesses print QR codes everywhere, but most lead to a plain PDF or a single Instagram link. Customers leave quickly, and the owner can't tell whether anyone scanned at all.

The solution

One platform serves every client. Each business gets a fast, branded mobile page and its own QR code, edits its content from a simple dashboard, and sees exactly how many people visited.

02

Who It's For

A

Admin

Creates clients and users, manages every page, and sees the stats for all businesses.

B

Business owners

Edit their own page content, ads and QR code, and follow their own visit stats. No developer needed.

C

Customers

Scan the QR to get the menu, branches, call, WhatsApp, directions and save the contact in one tap.

03

Key Features

Custom QR Code

A branded QR code for each business, ready for menus, cards and stickers.

Branded Landing Page

Logo, colors, description, branches and menus on one fast mobile page.

One-Tap Contact

Save to contacts, call, WhatsApp and directions to every branch.

Client Dashboard

Role-based dashboard where owners update their own content, photos, links and ads.

Visit Analytics

Unique visits per day, per week and in total, with device and OS breakdown and bots filtered out.

Built-in Ads

Promote offers on any page and track views and clicks.

Arabic & English

Pages switch language and direction (RTL / LTR) in one tap.

Fast Everywhere

Images are served from Cloudflare's network, so pages load fast on mobile data.

05

Architecture

01

Public pages

Next.js renders each business page by its slug, e.g. /pizza-bebo

02

Client dashboard

React + Vite + MUI, role-based for admin and business owners

03

REST API

NestJS modules: clients, users, ads, analytics, uploads and public endpoints

04

Data & media

MongoDB for content and visits, Cloudflare object storage for images

06

Challenges & Solutions

One platform, many businesses

Challenge

Every business needed its own page, branding, QR code and stats, without me building a new site for each client. Owners also had to edit their pages without being able to touch anyone else's.

Solution

Each business is a client record with a unique slug that drives its public page and QR code. Users are linked to one client, and role-based guards decide what each one can do. Owners edit their own content, ads and QR, while the slug, page status and user management stay with the admin.

Counting real, unique visits

Challenge

Raw page hits were misleading. Link previews, crawlers and repeat refreshes inflated the numbers, and owners need numbers they can trust.

Solution

Visits are filtered by user agent to drop bots, crawlers and link-preview fetchers. Each browser counts once per day per business, and MongoDB aggregations give daily, weekly and all-time stats per client. I also moved the stats from the original file store to MongoDB as the platform grew.

Have a project like this in mind?

I'd love to help you build something great. Tell me what you're working on.

Let's talk