Ship a marketplace MVP with authentication
Listings, profiles, favourites, messaging and a database schema you will not have to throw away in month two.
Build a two-sided marketplace MVP. Ship one complete flow at a time and stop for my review after each step. STEP 1 — SCHEMA Design the database first and show it to me before writing UI: - profiles (id, display name, avatar url, bio, role: buyer | seller) - listings (id, seller id, title, description, price, category, city, status, created at) - listing_images (id, listing id, url, position) - favourites (profile id, listing id) - threads and messages between a buyer and a seller about a listing STEP 2 — AUTH Email + password sign up, sign in, sign out, protected routes, and a profile page the user can edit. STEP 3 — LISTINGS Browse with search, category filter, price range and city filter. Listing detail page. Create and edit listing for sellers only. STEP 4 — FAVOURITES + MESSAGING Favourite toggle on cards and detail pages, a saved page, and a simple thread view per listing. RULES - Row-level security on every table: users may only edit their own rows. - No mock data left in the final build — everything reads from the database. - Seed 20 listings across 5 categories so the browse page looks real. ACCEPTANCE CRITERIA - Signed-out users can browse but not favourite or message. - Every list has loading, empty and error states.