Marketplace
Buy, sell, give away, or ask for help inside the community instead of on Facebook. Listings expire on a schedule so the page doesn’t become a graveyard.
On this page
The four categories
Every listing picks one of four built-in categories: for_sale, free, wanted, and services. The category drives where the listing shows up in the filter chips at the top of the page and helps neighbors scan for what they came for.
Price is optional. A listing with no price is fine for free or wanted, and a “make an offer” style post under for_sale.
Posting a listing
Any approved resident can post. The form takes a title, optional description, category, optional price, and up to a few photos. Photos upload into the private marketplace-photos bucket; the page generates short-lived signed URLs at render time so the images load for everyone but the files aren’t publicly indexable.
How buyers reach you
Each listing has a contact_via field that controls what a buyer sees on the listing card. Three options:
profile (the default): buyers see your profile and DM you through community chat. Easiest, no contact details leak.
phone: you provide a phone number, shown on the card. email: you provide an email, shown on the card. Pick these if you want neighbors to text or email directly rather than open a DM thread.
Active, sold, expired
New listings start active and get an expires_at date. As the expiry nears you can hit Renew to push it out another 60 days. When the deal closes, mark it Sold and the card flips from active to sold styling but stays browsable for a while as a reference.
Admin removal
Admins can remove any listing (for spam, off-policy items, the obvious cases) via /admin/marketplace. Removed listings flip to status: removed rather than getting deleted outright, so there’s a paper trail. The seller is notified when this happens.