Complete guide for uploading and configuring the HelloAG AgOS platform on Hostinger Apache shared hosting. Covers all four layers: institutional website, intelligence dashboards, platform modules, and JS libraries.
Two issues currently break the live site entirely. Fix these before uploading any other files or the platform will appear to work while silently failing all data queries.
Every price chart, FSI score, ABRS figure, and CVI calculation on the platform is running on fallback/hardcoded data. The actual 186,000+ AMIB records are not being queried. The key ends in .placeholder and must be replaced before the platform is used in any demo or meeting.
Fix: Open helloag-databridge.js locally. Find the line const SUPABASE_ANON = 'eyJ...placeholder'. Replace the entire value with the real anon key from: Supabase Dashboard → Project HAIS-JASPIS-PROD → Project Settings → API → Project API Keys → anon public. Save and re-upload.
Anyone visiting helloagriculture.com currently sees the operator dashboard entry point, not the institutional homepage. The new index.html — "The Operating System for Food Security" — must replace it.
Fix: In Hostinger File Manager, rename the existing index.html to platform.html first. Then upload the new index.html. Order is critical — if you upload first, Hostinger will ask to overwrite and the old platform file is lost.
Upload all 56 files to public_html root. Flat structure — no subdirectories. The .htaccess handles all routing.
Follow these steps exactly. The rename on Step 2 must happen before Step 4 or the old AgOS platform will be overwritten and lost.
Open helloag-databridge.js locally in a text editor. Find the line const SUPABASE_ANON = 'eyJ...placeholder'. Replace the entire string value with the real anon public key from Supabase → Project Settings → API. Save. This is the most important step. Do it before anything else.
Navigate to hPanel → Files → File Manager. Open the public_html folder. This is where all platform files live. Do not create any subdirectories — all 56 files deploy flat to the root.
Find index.html in public_html. Right-click → Rename. Change to platform.html and confirm. This preserves the old four-pillar persona selector at helloagriculture.com/platform. The new institutional homepage replaces it as the root.
In File Manager, click Upload. Select all 56 files at once. Hostinger supports batch upload. If any file conflicts with an existing one, choose Replace — this is intentional for updated files. The .htaccess will also be uploaded here.
.htaccess appears. If it does not appear, it was filtered out — re-upload it individually.If the old file helloag-demo-overlay.js exists in public_html, right-click → Delete. The new helloag-nav.js has replaced it. If it does not exist, skip this step.
Select all HTML, JS, and .htaccess files. Right-click → Permissions. Set to 644. This is the correct permission for public web files on Apache shared hosting. The .htaccess should also be 644.
In hPanel → Performance → CDN, click Purge Cache. Also clear your browser cache (Ctrl+Shift+R or Cmd+Shift+R) before testing. Without clearing both, your browser may show cached old files even after upload.
Verify every URL in the test checklist below. The most important checks are the homepage (new institutional design), Supabase data loading (FSI should show 74.2, not 0 or N/A), and the no-www redirect.
The .htaccess file handles all clean URLs, redirects, and security. The complete 28-route map is below. If a route returns 404, first check that the .htaccess file is visible (hidden files enabled) and that its permissions are 644.
| Clean URL | Resolves To | Layer |
|---|---|---|
| / | index.html | Institutional |
| /platform | platform.html (old AgOS) | Platform |
| /about | about.html | Institutional |
| /consulting | consulting.html | Institutional |
| /research | research.html | Institutional |
| /knowledge-center | knowledge-center.html | Institutional |
| /project-tea-red | project-tea-red.html | Institutional |
| /helloag-os | helloag-os.html | Institutional |
| /stakeholder-intelligence | stakeholder-intelligence.html | Institutional |
| /solutions/government | solutions-government.html | Institutional |
| /solutions/tourism | solutions-tourism.html | Institutional |
| /solutions/finance | solutions-finance.html | Institutional |
| /solutions/agribusiness | solutions-agribusiness.html | Institutional |
| /solutions/development | solutions-development.html | Institutional |
| /intelligence | HelloAG_Executive_Dashboard.html | Intelligence |
| /command | HelloAG_Command_Center.html | Intelligence |
| /twin | HelloAG_Digital_Twin.html | Intelligence |
| /fsi | HelloAG_FSI_Dashboard.html | Intelligence |
| /cvi | HelloAG_CVI_Dashboard.html | Intelligence |
| /jais | HelloAG_JAIS_Dashboard.html | Intelligence |
| /imports | HelloAG_Import_Monitor.html | Intelligence |
| /brief | HelloAG_Executive_Brief.html | Intelligence |
| /map | HelloAG_GIS_Map.html | Intelligence |
| /connect | tab-taii.html | Connect |
| /sentinel | tab-abrs-dashboard.html | Sentinel |
| /register | tab-farmer-selfregistration.html | Sentinel |
| /insights | tab-market-intelligence.html | Insights |
| /data | ask-the-data.html | Insights |
| /forecast | HelloAG_Yield_Forecast.html | Insights |
| /crm | helloag_crm.html | Tools |
| /simulation | HelloAG_Sentinel_Simulation.html | Sentinel |
The platform connects to Supabase project HAIS-JASPIS-PROD (qnuyujjstnibidhwnxgx). All queries use the anon key — a read-only public credential. The service_role key must never appear in any client-side file.
Log in to supabase.com → Project HAIS-JASPIS-PROD → Project Settings → API → Project API Keys → copy the anon public key (the long eyJ... string that does not end in "placeholder").
Open the file locally. Find line 2:const SUPABASE_ANON = 'eyJ...placeholder';
Replace the full quoted string with the real key. Save. Re-upload to Hostinger.
Visit helloagriculture.com/fsi. The FSI score should show 74.2 (computed from live AMIB data), not 0, N/A, or a loading spinner that never resolves. If it shows the fallback value, the key is still wrong or the Supabase project is paused.
Run these checks immediately after uploading. Browser-clear cache first (Cmd+Shift+R). Test from a private/incognito window to avoid cached sessions.
helloagriculture.com. Should show dark hero with "The Operating System for Food Security" headline, not the old persona selector tiles.http://helloagriculture.com. Should redirect to https://www.helloagriculture.com with a 301.helloagriculture.com (no www). Should redirect to www.helloagriculture.com. Previously returned 403./fsi. FSI score should show 74.2. If it shows 0 or N/A, the anon key is still the placeholder.helloagriculture.com/platform. Should load the old four-pillar AgOS operator hub./about, /consulting, /research, /solutions/government. All should load without 404./connect. Should load the dark command centre TAII with 10 subnav tabs. No green/white old aesthetic./twin. Select Hurricane Cat 4, click Run. FSI impact and economic loss figures should calculate and display within 2 seconds./data. Should auto-run Market Overview on load. Record count badge should show the live count (186,999+), not 0./register. Six-step form should load. GPS location request should appear on Step 4./crm. Dashboard should show 12 seed contacts. Pipeline columns should render. CSV import button visible in topbar./crm in one tab. Open /consulting in another. Submit the form. Return to CRM — a new lead should appear at top of contacts list within 3 seconds (BroadcastChannel delivery)./intelligence. Confirm helloag-databridge.js, helloag-recommendations.js, and helloag-forecast.js all return 200..htaccess appears in public_html root.First, check that .htaccess is in public_html root and visible (enable Show Hidden Files in File Manager). If present, check permissions are 644 — 444 or 755 will prevent Apache from reading it. If permissions are correct, the .htaccess rule may be missing for that route — compare against the route table above.
The Supabase anon key in helloag-databridge.js is still the placeholder. Open the file, replace the key ending in .placeholder with the real anon public key from Supabase → Project Settings → API. Re-upload. Also confirm the Supabase project HAIS-JASPIS-PROD is not paused in the Supabase dashboard — free tier projects pause after 7 days of inactivity.
You uploaded the new index.html before renaming the old one, or Hostinger's CDN is serving a cached version. First, in Hostinger hPanel → Performance → CDN → Purge Cache. Then hard-refresh your browser (Cmd+Shift+R). If still wrong, confirm the file in public_html is the new institutional version — open it in File Manager and check that the title says "The Operating System for Food Security".
The BroadcastChannel only works when both pages are open on the same domain in the same browser. Confirm: (1) both tabs are on www.helloagriculture.com (not one on http and one on https), (2) the consulting.html on the server is the updated version with the BroadcastChannel code — not the old version that just changed the button text. If the CRM tab was not open when the form was submitted, the lead enters the localStorage queue and will appear when the CRM is next opened (it polls every 3 seconds).
This file is new — it was not in the original deployment. Confirm it uploaded correctly. In Hostinger File Manager, search for "forecast" — if it does not appear, re-upload helloag-forecast.js individually. This file is required by HelloAG_Yield_Forecast.html at /forecast.
Files starting with a dot are hidden by default. Click the gear icon in the top right of Hostinger File Manager and enable Show Hidden Files. If the .htaccess still does not appear, it was not uploaded — upload it again. Ensure your local file has the dot — some operating systems hide dotfiles from the file picker. If needed, rename it to htaccess.txt, upload, then rename it to .htaccess in File Manager.