CultureHaus

Pending kickoff

CultureHaus·Issued 2026-11-09·Team: External backend team

Project overview

CultureHaus is a South African student marketplace connecting brands and suppliers with university students. The platform lets students discover deals, products, and campaigns targeted at the student market. The site is migrating from a Shopify-hosted storefront to a custom headless Next.js frontend, keeping Shopify as the commerce backend for products, cart, and checkout. A lightweight custom backend (Cloudflare Workers and D1) handles student-specific data: profiles, deal redemption tracking, campaign participation, and notifications.

Live siteculturehaus.co.za
Staging URLculturehaus-client-preview.clekzo.workers.dev
Staging passwordNqoba2026
Studio contact[email protected]
Brief issued2026-11-09

Tech stack

FrontendNext.js 15, React 19, Tailwind CSS v4, Framer Motion
Commerce backendShopify (store ID: 2925a6, domain: 2925a6.myshopify.com)
Shopify SDKshopify-buy v3.0.7 (Storefront API v2024-10)
Custom backendCloudflare Workers + D1 (SQLite at the edge)
File storageCloudflare R2
HostingCloudflare Pages (staging) — production TBC
EmailBrevo SMTP
PaymentsPayFast
AuthShopify Customer Accounts API + JWT sessions

Git access

Send your GitHub username to [email protected] to be added as a collaborator. Use feature branches and pull requests only. Do not push directly to main.

Branch convention: feature/short-description
culturehaus-web
Main Next.js frontend
github.com/Clekzo-cmd/culturehaus-web
culturehaus-storefront
Storefront layer (confirm scope at kickoff)
github.com/Clekzo-cmd/culturehaus-storefront

Scope of work

In scope
  • Cloudflare Workers API — edge API handling student auth (JWT + Shopify Customer Accounts), deal redemption, campaign participation, and notification dispatch
  • D1 schema and migrations — SQLite schema for student profiles, quiz history, deal redemption records, campaign participation
  • Shopify Metaobject integration — query Storefront API for deals, events, and campaign content defined as Metaobjects
  • Webhook handlers — receive and process Shopify webhooks for order, customer, and product events with signature validation
  • Environment variable documentation — ensure .env.example is complete before engagement ends
Out of scope
  • Changes to the Next.js frontend UI or component library
  • Changes to the Shopify store (products, collections, theme, apps)
  • DNS, domain, or hosting configuration
  • Production deployment (studio handles this)
  • Brevo campaign management or list management
  • Live payment processing (sandbox only during this engagement)

Definition of done

  • All Workers routes deployed to staging and returning correct responses
  • D1 schema is migrated and all tables are documented
  • Shopify Metaobject queries return live data in staging
  • Webhook handlers validate signatures and process events correctly
  • .env.example is complete with every required variable
  • A pull request is open against main with all work reviewed and passing

Staging vs production rules

  • All development and testing happens in the staging environment or on localhost
  • No production data is used in staging or local environments
  • Do not deploy to production — the studio handles all production deployments
  • Do not make changes to DNS, domain, or billing accounts
  • Do not add or modify Cloudflare account-level settings outside the scope of work
  • Do not create new Shopify apps, OAuth connections, or third-party integrations without written approval
  • Do not add collaborators to the GitHub repository or Cloudflare account

Architecture

Browser (student)
      |
Next.js 15 frontend (Cloudflare Pages)
      |           |
      |           Shopify Storefront API
      |           (products, cart, checkout)
      |
Cloudflare Workers API  ← this engagement
      |           |           |
      D1          R2          Brevo SMTP
  (student data) (assets)    (email)
      |
Shopify Customer Accounts API (auth)
Data ownership
Products, collections, cartShopify
Deals, events, campaigns (content)Shopify Metaobjects
Student profilesD1
Deal redemptionsD1
Campaign participationD1
Quiz historyD1
Uploaded assetsR2
Transactional emailBrevo
PaymentsPayFast via Shopify checkout
When you are done

Push all work to the repository and open a pull request. Confirm to the studio in writing that all work is submitted. Delete your local .env.local file. The studio will revoke all access within 2 business days of final sign-off.