← All projects
Full-stack· Guided build· Built· Dec 2025 – Jan 2026

SellWell

A multi-vendor store. Sellers apply to open a shop, and buyers check out with Stripe or cash on delivery.

Overview

A guided build to learn Stripe webhooks and background jobs with Inngest. New stores stay pending until an admin approves them. A cart with products from several sellers gets split into one order per seller at checkout.

Architecture / how it works

  • The Stripe webhook verifies the signature with constructEvent, then marks the orders paid or deletes them if checkout is cancelled.
  • Clerk user events go to Inngest functions that keep the database in sync.
  • Coupons can be restricted to new users or members (checked with Clerk has({ plan: 'plus' })).
  • Uploading the first product image calls an OpenAI vision model to pre-fill the name and description.

Tech stack

Next.jsPostgreSQLPrismaClerkStripeInngestImageKitRedux Toolkit

Outcomes

The main flows work: store approval, Stripe checkout with webhook verification, and the Clerk-to-database sync through Inngest.

Resume

Want my resume?

I share it on request, so you always get the latest version. Drop me an email with a line about the role or why you're asking, and I'll send it over.

devanshpandeyji4321@gmail.com
Write the email →