Case study · Marketplace
P2P fashion rental & sale marketplace
High-performance peer-to-peer marketplace for Israel's event-driven fashion market. Zero to production MVP in 4 months.
Role
Solo (product + UX + engineering)
Timeline
Oct 2025 – Feb 2026
Stack
React 18, Tailwind, Deno, Base44, Tranzila
Status
Production-ready / handover
The problem
Israeli women spend hundreds on dresses they wear once.
The options that exist today are either consignment stores with limited selection and high prices, or Facebook groups where there's no trust, no structure, and no way to resolve disputes.
Israeli payment infrastructure blocks most P2P marketplaces. That left a real gap.
By the numbers
73
Backend functions
41
Pages
12
Transaction states
20
DB entities
₪0
Inventory cost
100%
P2P architecture
Product scope
A complete marketplace engine, not just a prototype.
Complex transaction flows
12-state rental lifecycle and 9-state purchase flow; transitions drive deadlines, automations, and notifications.
Reverse-engineered payments
Tranzila with tokenized sessions and iframes; split-payment model that works around local licensing constraints.
Trust-first architecture
Condition docs at handoffs, dual-confirmation payments, auto-censored messaging to prevent platform leakage.
Automated operations
Ten daily cron jobs: expiring requests, dispute escalation, admin oversight.
12-state rental pipeline
Product & UX
Engineering trust through UI
Visible Complexity
Don't hide the 12 steps. Show them. A linear progress bar across all transaction pages reminds users that this isn't just a chat app; it's a managed process.
Anxiety Reduction
Clear pricing breakdowns, visible deadlines, and mandated photo proof at every handoff eliminate 'he-said-she-said' disputes.
Helpful Friction
Profile completion isn't a wall, it's a progress bar. You can browse, but you can't transact until you're 'verified'. It feels like a club, not a chore.
Temporal Context
System checks shipping feasibility in real-time. If it's Thursday and you want a dress for Saturday, we disable shipping and force self-pickup.
Algorithmic Fairness
Catalog items shuffle randomly on every load. No single lender dominates. This keeps the ecosystem healthy and competitive.
Zero Surprises
On checkout, users see every single shekel: catalog price, deposit, now-payment, later-payment, and owner net. Full transparency.
The Engine Room
Claude + Cursor
AI Partners
React 18 + Tailwind
Frontend
Deno + TypeScript
Backend
Base44 BaaS
Infrastructure
Tranzila
Payments
Figma
Design
The Process
Shipping a marketplace solo.
Domain Deep-Dive
Used AI tools to map the fashion rental landscape globally. Studied why RTR succeeded and why Le Tote died. Mapped Israeli fintech regulations to find the one viable path for P2P payments without a banking license.
State-Machine Architecture
Before writing code, I mapped the 12-state rental lifecycle. Every edge case (late returns, canceled deposits, dispute escalation) was defined as a logic path. The system is essentially a massive, automated state machine.
Context Engineering
Set up the AI environment with platform constraints. Documented what the AI should never do. This ensured the 73 backend functions generated were secure, optimized, and strictly adhered to the business logic.
Production Hardening
Moved from 'it works' to 'it's safe'. Implemented access control layers, audit logs for payments, and an admin dashboard for manual dispute intervention. Shipped a production-grade operations layer, not a demo.
What I Learned
AI makes it easy to build more. The discipline is building less.
01. Setup is everything.
Picking the right tools and configuring Cursor rules is the difference between shipping and rebuilding. Without context engineering, AI generates code that works in isolation but breaks against the platform.
02. Be the driver.
Never ask AI to 'build a system'. Ask for small, reviewable pieces. Step-by-step review is how you maintain control over 73 functions as a solo developer.
03. Good enough is enough.
With AI, a single person can handle UX, backend, SEO, and documentation. The goal isn't perfection in one; it's sufficiency in all to reach MVP at velocity.