Masar Ave
A real-estate marketplace for retail-shop listings, built on Prisma ORM, Supabase Postgres, and Clerk authentication. Sellers list properties through rich forms; buyers search and discover.
Shop hunting usually means chasing agents across WhatsApp and classifieds. This marketplace gathers it into one place: sellers post listings through rich forms, buyers filter by location, size, and price, and a typed Postgres layer with passwordless sign-in keeps it all in order.
What it solves
- Agents have no unified, searchable place to list and manage retail-shop properties.
- Spreadsheets make it hard for buyers to search by location, price, or size.
- Nothing separates seller profiles from buyer inquiries.
- Descriptions and photos are scattered across email and WhatsApp, with no central database.
Impact
Shop marketplace
Passwordless sign-in

Architecture
Data flow
- Public browse storefront (/ar/ or /en/)
- Search by location / size / price → Prisma filters
- Click property → detail + agent contact form
- Sign in via Clerk → seller dashboard
- Create listing → /api/properties (Zod) → Prisma insert
- Messages table linked to property & user
- Admin queries all properties + messages
Engineering decisions
Prisma as the canonical schema
A single source of truth for shops, customers, and messages; type-safe queries prevent SQL injection.
Clerk for authentication
No password-management overhead, and passwordless sign-in is UX-friendly.
Bilingual route structure
app/[lang] for the public storefront; a protected /dashboard for seller admin.
Role-based access at the API level
Prisma queries are filtered by user UID, which prevents data leakage between accounts.
Gallery
