Who this is for: anyone updating the Productive IT website
(productiveit.in), the BrandGrowth OS product pages, or marketing copy.
Read this once and you'll know what you may edit freely, what needs a second
pair of eyes, and what must never be touched without the founder.
The one rule: one VPS hosts several systems side by side — the main website, BrandGrowth OS, and the mail stack (Mailu). Everything is designed so marketing can work without risk to the product, as long as you stay in your lane below.
| System | Where it lives | Who edits it |
|---|---|---|
| Main website (home, products, about, blog…) | /var/www/productiveit.in on the VPS (static files), config /etc/nginx/sites-enabled/productiveit.in |
Marketing/website team (this doc) |
| BrandGrowth OS (the app) | /opt/brandgrowth-os (Next.js), runs as systemd unit brandgrowth-os, proxied at /products/brandgrowth-os/ |
Dev only (repo + scripts/deploy.sh) |
| Mail (Mailu) | Docker stack, domains brandtroveglobal.com (live) / productiveit.in (still Zoho) |
Founder |
| DNS | GoDaddy (ns69/ns70.domaincontrol.com) |
Founder |
/var/www/productiveit.in — homepage copy, product page text, blog posts, images, CSS for the main site./products/brandgrowth-os).docs/WEBSITE_HANDOFF.md, docs/HOW_TO_USE.md (user-facing copy truth)./products/ (URL collisions with the app's basePath are the one real hazard — check with dev before adding a path starting with /products/brandgrowth-os).robots.txt, sitemap.xml, or SEO redirects (/etc/nginx/snippets/productiveit-seo-redirects.conf) — worth a dev glance so analytics/SEO stays consistent./etc/nginx/sites-enabled/productiveit.in — the location /products/brandgrowth-os/ block proxies the app; a typo here takes the product and possibly the main site offline./opt/brandgrowth-os/** — application code, .env (contains database + SMTP + AI keys), systemd unit.docker, docker compose commands), the Mailu stack, DNS records at GoDaddy, TLS certificates (/etc/letsencrypt)./srv/backups/**, /opt/brandgrowth-os/backups/**, the offsite sync.plans, feature_flags, users, orgs) — ask dev; there are safe procedures.The app's public pages (landing, pricing, how-it-works, legal) are code in the repo under app/src/app/(marketing)/, so copy edits there are made like code changes:
scripts/deploy.sh — minutes, zero downtime.app/src/app/(marketing)/pricing/page.tsx).https://productiveit.in/products/brandgrowth-os — signups open.info@productiveit.in (online checkout coming later).noreply@brandtroveglobal.com (SPF/DKIM aligned, DMARC monitored) — deliverability is verified end-to-end; don't quote inbox-placement guarantees beyond that.| Symptom | Likely cause | Action |
|---|---|---|
| Main site fine, app 502/timeout | app server down | ping dev; check systemctl status brandgrowth-os (founder) |
| App fine, a main-site page 404 | file/URL mismatch | check filename + nginx try_files behavior; static issue only |
| Both down | nginx/host issue | call the founder immediately |
| Forms say "couldn't reach the service" | app unreachable OR user's network | retry, then check healthz URL; report to dev with timestamp |
Fast triage for everyone: https://productiveit.in/products/brandgrowth-os/api/v1/healthz → {"status":"ok"} means the product is up; the problem is elsewhere.
| Area | Owner |
|---|---|
| Product/app dev, deploys, database | Dev (Codebuff sessions) |
| Domain, DNS, mail, payments, VPS billing | Founder (Upasana) |
| Main-site content, campaigns, social | Marketing/website team |
| Security incidents | Founder immediately → then dev |