A neighborhood marketplace with messaging, built by Claude Code on Elements
Photo listings, priced or free, neighborhood search, buyer-seller threads, live pending and sold, and saved search email alerts.
How it's built
Swapmeadow needed photo uploads, listings kept to each neighborhood, buyer and seller threads, pending and sold that change on every open page, and email when a new listing matches a saved search. Each of those is a part of Elements, so the agent spent its 25 minutes on the marketplace itself.
- Live listings. Listings are a LiveTable opened per neighborhood and per seller. When a seller marks an item pending or sold, every neighbor's browse page updates with it.
- Live threads and an inbox. Messages and conversations are LiveTables. A database trigger copies each new message onto its conversation, so the header badge and the inbox fill in as a reply arrives.
- Photo uploads as function calls. The sell page sends up to six photos to an
@rpcasFilevalues, which stores the listing and its photos in one transaction, and a route serves each photo under its content hash. - Saved searches by email. Posting a listing schedules a background job that finds the neighbors whose saved searches match and sends each one a single email, however many of their searches it matches.
- Data from SQL files. Four migrations define the schema, add four neighborhoods, and seed eight neighbors with 30 listings, buyer and seller threads, saved items and saved searches, plus 34 credited listing photos.
- Sessions. Every write checks the signed-in user: the seller sets a listing's status, the two people in a thread post to it, and saves stay in your own neighborhood.
Why Elements
Elements is an integrated full-stack app framework and a project server. The project server checks the agent's work as it builds: it type-checks the server and browser code, analyzes the program, applies migrations and runs the tests, then reports the results to the agent. A security mistake, such as calling a server-only function from the browser, is a compile error. The agent reads the report and fixes its own mistakes before it tells you a feature is done. The same checks run on every feature you ask for next.
Run it yourself
- 1 Sign up
Already have an account? Sign in
- 2 Install and run the demo One prompt to paste into your agent.
The prompt
What Claude was given to build this app.
Build a neighborhood marketplace named swapmeadow, for buying, selling and giving away things locally. - Sign up with a neighborhood. - Post a listing: title, price or free, category, condition, description, photos. - Browse listings in your neighborhood, filter by category and price, search. - Message a seller about a listing; each conversation is between one buyer and the seller. - Sellers mark a listing pending or sold. - Save listings, and get an email when a saved search has new matches. Seed eight neighbors, thirty listings with photos across categories, and a few conversations. Show the seeded logins on the sign-in page. Messages and listing status update in real time.