Nawadi Marketplace
A pet marketplace for discovering and trading pets, built around clean discovery, drag-and-drop uploads (Dropzone), and community listings. Built with Next.js 16 and Neon Postgres for data that scales.
Nawadi makes finding and trading pets feel uncluttered: a clean discovery flow, drag-and-drop photo uploads, and listings the community itself builds, all on serverless Postgres that grows with the catalog.
What it solves
- Traders and enthusiasts need a modern, easy marketplace to find and trade pets without the WhatsApp chaos.
- With no inventory system, sellers lose track of stock across multiple listings.
- Uploaded photos have no structured storage or CDN behind them.
- Sellers are vetted by hand, and buyers get no trust signals.
Impact
Pet discovery & trade
Dropzone integration

Architecture
Data flow
- Public browse → query Neon for listings
- Filter by type / age / location → SQL WHERE
- Click listing → detail + seller + reviews
- Message seller → /api/messages → insert Neon
- Upload photos → react-dropzone → /api/upload → bucket
- Seller dashboard: CRUD listings, messages, reviews
- Buyer rating → /api/ratings → aggregated on profile
Engineering decisions
Neon Postgres instead of Firebase
A relational schema is easier for sellers with multiple listings, and cheaper than Firestore at scale.
react-dropzone for uploads
A drag-and-drop experience; files are stored in a Neon-integrated bucket (Neon Files or S3).
Server-only architecture
Minimal client state; most data is pulled from Postgres on each request.
Simple relational schema
sellers, listings, messages, ratings — foreign keys enforce data integrity.
Auth library still to be decided
Still open — likely Neon Auth or Clerk, not yet pinned in the dependencies.
Gallery


