/* MyOcto v2 — composed on the Newo/TechNexus design system. Sections use the system's tx-* vocabulary (marketing.css/vertical.css) and compose the bundle's parameterizable components (VerticalProof, VerticalStory). The interactive phone demos + octopus + i18n are the proven vanilla modules. */ const { useEffect } = React; const DS = window.NewoDesignSystem_6b200c || window; /* ───────────────────────── nav ───────────────────────── */ function Nav() { return (
MyOcto
Try the preview
); } /* ───────────────────────── hero ───────────────────────── */ function HeroV2() { return (
Vol. 01No. 01 A platform, not a middleman
Kathmandu → the world · 2026
One platform, many arms

Whatever you need done — find the person who does it.

MyOcto connects you with trusted independent professionals — for the things you need done two or three times a week, or whenever life gets busy. You keep your people. They keep their business. We just bring you together.

Touch the live preview See how it works No install. No sign-up.
{[ ['i.', '0%', 'Commission. Money never moves through us.', 'v2-c-signal'], ['ii.', '100%', 'Yours — customers, reputation, earnings.', 'v2-c-success'], ['iii.', 8 arms, 'One trusted core. New services are new arms.', 'v2-c-terra'], ['iv.', '1 link', 'To start. No app store between you and help.', 'v2-c-amber'] ].map(([r, num, lbl, c], i) => (
{r}
{num}
{lbl}
))}
); } /* ───────────────────────── idea + octopus ───────────────────────── */ function Idea() { return (
The MyOcto idea

We connect you — then we step back.

MyOcto is a discovery platform and a set of business tools. You tell us what you need. We show you trusted providers nearby. You pick one. We hand you their direct contact — and from that moment, it's your relationship, not ours. No fee on what you pay. No platform standing between you.

); } /* ─────────────────── how a connection sounds (vx-script) ─────────────────── */ function ConnectionScript() { const lines = [ { who: 'caller', label: 'You', text: 'I need my grocery run done Thursday afternoon.' }, { who: 'nexus', label: 'MyOcto', text: 'Three trusted people near you do grocery runs. Lena — 4.9, 214 runs, sets her own price. Want to see her profile?' }, { who: 'caller', label: 'You', text: 'She looks great. I\u2019ll take her.' }, { who: 'nexus', label: 'MyOcto', text: 'Here\u2019s Lena\u2019s direct number. From here it\u2019s between you two — we don\u2019t touch the money, ever.' } ]; return (
A connection, end to end

Thirty seconds, then it's yours.

This is the whole product. We make the introduction — the relationship, the work and the money are between you and your provider.

{lines.map((l, i) => (
{l.label}

))}

MyOcto introduced you — and then got out of the way.

); } /* ───────────────────────── how it works ───────────────────────── */ function HowItWorks() { const steps = [ ['01.', 'Tell us what you need', 'A quick tap or a sentence. That\u2019s the whole ask.'], ['02.', 'See who\u2019s available', 'A short list of trusted providers near you — with ratings and their own prices.'], ['03.', 'Choose your person', 'You pick. Always your choice — never an assignment.'], ['04.', 'Connect directly', 'You get their contact and arrange it together. MyOcto\u2019s part is done.'] ]; return (
How it works

Four steps. Then it's between you and your provider.

{steps.map(([n, t, d]) => (
{n}

{t}

{d}

))}
); } /* ───────────────────────── demos ───────────────────────── */ function Demos() { return (
Touch the product

Two sides of the same platform.

No install, no sign-up. Tap through the customer experience — then flip to what a provider gets. Everything here is sample data.

The customer preview
Need → discover → choose → connect. It ends at the handoff, on purpose.
The provider tools
Everything a pro gets for a flat membership — and keeps when they leave.
); } /* ───────────────────────── the arms ───────────────────────── */ function Arms() { const arms = [ [Concierge & Personal Assistant, 'Your part-time right hand: scheduling, waiting in line, organizing, getting things handled.', 'The right hand', 'v2-tag--signal'], [Home Services, 'Cleaning, repairs, handiwork, beauty-at-home, and more.', 'Live', 'v2-tag--success'], [Errands & Shopping, 'Grocery runs, pickups and drop-offs, \u201cgo get this for me.\u201d', 'Live', 'v2-tag--success'], [Courier & Delivery, 'Same-day document and package runs between businesses and people.', 'Live', 'v2-tag--success'], [Getting Around, 'Independent, licensed drivers near you — their rate, your direct contact. Not a fleet: no dispatch, no set fare, no payment through us.', 'First pilot', 'v2-tag--terra'], [Businesses & Merchants, 'Shops and local businesses list themselves and connect with customers and couriers directly.', 'Business tier', 'v2-tag--amber'] ]; return (
The arms

One platform. Many ways to get things done.

Each service is an arm — running on its own, connected to the same trusted core. Home help, errands, couriers, getting around, local businesses. New services are just new arms.

{arms.map(([t, d, tag, tagC], i) => (
{String(i + 1).padStart(2, '0')}. {tag}

{t}

{d}

))}
); } /* ───────────────────────── pilot ───────────────────────── */ function Pilot() { return (
First pilot · Kathmandu, Nepal

The model is already in the water.

Our Getting Around arm is built, and it launches as our first live pilot in Kathmandu — a first cohort of independent, licensed drivers running their own businesses on MyOcto. A real market, real providers, proving that discovery-and-direct-contact works.

A first cohortindependent, licensed drivers — starting small, scaling as it earns trust.
Built & readya working product, not a concept slide.
Zerocommission — every driver keeps 100% from day one.

Our first pilot market. The drivers are independent and licensed — we don't dispatch them, set their fare, or take payment. Same model as every arm: discover, contact directly, done.

); } /* ───────────────────────── compare ───────────────────────── */ function Compare() { const old = [ 'You pay the app, plus a fee on top', '25\u201340% commission taken from every job', 'The app owns the customers', 'Reputation locked inside their platform', 'The app assigns and decides', 'Download, sign up, wait' ]; const mo = [ [You pay your provider directly — we never touch it], [Zero commission. Flat membership, keep 100%], [The provider owns their customers — and keeps them], [Reputation travels with the provider], [You choose, every time — never an assignment], [Open a link. Done.] ]; return (
Why it's different

Same convenience. Completely different deal.

Old platforms
    {old.map((t, i) =>
  • {t}
  • )}
MyOcto
    {mo.map(([t], i) =>
  • {t}
  • )}
); } /* ───────────────────────── proof + story (DS components) ───────────────────────── */ function ProofStory() { const VerticalProof = DS.VerticalProof || window.VerticalProof; const VerticalStory = DS.VerticalStory || window.VerticalStory; const v = { proof: [ { k: 'Commission', v: '0%', l: 'Forever. Money never moves through MyOcto.' }, { k: 'You keep', v: '100%', l: 'Earnings, customers, reputation — all the provider\u2019s.' }, { k: 'The model', v: 'Flat', l: 'A predictable membership. A low daily tier for businesses.' } ], story: { tag: 'From the first cohort', quote: '"On the other apps I drove for a logo and they kept a third. On MyOcto the customers are mine — they call me back directly. I set the price. I keep all of it."', init: 'KS', nm: 'Kiran S.', tt: 'Independent licensed driver · Kathmandu pilot (illustrative)' } }; return (
); } /* ───────────────────────── close + footer ───────────────────────── */ function Close() { return (
myocto.app

Open the door. Meet your people.

No app to install. No fees on your money. Just trusted help, when you need it.

Try the customer preview See the provider tools
); } function FooterV2() { return ( ); } /* ───────────────────────── site ───────────────────────── */ function Site() { useEffect(() => { // brand marks (octopus glyph) if (window.MoOcto) { document.querySelectorAll('[data-mark-mount]').forEach(el => { el.innerHTML = window.MoOcto.mark(); }); window.MoOcto.mount(); } // boot the interactive phone demos now that their mounts exist if (window.MoDemos) window.MoDemos.boot(); // apply saved language to the freshly-rendered tree (demos re-render too) if (window.MoI18n) window.MoI18n.apply(window.MoI18n.current); // scroll-reveal: transform-only rise (capture-safe; opacity never gated) var els = Array.prototype.slice.call(document.querySelectorAll('.v2-reveal, .tx-section__head, .tx-flow__step, .v2-compare__col, .v2-pilot__fact, .vx-script__turn')); function chk() { var vh = window.innerHeight || 800; els.forEach(function (el) { if (el.dataset.revealed) return; var r = el.getBoundingClientRect(); if (r.top < vh * 0.92 && r.bottom > -40) { el.dataset.revealed = '1'; el.style.transform = 'none'; } }); } els.forEach(function (el) { el.classList.add('v2-rv'); }); window.addEventListener('scroll', chk, { passive: true }); window.addEventListener('resize', chk, { passive: true }); chk(); setTimeout(chk, 350); setTimeout(chk, 900); setTimeout(function () { els.forEach(function (el) { el.style.transform = 'none'; }); }, 2600); }, []); return (