// What we host — four hosting products, privacy-framed. GPU is one of them. function Services() { const products = [ ['Web hosting', 'Drag a zip and your site is live in under 20 seconds, with TLS and a custom domain ready, analytics that don\u2019t sell your visitors out. On hardware we own in Canada.', 'from £4 / site / mo', 'Web%20Hosting.html'], ['Business email', 'Zero-knowledge mailboxes on your own domain, encrypted with keys we never hold, so even we can\u2019t read your mail. Open IMAP, migration handled. Mail stays in Canada.', 'from £3 / mailbox / mo', 'TensorMail.html'], ['Cloud storage', 'S3-compatible object storage with zero egress fees and flat per-TB pricing. Point any S3 client at us, no rewrite, no surprise bill. Residency-locked to Canada.', 'from £5 / TB / mo', 'Cloud%20Storage.html'], ['GPU compute', 'Bare-metal H100s, A100s and L40S billed by the second, a whole GPU for your session, not a slice. Owned hardware, Canadian residency, your data never trains anyone else.', 'from $1.99 / GPU-hr', 'GPU%20Rentals.html'], ]; return (
What we host

Four ways to host with us.

Sold directly. Web, email, and storage are priced in GBP and quoted per engagement; GPU compute is hourly. Everything runs on hardware we own and operate in Canada, and storage and mail are encrypted so even we can't read them.

{products.map(([title, body, price, href]) => ( ))}
); } function ProductCard({ title, body, price, href, cta }) { const [hover, setHover] = React.useState(false); return ( setHover(true)} onMouseLeave={() => setHover(false)} style={{ border: `1px solid ${hover ? 'var(--fg)' : 'var(--rule)'}`, borderRadius: 4, padding: 32, background: 'var(--surface)', transition: 'border-color 140ms', display: 'flex', flexDirection: 'column', minHeight: 240, textDecoration: 'none', color: 'inherit', cursor: 'pointer' }}>

{title}

{body}

{price} {cta}
); } window.Services = Services;