Everything you own, what is in it, and how to run it yourself — on Cloudflare or anywhere else.
This document accompanies the complete source code for Top It Off Smoothie Cafe. The code, the content, the images and the design are yours. Nothing here depends on Vivere Web Development continuing to be involved.
The codebase is under Git version control — 38 recorded changes on branch main. Every change is reversible, and the full history can be handed to you or to any developer you hire.
Scope of these figures. The counts above describe your website. Our own working material for this project — drafts, research, marketing files and archives, 1 files in proposal — sits alongside it in our system and is deliberately excluded here and from the code archive. It is not part of your site and does not need to travel with it.
You do not need permission to move it, change it, hire someone else to work on it, or host it somewhere else. Sections 5 and 6 explain exactly how.
The top-level folders:
| Folder | Contains |
|---|---|
assets\ | Images, video and downloadable files used by the site |
functions\ | Server-side code — see section 4 |
| Type | What it is | Files | Size |
|---|---|---|---|
.jpeg | Images | 42 | 107.3 MB |
.html | Web pages | 7 | 88 KB |
.json | Data / config | 6 | 1.9 MB |
.js | Browser code | 3 | 14 KB |
.webp | Images (modern format) | 2 | 212 KB |
.mp4 | Video | 2 | 19.1 MB |
.zip | Other | 2 | 231.9 MB |
(none) | Other | 2 | 577 bytes |
.png | Images | 2 | 25.4 MB |
.md | Documentation | 2 | 5 KB |
The site runs on Cloudflare Pages, a website hosting
service. The project is named top-it-off and answers on topitoffgj.com.
How updates reach the site: The folder is uploaded as-is. Every file in it becomes publicly reachable.
_headers — security and caching rules. Cloudflare- and Netlify-specific. Other hosts configure this differently._redirects — URL forwarding rules. Cloudflare and Netlify read this file; most other hosts do not.This site is not purely static. 2 server-side file(s) live in
functions/ — flavors-get.js, flavors-set.js. On Cloudflare these run automatically as
Pages Functions.
It also uses KV storage (key-value database). That data lives in your Cloudflare account rather than in the code, so moving hosts means moving or rebuilding it too.
What this means if you move hosts: the pages will still load and look correct, but anything those functions power — order forms, quote requests, contact submissions, saved data — stops working until it is rebuilt for the new host. Netlify Functions, Vercel Functions and AWS Lambda all do the same job, but the code must be adapted. It is not a copy-and-paste move.
The simplest path is to stay on Cloudflare Pages and take ownership of the account. Section 5 covers that, and everything keeps working exactly as it does today.
This is the simplest option, and it keeps every feature working. Cloudflare Pages has a free tier that covers a site of this size comfortably.
the project folder:
npx wrangler login
npx wrangler pages deploy . --project-name top-it-off
Cloudflare returns a one-off preview address. Check that one first — the main
address can take a minute to catch up, and checking it too early shows you the old version.You are not tied to Cloudflare. Read section 4 first — the server-side features need rebuilding on any other host.
| Host | Good for | What to know |
|---|---|---|
| Netlify | Closest equivalent | Reads _headers and _redirects the same way. Functions must be rewritten for Netlify Functions. |
| Vercel | Strong developer tooling | Uses its own configuration format. Functions must be rewritten for Vercel Functions. |
| GitHub Pages | Free and simple, static only | Not suitable — cannot run this site’s server-side features. |
| Traditional web hosting | Bundling with existing services | Upload the files over FTP. Server-side features will not work without a rebuild. |
Whatever you choose, keep a copy of the code somewhere you control — a private GitHub repository or a backup drive. The host is replaceable. The code is the asset.
Your site answers on topitoffgj.com. The domain is registered and paid for separately from the hosting — they are two different things, and you can change one without touching the other.
Confirm you are the registered owner. Whoever controls the domain registration controls the address. If it is not currently in an account you own, have it transferred before anything else — it is the one piece that is genuinely hard to replace.
The code is complete. These sit outside it and need their own handover: