Svelte Commerce
A standalone open-source storefront built with SvelteKit, headless across 26 commerce backends. MIT licensed.
POS, stock control, purchase orders, invoicing, accounts and payroll in one system for UK wholesalers and multi-site shops. From £19 a month.
CommerceTypeScript · MDXGitHub @ZohaibFarooquiOnlineOwner unconfirmed
Have you tried it? One tap is enough. No sign-in needed.
No updates detected yet. GitHub releases will appear here.
Owners of public repositories under a personal GitHub account can sign in to verify ownership and manage the introduction themselves. No administrator approval is needed.
Sign in, generate a verification file, and commit it to this repository’s default branch within 30 minutes. Files on other branches or forks do not count. Then check the file below to manage the project without administrator approval. Keep the file to retain your access.
If needed, you will go to sign-in. After signing in, return here and press your chosen verification button again.
Run /nomorevibe verify in your project folder to verify ownership and manage the introduction yourself.
Verify in one minuteAsk about other verification options
The maker's introduction consists of the line above. Read the repository README for more details. Repository README ↗
Loading the full README.
Read the full README ↗The official marketing website for OpesFlux — the UK-built ERP and POS system from Devs and Visuals.
Live URL: https://opesflux.devsandvisuals.com
Tech stack: Next.js 16 · TypeScript · Tailwind CSS v4 · Framer Motion · shadcn/ui primitives
Deployment: Vercel
pnpm install
pnpm dev # http://localhost:3000
pnpm build # production build
pnpm start # serve production build
src/content/blog/your-post-slug.mdxpublic/blog/your-post-slug-cover.jpg (1200x630px)git add . && git commit -m "Publish: Post title" && git push---
title: "Your Post Title (under 60 chars)"
description: "Compelling 150-160 char meta description with the primary keyword."
date: "2026-04-30"
author:
name: "Author Name"
role: "Their role"
avatar: "/team/author.jpg"
coverImage: "/blog/your-post-slug-cover.jpg"
coverImageAlt: "Descriptive alt text for the cover image"
tags: ["Tag1", "Tag2", "Tag3"]
category: "MTD & VAT"
featured: false
seoKeywords: ["primary keyword", "secondary keyword"]
---
MTD & VAT · Payroll · POS · Inventory · Growth · Compliance · Company News
Copy .env.example to .env.local and fill in:
| Variable | Purpose |
|---|---|
NEXT_PUBLIC_SITE_URL | Production URL |
NEXT_PUBLIC_APP_URL | App URL (app.devsandvisuals.com) |
RESEND_API_KEY | Email delivery for contact form |
CONTACT_EMAIL_TO | Where demo requests are sent |
SLACK_WEBHOOK_URL | Slack notifications for new leads |
NEXT_PUBLIC_CALENDLY_URL | Calendly booking link |
.env.localopesflux.devsandvisuals.comopesflux to cname.vercel-dns.comsrc/
app/ Pages (App Router — Next.js 16)
components/
layout/ Header, Footer, CookieBanner
sections/ Homepage section components
blog/ Blog-specific components
forms/ ContactForm
ui/ shadcn/ui primitives (Tailwind v4 syntax)
visual/ Animated dashboard mockup, flow lines
seo/ JSON-LD structured data components
config/ site.ts, nav.ts, pricing.ts, industries.ts
content/blog/ MDX blog posts
lib/ blog.ts, seo.ts, analytics.ts, utils.ts
types/ TypeScript types
bg-(--color-name) syntax, not bg-[var(--color-name)].params and searchParams in page/layout components are Promise<{...}> and must be awaited./api/contact and /contact (dynamic due to searchParams).