LetterTrader is a marketplace where newsletter owners buy and sell their publications. I built the forms, marketplace pages, filtering systems, and backend infrastructure.
lettertrader.com - Homepage
What Made This Hard
Multi-step forms with strict validation. Listing a newsletter for sale isn't a simple form. Each step has conditional fields, dynamic validation rules, and states that change based on user progress. Users needed to save drafts, leave, and pick up exactly where they left off.
The client needed an admin dashboard without building a separate system. Managing listings, moderating content, overseeing transactions, and handling user management all had to happen somewhere. Building a custom admin panel from scratch would have doubled the project scope.
How I Built It
For forms, I used Zod for schema validation combined with React Hook Form. Each form step validates independently, so users get immediate feedback without losing progress. Newsletter types have different required fields, and offer forms change based on the transaction structure. The validation adapts to context.
For the backend, I customized Payload CMS to serve dual purposes. Instead of creating a separate admin system, I configured Payload to work as both the backend API and the superadmin dashboard. Custom collections for newsletters, offers, users, and transactions mirror the frontend validation rules. The client gains full control over the entire marketplace through a single interface.
What I'd Highlight
Multi-step forms with progress saving increased completion rates.
Payload CMS handles both API and admin needs, eliminating the need for a separate system.
Filtering lets users sort by category, price range, subscriber count, and performance metrics.