- Product
- SavvyCodes
- Sector
- Coupon codes, deals & shopping rewards
- Our role
- Full-stack architecture, development and CMS implementation
- Status
- Live and actively developed
- 50K+store records supported by the platform
- 3 layersNext.js, Directus and PostgreSQL
- Targetedcache tags and webhook revalidation
- Headlesscontent and catalogue operations
See the live platform
The platform is live, but SavvyCodes is not the client’s real brand or website. To protect the client’s privacy and keep this case study from competing with their own site in search results, it is shown here under a name used only for this case study, with a re-themed interface. Get in touch and we will show you the real platform.
Request the live demoShared privately, on request
Want the architecture walkthrough?
We can explain the data model, Directus workflow, cache strategy and large-catalogue SEO in more detail.
Book a walkthroughAbout 30 minutes, no obligation
The brief: a coupon website like SimplyCodes
The product was inspired by SimplyCodes and the patterns it made familiar: searchable retailers, trustworthy code status, store-specific guidance and visible community activity. The engineering challenge was to turn that inspiration into an independently structured product that could support more than 50,000 stores without making each visitor wait for the full catalogue.
That meant treating content management, relational data, caching, search discovery and community interactions as one architecture. The public site needed to feel immediate; editors needed practical control; and a coupon, store or verification change needed to reach the right page without invalidating the entire application.
What a coupon or referral website needs
The same foundations serve a coupon site, a deals site or a referral code site, where members post and check each other’s codes. SavvyCodes was built on all of them:
A store and offer catalogue
Stores, categories, codes and deals as related records, so one change shows up on every page that uses it.
Proof that codes work
Shopper verifications, success rates and last-used dates, so visitors can judge a code before they reach checkout.
Community sharing and rewards
Member accounts, shared codes and tips, and rewards for contributing. This is the core of a referral code website.
Search-ready store pages at scale
A page per store with its own metadata, structured data and sitemap entry, generated from the catalogue rather than written by hand.
An admin the content team can run
A headless CMS for stores, coupons, articles, pages, media, theme and roles, with no developer needed for day-to-day changes.
Speed under a large catalogue
Pre-rendering, targeted caching and webhook revalidation, so pages stay fast as the store count grows.
Several ways into a very large catalogue
Search serves shoppers who already know the store. Categories, popular retailers, trending codes and live activity support visitors who are still exploring. The same store data is reused across these routes rather than maintained as disconnected landing pages.
— view the complete, scrollable screenshot
— view the complete, scrollable screenshot
— view the complete, scrollable screenshot
A store page that explains more than the code
Store pages bring together current offers and the signals needed to judge them: shopper checks, recent activity, the best months to shop, community tips, reviews and similar stores. Dynamic metadata, breadcrumb data and structured offer markup are generated from the same records so discovery and presentation stay aligned.
— view the complete, scrollable screenshot
Guidance that builds trust
Coupon sites live or die on whether shoppers believe the codes work. Guide and trust pages explain how to use a code, how codes are checked and why the community matters, and editors update them in the CMS like any other page.
— view the complete, scrollable screenshot
— view the complete, scrollable screenshot
Accounts support a real community layer
Members can contribute to code health and community activity through authenticated interactions. The account foundation includes validated signup, secure password hashing, email verification, password recovery, protected account routes and audit-aware rate limiting.
— view the complete, scrollable screenshot
— view the complete, scrollable screenshot
Editorial content supports the shopping journey
The blog adds durable guidance around the fast-moving offer catalogue. Directus-managed authors, categories, media and SEO fields flow into responsive Next.js templates and related-content navigation.
— view the complete, scrollable screenshot
— view the complete, scrollable screenshot
Directus as the operational layer
Directus sits over PostgreSQL as a headless CMS and structured administration environment. It gives editors practical controls while the Next.js frontend consumes the same relational data through a typed service layer.
A catalogue editors can operate
Directus gives the content team structured tools for the stores, categories and offers that power public discovery.
— view the complete, scrollable screenshot
— view the complete, scrollable screenshot
— view the complete, scrollable screenshot
— view the complete, scrollable screenshot
— view the complete, scrollable screenshot
— view the complete, scrollable screenshot
Editorial publishing and site pages
Articles and the site's own pages are managed in the same headless CMS while remaining separate content domains.
— view the complete, scrollable screenshot
— view the complete, scrollable screenshot
— view the complete, scrollable screenshot
— view the complete, scrollable screenshot
Brand, assets and data modelling
The CMS also centralises media, theme values, site-wide settings and the relational model behind the application.
— view the complete, scrollable screenshot
— view the complete, scrollable screenshot
— view the complete, scrollable screenshot
— view the complete, scrollable screenshot
Automation and access control
Directus Flows keep the public site in step with the CMS, and roles decide who can change what.
— view the complete, scrollable screenshot
— view the complete, scrollable screenshot
— view the complete, scrollable screenshot
— view the complete, scrollable screenshot
The screenshots show the platform under the SavvyCodes name and theme used for this case study. The structure, workflow and features are those of the live product.
Engineering decisions worth explaining
Cache the catalogue in useful pieces
Store records, codes, reviews, FAQs, activity, categories, navigation and settings use separate cache keys and durations. A change can invalidate the affected data without turning every request back into a database read.
Revalidate from the content event
A secret-protected webhook endpoint maps Directus changes to precise cache tags. Store, coupon and verification updates resolve the affected retailer, clear its dependent data and rebuild only its route.
Combine ISR with deliberate warming
High-value pages are pre-rendered, the long tail is generated on demand, and a resumable sitemap-driven warmer fills caches after deployment without overwhelming the application.
Build SEO from the data model
Canonical routes, metadata, breadcrumbs, offer and review schema, indexability rules and segmented sitemaps are produced from live records rather than maintained as a second content system.
Keep user-specific work out of shared caches
Session-dependent state is loaded separately from statically rendered routes, preserving safe personalisation without making the public catalogue dynamic.
Protect system content in the CMS
A custom Directus hook prevents core pages and system FAQs from being deleted accidentally while leaving ordinary editorial content flexible.
Built with
Application
- Next.js App Router
- React
- TypeScript
- Tailwind CSS
- Server Components
- Incremental Static Regeneration
Content & data
- Directus headless CMS
- PostgreSQL
- Directus SDK
- Directus Flows
- Relational content modelling
- Organised asset management
Platform services
- Tagged data caching
- Webhook revalidation
- Sitemap cache warming
- NextAuth
- Zod validation
- Nodemailer
- Sharp image processing
Related services: Custom Web Applications, Business Websites, Technical Support & Maintenance.
Building a coupon website: common questions
What features does a coupon website need?
At minimum: a searchable catalogue of stores and categories, a page per store listing its codes and deals, a clear way to reveal and copy a code, and signals that show whether a code still works. SavvyCodes adds shopper verifications, live activity, community tips, reviews, member accounts and rewards, all managed from a headless CMS.
Can the same platform run a referral code website?
Yes. A referral code site has the same shape as a coupon site: stores or brands, codes submitted by members, checks on which codes work, and rewards for sharing. The store, code, verification and account models behind SavvyCodes carry over directly, so the main work is in the submission rules and how rewards are earned.
Which technology is best for building a coupon website?
For a large catalogue, a server-rendered framework with a headless CMS works well. We used Next.js for the public site, Directus as the CMS and PostgreSQL for the data. Store pages are pre-rendered and cached, editors work in Directus, and changes reach the site through webhooks without a redeploy.
How does a coupon website stay fast with tens of thousands of store pages?
By caching each kind of data separately and only refreshing what changed. In SavvyCodes, saving a store or a code triggers a Directus flow that clears that store's cache tags and rebuilds only its page. Popular pages are pre-rendered, the long tail is generated on first visit, and a cache warmer fills the rest after each deployment.
How does a coupon website rank in search?
Mostly through its store pages. Each one needs its own canonical URL, title, description, breadcrumbs and offer markup, and the sitemaps need to list every indexable store. SavvyCodes generates all of this from the store and coupon records, so a new store is search-ready the moment it is published.
Can I see the real platform behind SavvyCodes?
Yes. SavvyCodes is the name we use for this case study to protect the client's privacy. Contact us and we will arrange a private demo of the live platform.
Planning a coupon, deals or referral website?
We can build the store catalogue, code verification, member rewards, headless CMS and search foundations as one maintainable product.
