// HomePage.jsx // // The "/" page - extracted from index.html so every route (including Home) // follows the same one-file-per-page pattern the per-path migration uses. // STAT_ICONS/STATS are Home-specific data, not a second module registry - // ModuleGrid still reads the shared global REAL_MODULES (EarlyAccessGate.jsx), // and SolutionsTeaser reads the shared global SOLUTIONS (SolutionPage.jsx, // added to index.html's script list for this) - same single-source // reasoning both already followed elsewhere on this site. // // Deepened with SolutionsTeaser (Home never linked to the Solutions pages // at all before this - only Navbar's dropdown and Footer did) and a // top-of-funnel HomeFAQ - deliberately short and link-out heavy (Tally // Integration, About, Pricing, Product, Security) rather than duplicating // those pages' own, more detailed FAQs. // // Loaded as a classic (non-module) Babel-transformed script - see // index.html's header comment. React 19 ships no UMD global, so // `window.React` here is the bridge index.html's ESM import sets up; hooks // are called as `React.useState` etc. (fully qualified) for the same // shared-global-scope reason documented in Navbar.jsx. function Hero() { return (
Manufacturing Operations Automation Platform

Transform how your manufacturing business runs - from purchase to production to dispatch.

Stop losing money to wastage you can't see, stockouts you didn't predict, and production delays nobody flagged in time. SkelBiz replaces the spreadsheets between your purchase orders, your production floor, and your dispatch desk with one system that adapts to how your business actually works - not the other way around.

Request a Demo Explore the Platform
); } // Icons are small inline SVGs (no icon-library dependency) - kept as plain // functions so StatsStrip/TrustSection can stay data-driven (icon key → // component) instead of hand-repeating JSX per tile. const STAT_ICONS = { grid: (p) => ( ), sync: (p) => ( ), globe: (p) => ( ), shield: (p) => ( ), factory: (p) => ( ), cloud: (p) => ( ), lock: (p) => ( ), warehouse: (p) => ( ), refresh: (p) => ( ), users: (p) => ( ), }; // Each hue maps to real Tailwind colors this config leaves un-overridden // (only blue/emerald/green were repainted to brand navy/green, per // index.html's tailwind.config comment) - sky/amber/violet stay distinct // from the brand ramp so the strip reads as a genuine 4-color system // instead of everything defaulting to brand green. const STAT_HUES = { emerald: { chip: "bg-emerald-50 text-emerald-600", ring: "border-emerald-100" }, sky: { chip: "bg-sky-50 text-sky-600", ring: "border-sky-100" }, amber: { chip: "bg-amber-50 text-amber-600", ring: "border-amber-100" }, violet: { chip: "bg-violet-50 text-violet-600", ring: "border-violet-100" }, }; const STATS = [ { icon: "grid", hue: "emerald", value: `${REAL_MODULES.length} Modules`, label: "One platform for purchase, production, and dispatch" }, { icon: "factory", hue: "emerald", value: "Full Floor Automation", label: "A configurable workflow engine end to end, not just a ledger" }, { icon: "globe", hue: "sky", value: "Multi-Language Ready", label: "Multi-languages live today - Indian & global languages on request" }, { icon: "warehouse", hue: "sky", value: "Multi-Warehouse Ready", label: "Run one warehouse or ten, with a default-warehouse fallback" }, { icon: "sync", hue: "amber", value: "Tally Integration", label: "Confirmed sales orders sync into Tally as vouchers" }, { icon: "refresh", hue: "amber", value: "Real-Time Inventory", label: "Stock balances update the moment goods actually move" }, { icon: "shield", hue: "violet", value: "Enterprise-Grade Security", label: "JWT auth, per-company roles, strict tenant isolation" }, { icon: "users", hue: "violet", value: "Role-Based Access", label: "View, Contribute, or Manage - set independently per module" }, ]; function StatsStrip() { return (
{STATS.map((s) => { const Icon = STAT_ICONS[s.icon]; const hue = STAT_HUES[s.hue]; return (
{s.value}
{s.label}
); })}
); } function TrustSection() { return (
Founding Pilot Partner

Babji Food Industries

A food manufacturing business running its purchase orders, multi-warehouse inventory, and production workflow on SkelBiz today. We're early - one pilot partner, not a logo wall - and we'd rather earn the second one than pad this section with names that don't belong here yet.

Become our next pilot partner →
Infrastructure

Built on infrastructure you can trust

We don't cut corners on where your data lives. Files and documents are stored on{" "} Amazon S3, and the platform runs on a dedicated, secured Hostinger VPS - the same class of infrastructure used by companies far larger than us, not a shared free-tier server.

{[ { icon: "cloud", label: "Amazon S3 File Storage" }, { icon: "lock", label: "Dedicated VPS Hosting" }, { icon: "shield", label: "Tenant-Isolated Data" }, ].map((b) => { const Icon = STAT_ICONS[b.icon]; return (
{b.label}
); })}
See our full security approach →
); } const COMPARISON_ROWS = [ { label: "Purchase, inventory, and dispatch on one system", sheets: false, erp: true, skelbiz: true }, { label: "Set up in days, not a multi-month rollout", sheets: true, erp: false, skelbiz: true }, { label: "Priced and scoped for an SME, not an enterprise budget", sheets: true, erp: false, skelbiz: true }, { label: "Live, per-warehouse stock - not a count you trust until proven wrong", sheets: false, erp: true, skelbiz: true }, { label: "A configurable production/WIP workflow, not a rigid fixed process", sheets: false, erp: false, skelbiz: true }, { label: "Someone actually answers when you ask for a change", sheets: true, erp: false, skelbiz: true }, ]; function ComparisonCell({ value }) { if (value === true) { return ( ); } return ( ); } function ComparisonSection() { return (

Spreadsheets weren't built for this. Enterprise ERP wasn't built for you.

Every SME manufacturer ends up choosing between two things that don't fit. Here's the honest comparison.

{COMPARISON_ROWS.map((row, i) => ( ))}
  Spreadsheets Enterprise ERP SkelBiz
{row.label}
); } // Home's primary competitive framing is Tally-only, deliberately - most of // the manufacturers we talk to already run Tally, not Zoho or Odoo, so // that's the comparison that actually lands here. The full three-way // comparison still exists (see the small link at the end of this section) // but isn't the headline, per the site owner's direct instruction. const TALLY_GAP_HIGHLIGHTS = [ { label: "Stock re-counted by hand to check it against Tally's godown register - because Tally's WIP is a balance-sheet number, not a live per-stage view" }, { label: "Dispatch confirmed by phone call, not by a record either side can point back to later" }, { label: "A partner who doesn't use Tally still has to call someone else just to know today's status" }, ]; function TallySection() { return (
SkelBiz + Tally Prime

Tally runs your books. Who's tracking everything else?

Most manufacturers we talk to already have Tally installed, and it does its job on the accounting side. The manual work is everywhere Tally was never built to cover - SkelBiz fills exactly that gap, and syncs straight into Tally instead of replacing it.

See What Tally Doesn't Cover →

Evaluating Zoho or Odoo too? See the full comparison.

{TALLY_GAP_HIGHLIGHTS.map((h) => (

{h.label}

))}
); } function ModuleGrid() { return (

{REAL_MODULES.length} modules. One source of truth.

Every module below is a real, running part of SkelBiz today - not a roadmap slide.

{REAL_MODULES.map((m) => (

{m.name}

{m.blurb}

))}
); } function SolutionsTeaser() { return (

Built for how you actually operate.

Same platform, same modules - configured around whether you make, transform, or move goods.

{SOLUTIONS.map((s) => (

{s.name}

{s.tagline}

See how it works →
))}
See all solutions →
); } function SimulatorSection() { return (
Live Simulation

Watch the Production Workflow Engine think.

This panel simulates the same stock and wastage-ledger events SkelBiz's Production module reacts to in real time - trigger a scenario below.

); } const PROCESS_STEPS = [ { title: "Request a demo", body: "See the platform running on a process that looks like yours - not a generic slide deck.", }, { title: "Pay a small onboarding fee", body: "That secures your onboarding slot and kicks off setup - it's not a subscription commitment yet.", }, { title: "An executive gets to know your operation", body: "We learn exactly how you run purchase, production, and dispatch before we configure anything.", }, { title: "We build what's genuinely missing", body: "If a real gap turns up and it's something enough customers are asking for, we build it - not a maybe-someday roadmap item.", }, { title: "Lifetime updates", body: "Every future improvement to the modules you're on is included, not a separate upsell.", }, { title: "Not satisfied during onboarding? Full refund.", body: "No questions asked. If it's not working for you before you're live, you get your money back.", }, ]; function HowItWorksSection() { return (
How It Works

From demo to live, with a real safety net.

No long-term contract signed blind, and no risk if onboarding doesn't work out.

{PROCESS_STEPS.map((step, i) => (
{i + 1}

{step.title}

{step.body}

))}
); } const HOME_FAQS = [ { q: "Does this replace our accounting system, or work alongside it?", a: "Alongside - confirmed sales orders sync into Tally as vouchers through a real local agent, not a promise. See our Tally Integration page for exactly what's automated today and what isn't yet.", }, { q: "We're not \"enterprise\" - is this actually built for a business our size?", a: "Yes - that's specifically the gap SkelBiz exists in. See our About page for why we don't chase enterprise-scale rollouts.", }, { q: "How is pricing actually determined?", a: "Scoped to your modules, warehouse count, and region on a demo call - not a one-size-fits-all number. See our Pricing page for the real Core, Production, and Enterprise tiers.", }, { q: "What if we're not sure which modules we need?", a: "That's exactly what the demo call is for - we scope it together. See our Product overview first if you'd rather look before you talk to us.", }, { q: "Is our data isolated from other companies on the platform?", a: "Yes - strict tenant isolation enforced at the API level, not just hidden in the interface. See our Security & Trust page for exactly how.", }, ]; function HomeFAQ() { return (

Frequently asked

{HOME_FAQS.map((item) => (

{item.q}

{item.a}

))}
); } function ClosingCta() { return (

See it running on a process that looks like yours.

A live walkthrough, on your own products and warehouses - not a canned script.

Request a Demo
); } function HomePage() { useDocumentMeta( "SkelBiz - Manufacturing Operations Automation Platform", "SkelBiz automates purchase orders, multi-warehouse inventory, production workflows, and dispatch on one configurable platform for SME manufacturers - with a business rules engine, Tally ERP integration, and a multi-language, multi-tenant architecture." ); // A cross-page link like /#how-it-works (see RequestDemoPage.jsx) lands // here before React has rendered anything, so the browser's native // anchor-scroll fires too early and misses. Retry once content exists. React.useEffect(() => { if (!window.location.hash) return; const id = window.location.hash.slice(1); const el = document.getElementById(id); if (el) el.scrollIntoView(); }, []); return ( <> ); }