Next.js 15 · React 19 · Tailwind CSS v4
A complete auction website. Ready for your backend.
Auctionyx is a production-grade template with three sites in one: a public saleroom with live proxy bidding, a bidder account area, and a full admin dashboard. It runs on built-in demo data the moment you install it. When your API is ready, you change one setting.
- Runs with zero setup
- TypeScript strict
- Light & dark
- Any backend language
Live
00:48
Lot C01 · Classic & Vintage Motor Car Auction
1961 Aston Martin DB4 Coupé
Current bid
$304,000
You’re leading
Your maximum $330,000 — private, bids for you
- You auto$304,000
- Bidder B60A6$299,000
- Bidder A80A5$249,600
Anti-snipe Late bid — clock reset to 2:00
You’ve been outbid Lot C01 is now $335,000
-
Motor cars
-
Watches
-
Fine wine
-
Art
-
Estates
-
Memorabilia
-
Watches
-
Motor cars
-
Watches
Read this first
Who Auctionyx is for
Auctionyx is the complete front end of an auction website. It is built for developers and agencies creating an auction site for themselves or a client.
What you get
- Every page, form and dashboard screen, finished and responsive
- A built-in demo API with a working auction engine
- A fully documented REST API contract for your backend to follow
- The bidding rules written as a spec, with worked examples
What you connect
- No backend or database is included. Demo data lives in memory and resets.
- To take real bids, your backend implements the documented API — in any language.
- Payments and e-mail sending are your backend’s job.
- Needs a Node.js host. Not for PHP or cPanel-only hosting.
One template, three sites
Everything an auction house needs on screen
Bidders browse and bid. Members manage their bids and invoices. Staff run the whole saleroom. All three are built, connected and styled as one product.
A saleroom that sells
The homepage, events, catalogue and lot pages visitors land on and bid from.
- Homepage with search, live and upcoming sales, departments and featured lots
- Catalogue with search, category and status filters, sorting and pagination
- Lot pages with gallery, estimate, provenance, condition report and bid history
- Approximate price in the visitor’s own currency
- Lot enquiries, “Sell with us” consignments, contact and legal pages
A home for every bidder
Everything a registered bidder needs after they place their first bid.
- Register, sign in, password reset and e-mail verification
- Optional two-factor (TOTP) sign-in
- My bids, grouped by leading, outbid, won and lost
- Watchlist and a notifications inbox
- Invoices with buyer’s premium, tax and a pay button
Run the whole saleroom
A real back office, not a settings page: events, lots, people, money and records.
- KPIs, a “needs attention” queue, lots ending soon, recent activity
- Events and lots with lifecycle controls and image galleries
- Bidders: approve, suspend, set bid limits, grant admin roles
- Invoices, enquiries, consignments and a full audit log
- Sales reports with CSV export, and site settings
The bidding engine
Bidding that behaves like a real saleroom
Bidders set a private maximum and the system bids for them, one step at a time, only as high as it has to. Here is exactly what happens.
Current price
$105
Ben leads. The price went only one step past Ana’s maximum.
-
1
Ana bids $60, with a private maximum of $100
The price is $60. Nobody else can see her $100.
-
2
Ben bids $70, maximum $90
Ana’s maximum is higher, so her proxy bids back automatically at $95, one step past Ben. Ana still leads.
-
3
Ben comes back: $100, maximum $150
Ben now beats Ana’s $100, so the price becomes $105, not $150. Ana gets a “you’ve been outbid” notification.
-
Anti-snipe soft close
A bid in the last five minutes pushes the end time out to two minutes from now, so nobody wins by bidding in the final second. Both times are editable in settings.
-
Reserve prices stay secret
The public sees only “reserve met” or “not met”, never the amount. When a bidder’s maximum covers the reserve, the price rises to meet it, as it does on eBay.
-
A double-click never bids twice
Every bid carries a request ID. A retry places nothing new, and a changed bid under the same ID is refused.
-
Live, and honest about time
The countdown is synced to server time, the panel refreshes on its own, and bidders see “You’re leading” or “You’ve been outbid” at a glance.
These rules run for real in the built-in demo API, so you can try them. The same rules
are written up for your backend in docs/spec/, with a table of worked
examples it must reproduce exactly.
Feature list
Built in, not bolted on
The details that usually get cut from a template are the ones an auction site lives on.
-
No hard-coded content
Site name, menus, homepage sections and legal pages all come from the API. Your client edits content in their backend, not in React files.
-
Watchlist
Bidders follow lots and get told before they end.
-
Invoices
Hammer price, buyer’s premium and tax, exact to the cent.
-
Two-factor sign-in
Optional TOTP, e-mail verification and password reset.
-
Notifications
Outbid, won and watched-lot alerts in an inbox.
-
Consignments
“Sell with us” requests land in the admin inbox.
-
SEO ready
Metadata, Open Graph, sitemap, robots.txt and Product structured data.
-
Safe to launch
A production server refuses to serve the demo data unless you explicitly ask it to, so a missing API setting can never put the demo site and its public admin login live.
-
Light, dark, system
Both themes designed, not inverted.
-
Accessible
Keyboard and screen-reader friendly markup throughout.
API-first
Start on demo data. Switch to yours with one line.
Every piece of data flows through one typed API client. Out of the box it answers from
the built-in demo API. Set API_BASE_URL and the same site runs on your
backend.
# Nothing to set. The demo API answers.
API_BASE_URL=
# Point the same site at your backend.
API_BASE_URL=https://api.your-site.com/v1
-
Every endpoint documented
Request and response shapes, errors, auth and the order checks run in: everything your backend has to implement.
-
Wrong shapes fail loudly
A backend that returns the wrong field gets a clear error naming it, not a blank page three screens later.
-
Step-by-step connection guide
From your first endpoint to scheduling the automatic open and close of auctions.
Screens
Captured from the template as it ships
The real template running on its own demo data. Nothing here is a mock-up, and you can open every one of these pages in the live demo.
Phone first
Most bids arrive from a phone
Every screen is designed for a thumb as well as a mouse, from the catalogue to the admin tables. It holds up down to a 320-pixel screen with no sideways scrolling.
- Bid panel and countdown stay readable on small screens
- Touch-sized controls and a proper mobile menu
- Fast: pages are rendered on the server
Stack & quality
A modern stack, engineered to last
The same checks we run before a release ship with the template, so your team can keep running them.
- Next.js 15App Router
- React 19Server Components
- TypeScriptstrict mode
- Tailwind CSS v4design tokens
- Zodruntime contracts
- Vitestunit & contract tests
- Playwrightend-to-end tests
- GitHub ActionsCI workflow
Bundle budget
A check fails the build when page JavaScript grows past its limit.
Secret scan
The client bundle is scanned so a server key can never ship to browsers.
Three kinds of docs
An offline HTML guide for site owners, developer docs, and the backend rules spec.
Quick start
Running in two commands
No database, no .env file and no backend needed to see everything
working. Sign in with a demo account and explore both sides, locally or on the live
demo.
- Admin
admin@demo.test- Bidder
bidder@demo.test- Password
demo1234
The public demo resets every six hours. Accounts and site settings are locked; bidding, watching and catalogue editing all work.
Requires Node.js 20+ and pnpm 9. Deploys to Vercel, Netlify, a VPS or Docker.
$ pnpm install
Packages installed ✓
$ pnpm dev
▲ Next.js 15 ready on http://localhost:3000
Demo API loaded · auctions live ✓
Licence
One licence, one website
Sold directly by WaaFaa. Build it for yourself or for one client, and change anything you like.
Auctionyx · Next.js template
Full source code
Public site, bidder account, admin dashboard, demo API, API contract, bidding spec and documentation.
You may
- Run one production auction website, yours or a client’s
- Modify the code and connect it to any backend
- Host it anywhere you control
You may not
- Resell or share the source as a template or starter kit
- Publish the source in a public repository
Checkout is not open yet. Email us to hear the day it is, or to ask anything before you buy.
Email about AuctionyxSupport by email
Help with installation and bug fixes, within 1–2 business days, Monday to Friday, Bangladesh time (GMT+6).
Updates
New versions are delivered by re-download, with a changelog for every release.
Not part of support
Building your backend and custom design work. Those are projects, not support tickets.
Questions
Frequently asked questions
Does it include a backend or database?
No. Auctionyx is the complete front end. It ships with a built-in demo API so everything works for previews, design and development, but that data lives in memory and resets. To take real bids, a backend (database, e-mail, payments and an auction scheduler) must implement the documented API. You or your developer can build it in any language.
Which backends can it work with?
Any backend that speaks the documented REST API: Node, Laravel, Django, Rails, Go, or even WordPress. The template does not care what is behind the URL, only that the responses match the contract. When they do not, it tells you exactly which field is wrong.
Can I host it on shared PHP hosting?
No. Auctionyx is a Next.js application and needs a Node.js 20+ host: Vercel, Netlify, Render, a VPS with pm2, or Docker. The developer docs include a deployment guide for each.
Can I build a site for a client?
Yes. One licence covers one production website, whether it is yours or a client’s. For a second site, buy a second licence. You may not resell the source code itself as a template or starter kit.
Can I use the demo photos on my live site?
They are there to show the design. The photos come from Wikimedia Commons under
their own licences, listed with credits in public/images/CREDITS.md.
Replace them with your own images before you launch. If you keep any, keep its
credit.
How do I change the name, colours and content?
Site name, menus, homepage sections and legal pages come from the API, so in production they are edited in your backend. Colours, fonts and the logo are design tokens and files in the project. The offline guide walks through each step.
Is the demo safe to put online?
Yes, when you ask for it on purpose. A production server refuses to serve demo data
unless API_MODE=mock is set. A public demo also locks the demo accounts
and settings, masks what visitors type in the admin, and resets its data every six
hours.
What do I need to know to customise it?
For content and colours, very little. The offline guide covers it. For deeper changes you should be comfortable with React, Next.js and TypeScript. The code keeps one simple rule: pages never fetch data themselves, they call a service, so every change has one obvious place to go.
Skip months of front-end work.
Start with an auction website that is already finished, and spend your time on the part that makes it yours.