Stabilized TrustedRV’s authentication, buyer and seller journeys, and listing payments—connecting Clerk account state, role-aware navigation, and Stripe subscriptions into a more consistent marketplace experience.
Overview
TrustedRV is an RV marketplace built around verified buyers and sellers. I joined the existing MVP to strengthen the workflows that connect account creation, onboarding, listing publication, and ongoing billing.
My role spanned frontend and backend engineering. I worked on Clerk authentication state, buyer onboarding, seller listing creation, listing-level Stripe subscriptions, and dashboard behavior so the product’s user journeys matched the client’s business rules.
The challenge
A marketplace needs more than working screens: account verification, permissions, listing status, and payment status must agree about what a user can do next.
TrustedRV needed clearer paths for two different audiences. Buyers needed to verify their accounts and set useful search preferences. Sellers needed to prepare a complete listing, pay for it, and manage its status from their dashboard.
One key business rule also needed to change: a subscription belonged to an individual listing, rather than the seller’s account. Paying for one RV should not unlock publication for every RV a seller added.
My contribution
I updated the React and TypeScript interface, Express APIs, PostgreSQL schema, and payment integrations. The work focused on four connected areas.
1. Consistent authentication and role-aware navigation
I improved how Clerk-backed account and verification state was reflected in the application. Buyers could see their email and mobile verification progress, while navigation better matched each user’s role.
Buyer routes led toward search, favorites, and buyer tools. Seller routes led toward listing creation and management. I also improved admin route behavior to address redirect loops and reduced unnecessary seller pricing prompts in buyer workflows.
2. A more useful buyer onboarding journey
I implemented a buyer profile flow that captured location preferences, search radius, RV types, budget, length, year, and must-have features, alongside ownership experience and financing preferences.
After onboarding, a completion screen brought together the buyer’s profile summary, verified badge status, and next steps—including search, favorites, comparison tools, buyer guidance, and saved-search alerts. This gave the onboarding flow a clear destination and a useful handoff into the marketplace.
3. Listing creation as the seller’s onboarding path
I reworked the seller journey around the listing itself:
Create an account → verify email and mobile → add RV details and photos → set price and disclosures → pay for that listing → publish.
Sellers could save a draft before paying, while publication required the necessary listing details and payment. VIN decoding remained optional, removing it as a prerequisite for seller qualification.
This made the sequence easier to follow: prepare the RV listing first, then pay to make it live.
4. Payments tied to the right listing
I moved the subscription model from the seller account to individual listings. Each new listing required its own Stripe checkout, while edits to an existing paid listing did not trigger another payment.
I added the listing ID to Stripe metadata and updated webhook handling so subscription events affected the related listing. Seller billing also reflected these individual subscriptions.
The listing lifecycle followed the same business rules: incomplete drafts could not be published, sold listings were excluded from search and protected from accidental republication, and marking a listing sold or deactivating it canceled its subscription.
The result
The updated MVP had a clearer relationship between identity, onboarding, publication, and billing:
Buyers could complete their profiles and see their verification status and next steps.
Sellers could prepare a complete listing before checkout.
Each listing had its own recurring subscription and payment state.
Sold or deactivated listings stopped renewing.
Search visibility and dashboard actions better reflected listing status and user roles.
The main outcome was functional consistency: the marketplace’s core flows more closely matched how the client intended the business to operate.
Stabilized TrustedRV’s Clerk authentication, buyer and seller onboarding, and listing-level Stripe subscriptions for a smoother marketplace experience.