KFA Marketplace
Run a small used-keyboard market for a community you already have
The software is the vibe-codeable part: listings, cart, Stripe checkout, shipping labels, seller payouts. An agent can stand all of that up in a weekend, and the consolation prompt below does. What it cannot stand up is the market. KFA is a two-sided used-keyboard exchange where every board passes through a warehouse for inspection and PCB testing before the buyer sees it, and the fee pays for that inspection and for the crowd on both sides. A clone launches empty.
Build verification: not recorded. How we judge buildability
What you give up
- liquidity: buyers and sellers who are already there, which is the product
- warehouse QC: every board is inspected and its PCB tested before delivery
- buyer protection backed by that inspection instead of a seller's photos
- payout operations: KYC, earnings ledgers, and withdrawal handling
- fraud and dispute handling when a deal goes sideways
Why people still pay
Nobody pays KFA for its Django code. Sellers pay 6.5% + $1 to reach buyers without eating scam risk, and buyers pay 6.5% for a used board that a human has opened, inspected, and PCB-tested before it ships. The free alternative is r/mechmarket, where trust is flair count and PayPal disputes; the fee is the cost of turning that into a guarantee.
Your build guide
The stack, security requirements, and agent rules for a focused replacement.
Before you start
- Stripe account
- EasyPost account
- public HTTPS deployment
- email provider
Use these project rules and optional skill references alongside the prompt. Review each skill before adding it to your agent; the AGENTS.md export includes the same guidance.
Project rule, data: Model original assets, edit operations, previews, and exported versions; store source IDs and timestamps for each.
Project rule, behavior: Sellers post listings: board name, condition notes, up to 8 photos, a fixed price, and a shipped weight in pounds. Single quantity, sold means gone.
Project rule, recovery: On invalid input or interrupted processing, keep the original record, show the failed step, and permit a safe retry.
Implementation plan
Phase 1, architecture and data
Django + SQLite, server-rendered templates with vanilla JS, no frontend framework, one process. Model original assets, edit operations, previews, and exported versions; store source IDs and timestamps for each.
Phase 2, implement
Sellers post listings: board name, condition notes, up to 8 photos, a fixed price, and a shipped weight in pounds. Single quantity, sold means gone.
Phase 3, implement
A /moderate queue: new listings stay hidden until I approve them.
Phase 4, review and output
A seller ledger: each sale credits the seller's balance minus a fee percentage from .env; a /payouts page shows what I owe whom, paid out by hand and recorded manually.
Phase 5, recovery and acceptance
On invalid input or interrupted processing, keep the original record, show the failed step, and permit a safe retry. Verify this invariant with a saved fixture: An invalid input or interrupted operation must retain the source and show a recoverable state; exported records must reload with the same IDs. State the practical limit: liquidity: buyers and sellers who are already there, which is the product.
Build me a small two-sided marketplace for used mechanical keyboards like KFA Marketplace, for a community I already have. Requirements: - Django + SQLite, server-rendered templates with vanilla JS, no frontend framework, one process. - Sellers post listings: board name, condition notes, up to 8 photos, a fixed price, and a shipped weight in pounds. Single quantity, sold means gone. - A /moderate queue: new listings stay hidden until I approve them. - Stripe Checkout for purchase; verify the webhook signature and mark a listing sold only when the payment event lands, not on redirect. - On sale, buy a label through the EasyPost API from the seller's address and the listing weight, then email both sides the tracking link. - A seller ledger: each sale credits the seller's balance minus a fee percentage from .env; a /payouts page shows what I owe whom, paid out by hand and recorded manually. - Stripe and EasyPost keys in .env; Django's built-in auth for buyers and sellers, no telemetry, everything on my own server. - Out of scope: escrow, buyer protection, dispute flows, and inspecting anything. Trust between strangers is my problem, not the app's. - README with setup, stripe listen webhook config for local testing, and the fee math.
$ open in your agent (prompt prefilled, you press enter), copy the prompt or copy AGENTS.md
prompt copied. want to know what dies next week?
new verdicts + top votes, weekly. free. one-click out.
Alternatives to building your own
no votes, no pay-to-list · just what's real
Questions about KFA Marketplace
Can you build your own KFA Marketplace with AI?
A full replacement is not the recommended project. The software is the vibe-codeable part: listings, cart, Stripe checkout, shipping labels, seller payouts. An agent can stand all of that up in a weekend, and the consolation prompt below does. What it cannot stand up is the market. KFA is a two-sided used-keyboard exchange where every board passes through a warehouse for inspection and PCB testing before the buyer sees it, and the fee pays for that inspection and for the crowd on both sides. A clone launches empty.
What does the KFA Marketplace build prompt cover?
The prompt starts with this scope: List used keyboards with photos and condition notes, take Stripe Checkout payments, buy shipping labels for sellers, and track each board from sold to delivered. Full-product capabilities excluded from the comparison include: liquidity: buyers and sellers who are already there, which is the product; warehouse QC: every board is inspected and its PCB tested before delivery; buyer protection backed by that inspection instead of a seller's photos. Follow the implementation plan and its prerequisites before expanding the build.
How do I use the prompt, AGENTS.md and agent skills?
Start with the KFA Marketplace prerequisites and stack, then copy the prompt into your coding agent. Save the project rules as AGENTS.md in the project root. Linked skills are optional packages or source instructions for specific tasks; review their current contents and install only those matching the chosen stack. A skill does not supply API credentials or verify the finished app.
How long will this KFA Marketplace project take?
The catalogue estimate is multi-day for the limited scope. Setup, integration approvals, debugging, deployment and ongoing maintenance can add time. This is an estimate, not a delivery guarantee.
What would I give up by replacing KFA Marketplace?
liquidity: buyers and sellers who are already there, which is the product; warehouse QC: every board is inspected and its PCB tested before delivery; buyer protection backed by that inspection instead of a seller's photos; payout operations: KYC, earnings ledgers, and withdrawal handling; fraud and dispute handling when a deal goes sideways. Nobody pays KFA for its Django code. Sellers pay 6.5% + $1 to reach buyers without eating scam risk, and buyers pay 6.5% for a used board that a human has opened, inspected, and PCB-tested before it ships. The free alternative is r/mechmarket, where trust is flair count and PayPal disputes; the fee is the cost of turning that into a guarantee.
What can I use instead of building KFA Marketplace?
Mercur: Multi-vendor marketplace software you deploy yourself; vendors, buyers, and the warehouse remain your problem. r/mechmarket: Where used keyboards already trade for free; protection is seller flair, PayPal G&S, and your own skepticism. Check each option's license, hosting needs and feature limits.