Skip to content

Free & open sourceA Next.js 16 e-commerce template you can clone and ship. MIT licensed.

git clone https://github.com/intellectwithvivek/shopkit.gitUse this templateGitHub — view the ShopKit source (opens in a new tab)
⚡ Built with VivekUI

Built with VivekUI

This entire website is built with VivekUI, a free React component library with zero runtime dependencies.

No Tailwind, no shadcn, no component CLI, no config file. 46 distinct components and one chart type, from a single install and a single CSS import. Everything below is a live part of this store, not a screenshot.

Install VivekUI

npm i @the_viveksingh/vivek-ui

Then one import in your root layout: import '@the_viveksingh/vivek-ui/styles.css'

Or take this whole store

git clone https://github.com/intellectwithvivek/shopkit.git

MIT licensed. Starting a real project? Press Use this template for a fresh repository instead of cloning this one.

One package, not twelve
The cart Drawer, the ⌘K CommandPalette and both Sparkline charts all come from the same package — no drawer library, no combobox library, no charting library. That is the whole reason this store has zero runtime dependencies of its own.

Site chrome

Present on every page, from the root layout.

VivekUI components used in the Site chrome of ShopKit
ComponentWhere it appearsDocs
NavbarHeader, with the collapsing mobile sheetnavbar documentation, opens in a new tab
CommandPalette⌘K search across all 16 products and every pagecommand-palette documentation, opens in a new tab
KbdThe ⌘K hint in the search button and palette footerkbd documentation, opens in a new tab
DrawerThe cart, sliding in from the inline enddrawer documentation, opens in a new tab
IconButtonCart button, quantity steppersicon-button documentation, opens in a new tab
BadgeCart count, sale flags, “Built with VivekUI”badge documentation, opens in a new tab
ThemeProviderLight / dark / system, persistedtheme-provider documentation, opens in a new tab
ThemeToggleThe theme switch in the navbartheme-toggle documentation, opens in a new tab
Toast“Added to cart”, with a View cart actiontoast documentation, opens in a new tab
FooterLink columns and the credit block belowfooter documentation, opens in a new tab
CodeThe install command, here and in the footercode documentation, opens in a new tab
CopyButtonCopying that install commandcopy-button documentation, opens in a new tab

Homepage

The storefront, rendered almost entirely on the server.

VivekUI components used in the Homepage of ShopKit
ComponentWhere it appearsDocs
Countdown“Sale ends in…”, hydration-safe via a server clockcountdown documentation, opens in a new tab
Sparkline14-day sales velocity in the Trending rowsparkline documentation, opens in a new tab
RatingStars on every product cardrating documentation, opens in a new tab
LogoCloudThe “As seen in” striplogo-cloud documentation, opens in a new tab
TestimonialsThree customer quotestestimonials documentation, opens in a new tab
NewsletterThe signup formnewsletter documentation, opens in a new tab
FAQShipping, returns and licence questionsfaq documentation, opens in a new tab
GridCategory tiles and every product gridgrid documentation, opens in a new tab
SectionPage bands, including the primary-surface CTAsection documentation, opens in a new tab
ContainerMax-width gutterscontainer documentation, opens in a new tab
ButtonEvery call to action, via asChild + next/linkbutton documentation, opens in a new tab
TextBody copy, muted captions, line clampingtext documentation, opens in a new tab

Shop

The filter rail runs entirely in the browser.

VivekUI components used in the Shop of ShopKit
ComponentWhere it appearsDocs
CheckboxCategory facets, with countscheckbox documentation, opens in a new tab
SliderPrice range — two thumbs, each separately labelledslider documentation, opens in a new tab
Switch“In stock only”switch documentation, opens in a new tab
SelectThe sort controlselect documentation, opens in a new tab
PaginationEight products per pagepagination documentation, opens in a new tab
SkeletonThe placeholder shown while filteringskeleton documentation, opens in a new tab
EmptyStateWhen no product matches the filtersempty-state documentation, opens in a new tab
BreadcrumbHome → Shopbreadcrumb documentation, opens in a new tab

Product page

Sixteen statically prerendered pages.

VivekUI components used in the Product page of ShopKit
ComponentWhere it appearsDocs
CarouselThe image gallery, driven also by the thumbnail stripcarousel documentation, opens in a new tab
Sparkline“Price history — last 30 days”, with min/max labelssparkline documentation, opens in a new tab
ButtonGroupThe attached quantity stepperbutton-group documentation, opens in a new tab
AccordionShipping / Returns / Warrantyaccordion documentation, opens in a new tab
TabsDescription, Specs and Reviewstabs documentation, opens in a new tab
ProseThe description copyprose documentation, opens in a new tab
TableThe specification rowstable documentation, opens in a new tab
AvatarReviewer portraitsavatar documentation, opens in a new tab
RelativeTime“3 weeks ago” on each reviewrelative-time documentation, opens in a new tab
AlertThe low-stock noticealert documentation, opens in a new tab

Checkout

Four steps, fully mocked.

VivekUI components used in the Checkout of ShopKit
ComponentWhere it appearsDocs
StepperAddress → Shipping → Payment → Reviewstepper documentation, opens in a new tab
FieldLabels, hints and error text wiringfield documentation, opens in a new tab
InputThe address forminput documentation, opens in a new tab
RadioGroupShipping methods and payment methodsradio-group documentation, opens in a new tab
TimelineOrder status on the confirmation screentimeline documentation, opens in a new tab
TableThe review-your-order summarytable documentation, opens in a new tab

Start from this store

ShopKit is MIT licensed. Clone it, swap data/products.ts for your own catalog, and you have a storefront. The credit in the footer is removable — a star on the repository is appreciated instead.

Free & open source · MIT

Take the whole store

Every screen here comes from one package with zero runtime dependencies. Clone it, swap data/products.ts for your own catalog, and ship.

git clone https://github.com/intellectwithvivek/shopkit.git