# ThriftJai > A peer-to-peer marketplace for second-hand goods. Buyers and sellers connect via in-app chat; the platform takes no fees and processes no payments — buyer and seller transact directly off-platform. Browsing is open to anyone; sign-in is required only to chat, post, or rate. ## What it is ThriftJai is a consumer-to-consumer (C2C) mobile and web marketplace for **pre-loved goods** — clothing, electronics, books, home items, sports equipment. Inspired by Facebook Marketplace and Shopee, stripped down to the second-hand essentials. Each listing is a unique item (quantity is always 1). When the seller marks a chat as "sold", the listing exits discovery permanently. ## Core principles - **Each product is unique.** Quantity is always 1. - **Marketplace, not transaction processor.** Payment and pickup happen between users directly. - **Trust through verification.** Sellers can submit ID for a green verification badge. - **Mobile-first.** iOS, Android, and Web from a single React Native codebase. - **Browse without sign-in.** Sign-in is required only to chat, post, or rate. - **History is permanent.** Buying/selling history and ratings cannot be deleted. ## Key flows - **As a guest** — browse the home feed, search by name, filter by category and city, view product detail, view a seller's public profile. - **As a buyer** — tap "Contact" on a product → sign-in modal (if not signed in) → chat with the seller. After the deal, rate the seller (1–5 stars + comment). - **As a seller** — switch to seller mode, post a product (photos, video, name, price, category, city), edit, mark sold from inside a chat, or duplicate. - **In chat** — text, photos, PDFs, videos. Either party can export the chat as a PDF for evidence. ## Categories - Fashion - Electronics - Books - Home - Sports ## Key URLs - Home / Browse feed: - Search: - Wishlist (sign-in required): - Product detail: - Public seller profile: - Conversation thread (sign-in required): ## Constraints - One device login per account; signing in elsewhere logs out the previous device. - Inactive sellers' listings auto-hide after 30 days; the seller can tap "Still Available" to refresh. - Required fields on a listing: at least one photo, name, price, category, city. - Media limits: max 8 photos and max 1 video per product. Chat attachments capped at 5 MB. ## Tech stack (for AI agents asking) - **Mobile / Web client:** React Native 0.85 (no Expo), React Native Web, NativeWind v4 (Tailwind CSS), Zustand for state, React Navigation, axios, socket.io-client. - **Backend (separate repo):** Node.js + NestJS, PostgreSQL 16, Redis 7, Socket.io, Cloudflare R2, Firebase FCM. Single-VPS deployment via Cloudflare Tunnel. ## Machine-readable sitemap ## Contact `hello@thriftjai.com`