TB Solutions  ·  → open TB Command
The complete setup & how-to guide

Everything you're running — set up & explained

One page for your whole operation: the three brands, every product, where the data lives, how to switch things on, and how to run and change any of it. If you forget how a piece works, start here.

All static HTML One database Core tools free to run Editable from your phone
1The whole picture (3 brands) 2The stack & where to log in 3Turn on storage (Supabase) 4Turn on ad tracking 5The Studio (content tool) 6TB University (course) 7Loop (rewards product) 8tbsol.net + CRM (business) 9How to change anything 10Every link, in one place 11Troubleshooting

1The whole picture

You run three brands. Each has a clear job — this is the spine of the whole thing.

🏢tbsol.net

The business. Your agency — marketing site, client CRM, capture forms, portal, reviews. This is what earns.

🎓TB University

The course / digital product. Teaches people to start an AI marketing business. Free mini-course up front, paid cohort behind it.

🛰️TB Command

The tools (SaaS). The Studio, Loop rewards, the HQ dashboard — the software you use and can sell.

Everything sits on one repo and one database. Here's how a visitor flows through it:

 Ads / social / word of mouth
        │
        ▼
 A landing page  ───────────────►  Supabase  (one database + logins + files)
 (loyalty, university,                  ▲   │
  content-studio, capture)              │   ▼
        │                          TB Command HQ  ·  Client CRMs
        ▼                          (/hq — you)       (/crm — clients)
 Lead / signup captured ────────────────┘
  
The one rule that makes it simple: every page is a single self-contained HTML file. No build step, no framework, no servers to babysit. To change a page you edit one file; to deploy you push it. That's the whole model.

2The stack & where to log in

Four accounts run the entire platform. Bookmark these.

ServiceWhat it doesLog in atCost
GitHub
nikbyrd28-pixel/tb-solutions
All the code. Each page = one folder with an index.html.github.com$0
GitHub PagesHosting. Every push to main auto-deploys to tbsol.net in ~30–60s.(automatic)$0
Supabase
qgbjiqdwzgkjkmqyjsmc
The one database — leads, clients, Loop members, logins, file storage, backups.supabase.com$0
Google AI StudioFree Gemini key that powers AI script/copy generation.aistudio.google.com$0
About keys: the anon key you'll see written into page code is meant to be public — the database's row-level security is what actually protects data. Never put a service_role key in a web page.

3Turn on storage — the one setup that powers everything

This is the only "install." Do it once and leads, clients, Loop members, and cross-device sync all light up. ~5 minutes.

1
Make a free Supabase projectsupabase.com → sign up → New project. Name it tb-command, set a database password (save it), pick the nearest region, create. Wait ~1 minute.
2
Create the tablesLeft menu → SQL Editor → New query. Open hq/supabase-schema.sql from the repo, paste the whole thing, Run. Then do the same with hq/storage-setup.sql (creates the file buckets). You'll see "Success."
3
Turn on email loginAuthentication → Providers → make sure Email is on. While it's just you, turn off "Confirm email" so you can log in instantly.
4
Grab your two keysProject Settings (gear) → API → copy the Project URL and the anon public key.
5
Paste them into HQOpen hq/index.html, near the top of the script find var SUPA_URL=''; and var SUPA_KEY=''; — paste your two values between the quotes, save, push. Open /hq, click Create your account, log in. Data now syncs across every device.
Already live: the current project (qgbjiqdwzgkjkmqyjsmc) is set up and running — this section is your rebuild recipe if you ever start fresh or hand it to someone.

What's in the database

leads your pipeline · clients your book of business · client_leads every lead captured for any client · intakes new-client intakes · tickets support · reviews testimonials (approved → homepage) · client_errors a JS error log from every page · plus the Loop tables (members, visits, rewards, prizes) behind the rewards RPCs · storage buckets: uploads (public), backups (private).

Security in one line: every table has row-level security on. Forms can insert but not read; you (owner) see everything via an email check; clients see only their own rows. The front-end is untrusted by design.

4Turn on ad tracking — before you spend a dollar

One shared file, /track.js, is already loaded on every page. Fill in four IDs once and every page tracks views + signups, and stamps each lead with the ad that produced it.

1
Open track.js (repo root)Only four lines to fill. Blank = off (nothing loads, no errors).
var META_PIXEL_ID   = '';   // Meta → Events Manager → Pixel ID
var GA4_ID          = '';   // GA4 → Admin → Data Streams → G-…
var GADS_ID         = '';   // Google Ads → AW-… id
var GADS_LEAD_LABEL = '';   // the Lead conversion's label
2
Paste your IDs, save, pushMeta Pixel + Google load automatically only when an ID is present. PageView fires on load.
3
Conversions already wiredEvery signup calls window.trackLead(), which fires a Meta Lead and a Google conversion. Ad clicks (utm_*, gclid, fbclid) are captured on landing and kept 45 days, then stamped onto the lead for attribution.
To run ads for a client: point the ad at tbsol.net/capture/?c=slug&name=Business&utm_source=facebook. Leads land in their CRM + your pipeline with the source tagged — no extra setup.

5The Studio — your content tool runs free

Turns one idea into a finished vertical video, a click-winning thumbnail, and a caption. It runs entirely in the browser — no backend needed to use it. Lead capture on the landing page is the only part that touches the database.

🎬Content Studio (landing)
tbsol.net/content-studio/

The free, ad-ready front door. Captures an email, then opens the tool. Send ads here.

🛠️The Studio (the tool)
tbsol.net/studio/

The editor itself. Everything below lives here.

What it can do

FeatureWhat it's for
AI script → videoType an idea, get a scene-by-scene script and a rendered vertical reel. Feed it your knowledge base (in Brand Kit) so scripts sound like you.
Thumbnail StudioClick-winning YouTube/thumbnail images with presets. Or snap a photo and turn it into a thumbnail.
Upload & trim videoUpload from camera roll or record on the spot; use clips as scene backgrounds; trim to ≤30s, set speed.
Teleprompter recorderGet a script, read it on-camera (whole or in segments), flip camera, re-take.
Voiceover + musicRecord a voiceover or add music; audio is mixed into the render. "Always audio."
Color grade & captionsOne-tap grades, per-scene caption position/size/color/style, transitions.
Brand Kits & templatesSave colors, logo, fonts, and a knowledge base per brand. Save your own reusable templates.
ProjectsSave / load / export / import a whole project. Undo & redo.

Set it up

1
Nothing to installThe tool works as-is. It saves brand kits and projects in the browser (localStorage).
2
Add your brandOpen the Studio → Brand Kit → set colors, logo, and paste a knowledge base (who you help, your offers, your voice). The AI reads it when writing scripts.
3
Point ads at the landing pageRun traffic to /content-studio/, not the raw tool — that's the page that captures the lead.
Multi-brand: the Studio is the content engine for all your brands — switch Brand Kits to make content that sounds like each one.

6TB University — the course

A free 4-lesson mini-course acts as the lead magnet; the paid cohort is the offer behind it. All lessons share one stylesheet (/university/u.css) and script (/university/u.js).

The funnel, in order

PageJob
/university/The premium offer page + apply form (writes to intakes).
/university/start/Free "Start Here" lesson + email opt-in → unlocks the toolkit.
/university/toolkit/The free first-client toolkit (niche cheat-sheet, outreach scripts, call framework).
/university/lessons/Mini-course hub — 4 lessons + the bonus toolkit.
/university/lessons/niche/Lesson 2 — pick a niche you can win.
/university/lessons/content/Lesson 3 — make content that sells (routes to the Studio).
/university/lessons/pricing/Lesson 4 — price it & keep clients (routes to Loop).

Run it

1
Ads → the free lessonSend cold traffic to /university/start/. It captures the email, then gives real value immediately (the toolkit).
2
Applications land in HQThe apply form on /university/ writes to intakes — read them in TB Command.
The honesty rule (keep it): no income guarantees, no get-rich-quick promises, no fake testimonials or stats. The offer is that it's real. Don't let any future edit break that.

7Loop — the rewards product

A standalone loyalty SaaS you sell to local businesses. Customers collect visits and rewards; the owner gets a dashboard; staff punch and redeem. Powered by Supabase RPCs.

🔁Loop sales site
tbsol.net/loyalty/

The landing page you send to prospects. Ad-ready, captures leads.

🎰Rewards card
tbsol.net/rewards/?c=slug

What a customer sees — visits, rewards, spin, save-to-phone.

📊Owner dashboard
tbsol.net/rewards/owner/

Members, tiers, bookings, prizes — what the business owner logs into.

📷Staff console
tbsol.net/rewards/staff/

Scan · punch · redeem at the counter. PIN-protected.

Set up a new business on Loop

1
Create the programUse the owner dashboard to set the business name, reward rules, and tiers. It gets a slug.
2
Give them their linksCustomer card /rewards/?c=slug, the printable poster /rewards/poster/?c=slug for the counter, and the staff console with their PIN.
3
They're liveCustomers scan the poster → join → collect visits. Owner watches the dashboard. This is also your retention pitch to agency clients (Lesson 4).
Security fixed & kept: no PINs in URLs, staff verify their PIN at setup, and signup only reports success when the database actually accepts it (no silent "success").

8tbsol.net + CRM — the business

The agency side. These pages capture leads for you and your clients and give clients somewhere to log in.

PageFileDoes
tbsol.netindex.htmlMarketing site + ARIA chat + reviews. Nav links to the free Studio and University.
/hq — TB Commandhq/index.htmlYour dashboard: leads, clients, pipelines, reviews moderation, analytics, and the Sites directory (where this guide is linked).
/crmcrm/index.htmlClient CRMs — each client sees only their leads; you see all.
/marketing-enginemarketing-engine/AI generator — plans, ad copy, emails, social, campaign kits.
/capturecapture/Universal lead form for any client: ?c=slug&name=Display.
/portal · /support · /review · /startportal/ support/ review/ start/Client portal, tickets, review collector, new-client intake.

9How to change anything — the 3-step loop

1
Edit the file on GitHubOpen the repo → find the file (§8 & §10 map every page to its file) → pencil icon → make your change. Works from your phone.
2
CommitScroll down → "Commit changes." That's the save button.
3
Wait ~30–60 secondsGitHub Pages deploys automatically. Refresh — it's live. Broke something? History on that file → restore the previous version the same way.
Two habits that keep it stable: (1) for the Studio and any page with a big <script>, a broken bracket takes the whole page down — check your edit before committing. (2) Database changes are add-only: new tables/columns are fine; never rename or delete a column a page uses.
Seeing old content after an edit? It's almost always your browser cache, not the deploy. Hard-refresh, or add ?v=2 to the URL to bust it.

The whole platform, tap-to-open. This same list lives in TB Command → Sites.

Business (tbsol.net)University
Main site
TB Command (HQ)
All-clients CRM
Marketing Engine
Capture template
Client portal · Support · Reviews
University (offer)
Free Start-Here lesson
First-client toolkit
Mini-course hub
L2 niche · L3 content · L4 pricing
Studio (TB Command)Loop (rewards)
Content Studio (landing)
The Studio (tool)
Loop sales site
Rewards card (demo)
Owner dashboard
Staff console · Poster

11Troubleshooting

SymptomCheck
A page is blank / broken after an editA script typo. GitHub → History on that file → restore the previous version → commit.
Site shows old contentBrowser cache, not the deploy. Hard-refresh or add ?v=2. Confirm the deploy went green in GitHub → Actions.
A signup "worked" but nothing savedSupabase → Table editor → is the row there? If not, check client_errors for the JS error, and that the anon key/URL are set.
Loop card won't loadRun hq/supabase-schema.sql + hq/storage-setup.sql; confirm the RPCs exist and the ?c=slug matches a real program.
Client says their CRM is emptyTheir clients.email must equal their login email, and clients.business must match the capture ?c= slug (case/spacing don't matter).
AI script generation failsThe Gemini key. aistudio.google.com/apikey → new key → update it.

Last updated July 23, 2026 · ← back to TB Command · tbsol.net · Privacy · Terms
This is your internal operator's manual. If the whole platform were wiped tomorrow, this page is how you'd rebuild it.