1<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="preload" as="image" href="/__l5e/assets-v1/95ee6be6-0841-4df1-a9b5-70010dcb36ff/jomportal-logo.png"/><link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&family=Plus+Jakarta+Sans:wght@400;500;600;700;800&family=Baloo+2:wght@400;500;600;700;800&family=Quicksand:wght@400;500;600;700&family=Nunito:wght@400;500;600;700;800&family=Space+Grotesk:wght@400;500;600;700&family=Orbitron:wght@400;500;600;700;800&family=Playfair+Display:wght@400;500;600;700&display=swap" data-precedence="default"/><link rel="stylesheet" href="/assets/styles-BEjVoYqT.css" data-precedence="default"/><title>JomPortal â Build Your School Digital Portal in Minutes</title><meta name="author" content="JomPortal"/><meta property="og:image" content="https://storage.googleapis.com/gpt-engineer-file-uploads/Y4JQMqkrOvSclFiSQdCnqva9Aqq1/social-images/social-1785757421264-social-image.webp"/><meta name="twitter:image" content="https://storage.googleapis.com/gpt-engineer-file-uploads/Y4JQMqkrOvSclFiSQdCnqva9Aqq1/social-images/social-1785757421264-social-image.webp"/><meta name="theme-color" content="#4f7cff"/><meta name="apple-mobile-web-app-capable" content="yes"/><meta name="apple-mobile-web-app-title" content="JomPortal"/><meta name="apple-mobile-web-app-status-bar-style" content="default"/><meta name="mobile-web-app-capable" content="yes"/><meta name="description" content="Launch a branded student login portal powered by Google Sheets. DELIMa apps, class pickers, analytics and white-label branding â no code required."/><meta name="keywords" content="portal sekolah, portal digital sekolah, SSO sekolah, DELIMa login, portal murid, google sheets portal, JomPortal"/><meta property="og:title" content="JomPortal â Build Your School Digital Portal in Minutes"/><meta property="og:description" content="Launch a branded student login portal powered by Google Sheets. DELIMa apps, class pickers, analytics and white-label branding â no code required."/><meta property="og:type" content="website"/><meta property="og:url" content="https://jomportal.com/"/><meta property="og:site_name" content="JomPortal"/><meta property="og:locale" content="ms_MY"/><meta name="twitter:card" content="summary_large_image"/><meta name="twitter:title" content="JomPortal â Build Your School Digital Portal in Minutes"/><meta name="twitter:description" content="Launch a branded student login portal powered by Google Sheets. DELIMa apps, class pickers, analytics and white-label branding â no code required."/><link rel="modulepreload" href="/assets/index-DvEvuUoW.js"/><link rel="modulepreload" href="/assets/rolldown-runtime-CNC7AqOf.js"/><link rel="modulepreload" href="/assets/useStore-CzV104MW.js"/><link rel="modulepreload" href="/assets/link-CemwZfB6.js"/><link rel="modulepreload" href="/assets/auth-middleware-D6g4ks7d.js"/><link rel="modulepreload" href="/assets/qss-Bqk2G4CH.js"/><link rel="modulepreload" href="/assets/matchContext-BfH6j0-F.js"/><link rel="modulepreload" href="/assets/redirect-Dhm19zUi.js"/><link rel="modulepreload" href="/assets/jsx-runtime-DiK4U9sA.js"/><link rel="modulepreload" href="/assets/routes-BC9oe7fN.js"/><link rel="modulepreload" href="/assets/routes-CGIC-blB.js"/><link rel="modulepreload" href="/assets/useServerFn-DpcU9do0.js"/><link rel="modulepreload" href="/assets/createLucideIcon-CPr0Cu2H.js"/><link rel="modulepreload" href="/assets/arrow-right-C5xRGCdF.js"/><link rel="modulepreload" href="/assets/portal-data-BYALAB41.js"/><link rel="modulepreload" href="/assets/chart-column-D5eMlKA0.js"/><link rel="modulepreload" href="/assets/check-BWAJtC6T.js"/><link rel="modulepreload" href="/assets/palette-ACRmoyeZ.js"/><link rel="modulepreload" href="/assets/file-spreadsheet-CQteyjHb.js"/><link rel="modulepreload" href="/assets/PortalPreview-B8L04-PQ.js"/><link rel="modulepreload" href="/assets/lock-BtP3QaFG.js"/><link rel="modulepreload" href="/assets/mouse-pointer-click-CUkzv9-h.js"/><link rel="modulepreload" href="/assets/shield-check-gMhmRmlZ.js"/><link rel="modulepreload" href="/assets/sparkles-HWelY6cd.js"/><link rel="modulepreload" href="/assets/users-Dl6X6M4h.js"/><link rel="modulepreload" href="/assets/zap-DvsarGyO.js"/><link rel="modulepreload" href="/assets/react-6QTV2Hyb.js"/>
1<link rel="modulepreload" href="/assets/AuroraBackground-Ct4S278l.js"/><link rel="modulepreload" href="/assets/jomportal-logo.png.asset-B1DlNN2u.js"/><link rel="modulepreload" href="/assets/routes-mym3L6bM.js"/><link rel="preconnect" href="https://fonts.googleapis.com"/><link rel="preconnect" href="https://fonts.gstatic.com" crossorigin="anonymous"/><link rel="icon" type="image/png" href="/favicon.png"/><link rel="apple-touch-icon" sizes="180x180" href="/apple-touch-icon.png"/><link rel="manifest" href="/manifest.webmanifest"/><link rel="canonical" href="https://jomportal.com/"/>
1<script type="application/ld+json">{"@context":"https://schema.org","@graph":[{"@type":"WebSite","@id":"https://jomportal.com/#website","url":"https://jomportal.com/","name":"JomPortal","inLanguage":"ms-MY","description":"Launch a branded student login portal powered by Google Sheets. DELIMa apps, class pickers, analytics and white-label branding â no code required."},{"@type":"Organization","@id":"https://jomportal.com/#organization","name":"JomPortal","url":"https://jomportal.com/"},{"@type":"SoftwareApplication","name":"JomPortal","applicationCategory":"BusinessApplication","operatingSystem":"Web","url":"https://jomportal.com/","description":"Launch a branded student login portal powered by Google Sheets. DELIMa apps, class pickers, analytics and white-label branding â no code required.","offers":[{"@type":"Offer","name":"Free","price":"0","priceCurrency":"MYR"},{"@type":"Offer","name":"JomPortal Pro","priceCurrency":"MYR"}]},{"@type":"FAQPage","mainEntity":[{"@type":"Question","name":"Apa itu JomPortal?","acceptedA
1nswer":{"@type":"Answer","text":"JomPortal ialah platform untuk sekolah membina portal digital murid dengan pautan SSO ke aplikasi sekolah, menggunakan Google Sheets sebagai pangkalan data."}},{"@type":"Question","name":"Berapa lama untuk siapkan portal sekolah?","acceptedAnswer":{"@type":"Answer","text":"Wizard 7 langkah membolehkan sekolah menerbitkan portal dalam beberapa minit tanpa perlu menulis kod."}},{"@type":"Question","name":"Adakah JomPortal percuma?","acceptedAnswer":{"@type":"Answer","text":"Ya. Pelan Free menyediakan satu portal dengan sehingga 50 murid, manakala pelan JomPortal Pro membuka murid tanpa had dan ciri lanjutan."}}]}]}</script>
1<script defer src="/~flock.js" data-proxy-url="/~api/analytics"></script>
1</head><body><!--$--><!--$--><div class="relative min-h-screen"><div aria-hidden="true" class="pointer-events-none fixed inset-0 -z-10 overflow-hidden bg-canvas"><div class="absolute inset-0 bg-[radial-gradient(ellipse_70%_50%_at_50%_-10%,rgba(79,124,255,0.16),transparent_70%),radial-gradient(ellipse_50%_40%_at_100%_10%,rgba(139,92,246,0.14),transparent_70%),radial-gradient(ellipse_60%_50%_at_0%_40%,rgba(6,182,212,0.10),transparent_70%)]"></div><div class="animate-drift absolute -top-40 -left-32 size-[38rem] rounded-full bg-[radial-gradient(circle,rgba(79,124,255,0.35),transparent_65%)] blur-3xl"></div><div class="animate-drift absolute -top-24 right-[-10rem] size-[34rem] rounded-full bg-[radial-gradient(circle,rgba(139,92,246,0.32),transparent_65%)] blur-3xl [animation-delay:-6s]"></div><div class="animate-drift absolute top-[52%] left-[45%] size-[30rem] rounded-full bg-[radial-gradient(circle,rgba(34,197,94,0.16),transparent_65%)] blur-3xl [animation-delay:-12s]"></div><div class="grid-lines absolute inset-0 opacity-60 [mask-image:radial-gradient(ellipse_75%_60%_at_50%_20%,black,transparent)]"></div><span class="animate-float-slower absolute size-1.5 rounded-full bg-primary/40 blur-[1px]" style="left:12%;top:22%;animation-delay:0s"></span><span class="animate-float-slower absolute size-1 rounded-full bg-primary/40 blur-[1px]" style="left:26%;top:64%;animation-delay:-2s"></span><span class="animate-float-slower absolute size-1 rounded-full bg-primary/40 blur-[1px]" style="left:48%;top:18%;animation-delay:-4s"></span><span class="animate-float-slower absolute size-1.5 rounded-full bg-primary/40 blur-[1px]" style="left:68%;top:48%;animation-delay:-1s"></span><span class="animate-float-slower absolute size-1 rounded-full bg-primary/40 blur-[1px]" style="left:82%;top:26%;animation-delay:-5s"></span><span class="animate-float-slower absolute size-1.5 rounded-full bg-primary/40 blur-[1px]" style="left:90%;top:70%;animation-delay:-3s"></span><div class="noise-layer absolute inset-0 opacity-[0.035] mix-blend-multiply"></div><div class="absolute inset-x-0 bottom-0 h-64 bg-gradient-to-b from-transparent to-background"></div></div><header class="fixed inset-x-0 top-4 z-50 px-4 sm:top-6 sm:px-6" style="opacity:0;transform:translateY(-28px)"><div class="glass mx-auto flex h-16 w-full max-w-5xl items-center justify-between rounded-full pr-2 pl-4 sm:pl-6"><div class="flex items-center gap-8"><a class="group flex items-center gap-2.5 active" href="/" data-status="active" aria-current="page"><span class="flex size-9 items-center justify-center transition-transform duration-300 group-hover:scale-105"><img src="/__l5e/assets-v1/95ee6be6-0841-4df1-a9b5-70010dcb36ff/jomportal-logo.png" alt="Logo JomPortal" class="size-9 object-contain"/></span><span class="text-base font-semibold tracking-tight">JomPortal</span></a><nav class="hidden items-center gap-1 md:flex"><a href="#product" class="rounded-full px-4 py-2 text-sm font-medium text-muted-foreground transition-all duration-300 hover:bg-secondary hover:text-foreground">Product</a><a href="#how" class="rounded-full px-4 py-2 text-sm font-medium text-muted-foreground transition-all duration-300 hover:bg-secondary hover:text-foreground">How it works</a><a href="#pricing" class="rounded-full px-4 py-2 text-sm font-medium text-muted-foreground transition-all duration-300 hover:bg-secondary hover:text-foreground">Pricing</a></nav></div><div class="flex items-center gap-1.5 sm:gap-2"><a href="/auth" class="inline-flex items-center gap-1.5 rounded-full border border-border/60 px-3 py-2 text-sm font-medium text-foreground transition-colors hover:bg-secondary sm:border-0 sm:px-4 sm:text-muted-foreground sm:hover:text-foreground"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-log-in size-3.5 sm:hidden" aria-hidden="true"><path d="m10 17 5-5-5-5"></path><path d="M15 12H3"></path><path d="M15 3h4a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2h-4"></path></svg>Log masuk</a><a href="/auth?mode=signup&next=%2Fonboarding" class="brand-gradient btn-glow group inline-flex h-10 items-center gap-1.5 rounded-full px-4 text-sm font-semibold text-primary-foreground sm:h-11 sm:px-5"><span class="hidden sm:inline">Start Setup</span><span class="sm:hidden">Mula</span><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-arrow-right size-3.5 transition-transform duration-300 group-hover:translate-x-0.5" aria-hidden="true"><path d="M5 12h14"></path><path d="m12 5 7 7-7 7"></path></svg></a></div></div></header><section class="relative px-6 pt-40 pb-24 sm:pt-48"><div class="mx-auto max-w-3xl text-center"><div class="glass mx-auto inline-flex items-center gap-2 rounded-full px-4 py-1.5" style="opacity:0;transform:translateY(16px)"><span class="size-1.5 animate-pulse rounded-full bg-success"></span><span class="text-[11px] font-semibold tracking-[0.14em] text-muted-foreground uppercase">Multi-tenant · now in public beta</span></div><h1 class="mt-8 text-[2.75rem] leading-[1.02] font-bold tracking-[-0.04em] text-balance sm:text-6xl lg:text-[4.75rem]" style="opacity:0;transform:translateY(20px)">Build Your School Digital <span class="brand-text">Portal</span> in Minutes.</h1><p class="mx-auto mt-8 max-w-xl text-lg leading-relaxed text-pretty text-muted-foreground sm:text-xl" style="opacity:0;transform:translateY(20px)">Every school gets its own workspace, branding and student gateway. Connect a Google Sheet, pick your apps, publish. No code, no server, no passwords stored.</p><div class="mt-12 flex flex-col items-center justify-center gap-3 sm:flex-row" style="opacity:0;transform:translateY(20px)"><a href="/auth?mode=signup&next=%2Fonboarding" class="brand-gradient btn-glow group inline-flex h-14 items-center justify-center gap-2 rounded-full px-8 text-[15px] font-semibold text-primary-foreground">Start building free<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-arrow-right size-4 transition-transform duration-300 group-hover:translate-x-1" aria-hidden="true"><path d="M5 12h14"></path><path d="m12 5 7 7-7 7"></path></svg></a><a href="#product" class="glass inline-flex h-14 items-center justify-center rounded-full px-8 text-[15px] font-semibold text-foreground transition-transform duration-300 hover:scale-[1.03]">See how it works</a></div><p class="mt-6 text-xs text-muted-foreground" style="opacity:0">No credit card · Free forever plan · Pro at RM30/tahun</p></div><div class="relative mx-auto mt-24 max-w-5xl" style="opacity:0;transform:translateY(40px) scale(0.97)"><div class="brand-gradient absolute -inset-x-10 -top-10 bottom-10 rounded-[3rem] opacity-25 blur-3xl"></div><div class="glass panel-shadow relative overflow-hidden rounded-[2rem]"><div class="flex h-11 items-center gap-1.5 border-b border-border px-5"><span class="size-2.5 rounded-full bg-destructive/50"></span><span class="size-2.5 rounded-full bg-warning/50"></span><span class="size-2.5 rounded-full bg-success/50"></span><span class="mx-auto rounded-full border border-border bg-background/70 px-4 py-1 text-[11px] text-muted-foreground">digitalportal.lovable.app/s/sekolah-anda</span></div><div class="h-[780px] bg-background"><div class="flex h-full flex-col overflow-y-auto px-6 py-8" style="background:radial-gradient(circle at 12% 8%, #4f7cff2e, transparent 45%), radial-gradient(circle at 88% 22%, #8b5cf62e, transparent 45%), radial-gradient(circle at 50% 95%, #4f7cff1a, transparent 50%), #fbfcff;font-family:'Inter', system-ui, sans-serif"><div class="mx-auto w-full max-w-sm text-center"><div class="text-left"></div><div class="mx-auto flex size-14 items-center justify-center rounded-[1.15rem] text-sm font-bold text-white" style="background-image:linear-gradient(135deg, #4f7cff, #8b5cf6);box-shadow:0 14px 30px -12px #4f7cff80">TM</div><p class="mt-4 text-[15px] font-semibold tracking-tight text-slate-900">SK Taman Melawati</p><p class="mt-1 text-[11px] text-slate-500">Student Digital Learning Hub</p><div class="mt-6 space-y-2.5 rounded-3xl border border-slate-200/70 bg-white/80 p-4 text-left backdrop-blur-xl" style="box-shadow:0 24px 60px -34px rgba(15,23,42,0.22)"><div class="flex items-center justify-between rounded-2xl border border-slate-200/80 bg-white px-3.5 py-2.5 shadow-[0_1px_2px_rgba(15,23,42,0.04)]"><div><p class="text-[8px] font-semibold tracking-[0.14em] text-slate-400 uppercase">Pilih Kelas</p><p class="mt-0.5 text-[11px] font-medium text-slate-800">5 Bestari</p></div><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-chevron-down size-3.5 text-slate-400" aria-hidden="true"><path d="m6 9 6 6 6-6"></path></svg></div><div class="flex items-center justify-between rounded-2xl border border-slate-200/80 bg-white px-3.5 py-2.5 shadow-[0_1px_2px_rgba(15,23,42,0.04)]"><div><p class="text-[8px] font-semibold tracking-[0.14em] text-slate-400 uppercase">Pilih Nama Murid</p><p class="mt-0.5 text-[11px] font-medium text-slate-800">Nur Aisyah binti Kamal</p></div><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-chevron-down size-3.5 text-slate-400" aria-hidden="true"><path d="m6 9 6 6 6-6"></path></svg></div><div class="rounded-2xl border border-slate-200/80 bg-white px-3.5 py-2.5"><p class="text-[8px] font-semibold tracking-[0.14em] text-slate-400 uppercase">
1School Access Code</p><p class="mt-0.5 text-[11px] font-medium tracking-[0.35em] text-slate-800">â¢â¢â¢â¢â¢â¢</p></div><button type="button" class="w-full rounded-2xl py-3 text-[10px] font-bold tracking-[0.16em] text-white uppercase" style="background-image:linear-gradient(135deg, #4f7cff, #8b5cf6);box-shadow:0 12px 26px -12px #4f7cff99">Enter Portal</button></div><div class="mt-7 flex items-center gap-2 rounded-full border border-slate-200/80 bg-white/80 px-3.5 py-2 text-left backdrop-blur"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-search size-3 text-slate-400" aria-hidden="true"><path d="m21 21-4.34-4.34"></path><circle cx="11" cy="11" r="8"></circle></svg><span class="text-[10px] text-slate-400">Search applicationsâ¦</span></div><div class="mt-4 grid gap-2.5" style="grid-template-columns:repeat(5, minmax(0, 1fr))"><div class="flex aspect-square flex-col items-center justify-center gap-1.5 rounded-2xl border border-slate-200/70 bg-white/85 shadow-[0_2px_10px_-6px_rgba(15,23,42,0.18)] backdrop-blur"><span class="flex size-7 items-center justify-center rounded-xl" style="background-color:#ea43351f"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-mail size-3.5" aria-hidden="true" style="color:#ea4335"><path d="m22 7-8.991 5.727a2 2 0 0 1-2.009 0L2 7"></path><rect x="2" y="4" width="20" height="16" rx="2"></rect></svg></span><span class="max-w-full truncate px-1 text-[7px] font-medium text-slate-500">Gmail</span></div><div class="flex aspect-square flex-col items-center justify-center gap-1.5 rounded-2xl border border-slate-200/70 bg-white/85 shadow-[0_2px_10px_-6px_rgba(15,23,42,0.18)] backdrop-blur"><span class="flex size-7 items-center justify-center rounded-xl" style="background-color:#0f9d581f"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-graduation-cap size-3.5" aria-hidden="true" style="color:#0f9d58"><path d="M21.42 10.922a1 1 0 0 0-.019-1.838L12.83 5.18a2 2 0 0 0-1.66 0L2.6 9.08a1 1 0 0 0 0 1.832l8.57 3.908a2 2 0 0 0 1.66 0z"></path><path d="M22 10v6"></path><path d="M6 12.5V16a6 3 0 0 0 12 0v-3.5"></path></svg></span><span class="max-w-full truncate px-1 text-[7px] font-medium text-slate-500">Classroom</span></div><div class="flex aspect-square flex-col items-center justify-center gap-1.5 rounded-2xl border border-slate-200/70 bg-white/85 shadow-[0_2px_10px_-6px_rgba(15,23,42,0.18)] backdrop-blur"><span class="flex size-7 items-center justify-center rounded-xl" style="background-color:#1fa4631f"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-folder-open size-3.5" aria-hidden="true" style="color:#1fa463"><path d="m6 14 1.5-2.9A2 2 0 0 1 9.24 10H20a2 2 0 0 1 1.94 2.5l-1.54 6a2 2 0 0 1-1.95 1.5H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h3.9a2 2 0 0 1 1.69.9l.81 1.2a2 2 0 0 0 1.67.9H18a2 2 0 0 1 2 2v2"></path></svg></span><span class="max-w-full truncate px-1 text-[7px] font-medium text-slate-500">Google Drive</span></div><div class="flex aspect-square flex-col items-center justify-center gap-1.5 rounded-2xl border border-slate-200/70 bg-white/85 shadow-[0_2px_10px_-6px_rgba(15,23,42,0.18)] backdrop-blur"><span class="flex size-7 items-center justify-center rounded-xl" style="background-color:#4285f41f"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-file-text size-3.5" aria-hidden="true" style="color:#4285f4"><path d="M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z"></path><path d="M14 2v5a1 1 0 0 0 1 1h5"></path><path d="M10 9H8"></path><path d="M16 13H8"></path><path d="M16 17H8"></path></svg></span><span class="max-w-full truncate px-1 text-[7px] font-medium text-slate-500">Docs</span></div><div class="flex aspect-square flex-col items-center justify-center gap-1.5 rounded-2xl border border-slate-200/70 bg-white/85 shadow-[0_2px_10px_-6px_rgba(15,23,42,0.18)] backdrop-blur"><span class="flex size-7 items-center justify-center rounded-xl" style="background-color:#1a73e81f"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-calendar size-3.5" aria-hidden="true" style="color:#1
1a73e8"><path d="M8 2v4"></path><path d="M16 2v4"></path><rect width="18" height="18" x="3" y="4" rx="2"></rect><path d="M3 10h18"></path></svg></span><span class="max-w-full truncate px-1 text-[7px] font-medium text-slate-500">Calendar</span></div><div class="flex aspect-square flex-col items-center justify-center gap-1.5 rounded-2xl border border-slate-200/70 bg-white/85 shadow-[0_2px_10px_-6px_rgba(15,23,42,0.18)] backdrop-blur"><span class="flex size-7 items-center justify-center rounded-xl" style="background-color:#00897b1f"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-video size-3.5" aria-hidden="true" style="color:#00897b"><path d="m16 13 5.223 3.482a.5.5 0 0 0 .777-.416V7.87a.5.5 0 0 0-.752-.432L16 10.5"></path><rect x="2" y="6" width="14" height="12" rx="2"></rect></svg></span><span class="max-w-full truncate px-1 text-[7px] font-medium text-slate-500">Meet</span></div><div class="flex aspect-square flex-col items-center justify-center gap-1.5 rounded-2xl border border-slate-200/70 bg-white/85 shadow-[0_2px_10px_-6px_rgba(15,23,42,0.18)] backdrop-blur"><span class="flex size-7 items-center justify-center rounded-xl" style="background-color:#7c3aed1f"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-shield-check size-3.5" aria-hidden="true" style="color:#7c3aed"><path d="M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z"></path><path d="m9 12 2 2 4-4"></path></svg></span><span class="max-w-full truncate px-1 text-[7px] font-medium text-slate-500">DELIMa 3.0</span></div><div class="flex aspect-square flex-col items-center justify-center gap-1.5 rounded-2xl border border-slate-200/70 bg-white/85 shadow-[0_2px_10px_-6px_rgba(15,23,42,0.18)] backdrop-blur"><span class="flex size-7 items-center justify-center rounded-xl" style="background-color:#0ea5e91f"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-grid2x2-check lucide-grid-2x2-check size-3.5" aria-hidden="true" style="color:#0ea5e9"><path d="M12 3v17a1 1 0 0 1-1 1H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2v6a1 1 0 0 1-1 1H3"></path><path d="m16 19 2 2 4-4"></path></svg></span><span class="max-w-full truncate px-1 text-[7px] font-medium text-slate-500">AINS</span></div><div class="flex aspect-square flex-col items-center justify-center gap-1.5 rounded-2xl border border-slate-200/70 bg-white/85 shadow-[0_2px_10px_-6px_rgba(15,23,42,0.18)] backdrop-blur"><span class="flex size-7 items-center justify-center rounded-xl" style="background-color:#8b5cf61f"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-sparkles size-3.5" aria-hidden="true" style="color:#8b5cf6"><path d="M11.017 2.814a1 1 0 0 1 1.966 0l1.051 5.558a2 2 0 0 0 1.594 1.594l5.558 1.051a1 1 0 0 1 0 1.966l-5.558 1.051a2 2 0 0 0-1.594 1.594l-1.051 5.558a1 1 0 0 1-1.966 0l-1.051-5.558a2 2 0 0 0-1.594-1.594l-5.558-1.051a1 1 0 0 1 0-1.966l5.558-1.051a2 2 0 0 0 1.594-1.594z"></path><path d="M20 2v4"></path><path d="M22 4h-4"></path><circle cx="4" cy="20" r="2"></circle></svg></span><span class="max-w-full truncate px-1 text-[7px] font-medium text-slate-500">Gemini</span></div><div class="flex aspect-square flex-col items-center justify-center gap-1.5 rounded-2xl border border-slate-200/70 bg-white/85 shadow-[0_2px_10px_-6px_rgba(15,23,42,0.18)] backdrop-blur"><span class="flex size-7 items-center justify-center rounded-xl" style="background-color:#00c4cc1f"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-palette size-3.5" aria-hidden="true" style="color:#00c4cc"><path d="M12 22a1 1 0 0 1 0-20 10 9 0 0 1 10 9 5 5 0 0 1-5 5h-2.25a1.75 1.75 0 0 0-1.4 2.8l.3.4a1.75 1.75 0 0 1-1.4 2.8z"></path><circle cx="13.5" cy="6.5" r=".5" fill="currentColor"></circle><circle cx="17.5" cy="10.5" r=".5" fill="currentColor"></circle><circle cx="6.5" cy="12.5" r=".5" fill="currentColor"></circle><circle cx="8.5" cy="7.5" r=".5" fill="currentColor"></circle></svg></span><span class="max-w-full truncate px-1 text-[7px] font-medium text-slate-500">Canva</span></div></div><p class="mt-3 text-[9px] text-slate-400">+<!-- -->1<!-- --> more applications</p><p class="mt-7 text-[8px] text-slate-400">© <!-- -->2026<!-- --> <!-- -->SK Taman Melawati<!-- --> · Powered by JomPortal</p></div></div></div></div><div class="glass animate-float-slow absolute -top-6 -left-4 hidden items-center gap-3 rounded-2xl px-4 py-3 sm:flex lg:-left-16" style="opacity:0;transform:translateX(-20px)"><span class="flex size-9 items-center justify-center rounded-xl bg-success/12 text-success"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-users size-4" aria-hidden="true"><path d="M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2"></path><path d="M16 3.128a4 4 0 0 1 0 7.744"></path><path d="M22 21v-2a4 4 0 0 0-3-3.87"></path><circle cx="9" cy="7" r="4"></circle></svg></span><div class="text-left"><p class="text-sm font-semibold tracking-tight">1,248 students</p><p class="text-[11px] text-muted-foreground">synced from one sheet</p></div></div><div class="glass animate-float-slower absolute top-24 -right-4 hidden items-center gap-3 rounded-2xl px-4 py-3 sm:flex lg:-right-14" style="opacity:0;transform:translateX(20px)"><span class="flex size-9 items-center justify-center rounded-xl bg-primary/12 text-primary"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-zap size-4" aria-hidden="true"><path d="M4 14a1 1 0 0 1-.78-1.63l9.9-10.2a.5.5 0 0 1 .86.46l-1.92 6.02A1 1 0 0 0 13 10h7a1 1 0 0 1 .78 1.63l-9.9 10.2a.5.5 0 0 1-.86-.46l1.92-6.02A1 1 0 0 0 11 14z"></path></svg></span><div class="text-left"><p class="text-sm font-semibold tracking-tight">Published in 4 min</p><p class="text-[11px] text-muted-foreground">average setup time</p></div></div><div class="glass animate-float-slow absolute -bottom-7 left-1/2 flex -translate-x-1/2 items-center gap-3 rounded-full px-5 py-3" style="opacity:0;transform:translateY(20px)"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-shield-check size-4 text-accent" aria-hidden="true"><path d="M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z"></path><path d="m9 12 2 2 4-4"></path></svg><p class="text-xs font-semibold tracking-tight">Zero passwords stored</p></div></div><div class="mx-auto mt-32 max-w-4xl text-center"><p class="text-[11px] font-semibold tracking-[0.2em] text-muted-foreground uppercase">Every app your students already use</p><div class="mt-8 flex flex-wrap items-center justify-center gap-3"><div class="glass hover-lift flex items-center gap-2.5 rounded-full py-2.5 pr-5 pl-3" style="opacity:0;transform:translateY(10px)"><span class="flex size-8 items-center justify-center rounded-full" style="background-color:#ea43351f"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-mail size-4" aria-hidden="true" style="color:#ea4335"><path d="m22 7-8.991 5.727a2 2 0 0 1-2.009 0L2 7"></path><rect x="2" y="4" width="20" height="16" rx="2"></rect></svg></span><span class="text-[13px] font-medium">Gmail</span></div><div class="glass hover-lift flex items-center gap-2.5 rounded-full py-2.5 pr-5 pl-3" style="opacity:0;transform:translateY(10px)"><span class="flex size-8 items-center justify-center rounded-full" style="background-color:#0f9d581f"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-graduation-cap size-4" aria-hidden="true" style="color:#0f9d58"><path d="M21.42 10.922a1 1 0 0 0-.019-1.838L12.83 5.18a2 2 0 0 0-1.66 0L2.6 9.08a1 1 0 0 0 0 1.832l8.57 3.908a2 2 0 0 0 1.66 0z"></path><path d="M22 10v6"></path><path d="M6 12.5V16a6 3 0 0 0 12 0v-3.5"></path></svg></span><span class="text-[13px] font-medium">
1Classroom</span></div><div class="glass hover-lift flex items-center gap-2.5 rounded-full py-2.5 pr-5 pl-3" style="opacity:0;transform:translateY(10px)"><span class="flex size-8 items-center justify-center rounded-full" style="background-color:#1fa4631f"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-folder-open size-4" aria-hidden="true" style="color:#1fa463"><path d="m6 14 1.5-2.9A2 2 0 0 1 9.24 10H20a2 2 0 0 1 1.94 2.5l-1.54 6a2 2 0 0 1-1.95 1.5H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h3.9a2 2 0 0 1 1.69.9l.81 1.2a2 2 0 0 0 1.67.9H18a2 2 0 0 1 2 2v2"></path></svg></span><span class="text-[13px] font-medium">Google Drive</span></div><div class="glass hover-lift flex items-center gap-2.5 rounded-full py-2.5 pr-5 pl-3" style="opacity:0;transform:translateY(10px)"><span class="flex size-8 items-center justify-center rounded-full" style="background-color:#4285f41f"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-file-text size-4" aria-hidden="true" style="color:#4285f4"><path d="M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z"></path><path d="M14 2v5a1 1 0 0 0 1 1h5"></path><path d="M10 9H8"></path><path d="M16 13H8"></path><path d="M16 17H8"></path></svg></span><span class="text-[13px] font-medium">Docs</span></div><div class="glass hover-lift flex items-center gap-2.5 rounded-full py-2.5 pr-5 pl-3" style="opacity:0;transform:translateY(10px)"><span class="flex size-8 items-center justify-center rounded-full" style="background-color:#1a73e81f"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-calendar size-4" aria-hidden="true" style="color:#1a73e8"><path d="M8 2v4"></path><path d="M16 2v4"></path><rect width="18" height="18" x="3" y="4" rx="2"></rect><path d="M3 10h18"></path></svg></span><span class="text-[13px] font-medium">Calendar</span></div><div class="glass hover-lift flex items-center gap-2.5 rounded-full py-2.5 pr-5 pl-3" style="opacity:0;transform:translateY(10px)"><span class="flex size-8 items-center justify-center rounded-full" style="background-color:#00897b1f"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-video size-4" aria-hidden="true" style="color:#00897b"><path d="m16 13 5.223 3.482a.5.5 0 0 0 .777-.416V7.87a.5.5 0 0 0-.752-.432L16 10.5"></path><rect x="2" y="6" width="14" height="12" rx="2"></rect></svg></span><span class="text-[13px] font-medium">Meet</span></div><div class="glass hover-lift flex items-center gap-2.5 rounded-full py-2.5 pr-5 pl-3" style="opacity:0;transform:translateY(10px)"><span class="flex size-8 items-center justify-center rounded-full" style="background-color:#7c3aed1f"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-shield-check size-4" aria-hidden="true" style="color:#7c3aed"><path d="M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z"></path><path d="m9 12 2 2 4-4"></path></svg></span><span class="text-[13px] font-medium">DELIMa 3.0</span></div><div class="glass hover-lift flex items-center gap-2.5 rounded-full py-2.5 pr-5 pl-3" style="opacity:0;transform:translateY(10px)"><span class="flex size-8 items-center justify-center rounded-full" style="background-color:#0ea5e91f"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-grid2x2-check lucide-grid-2x2-check size-4" aria-hidden="true" style="color:#0ea5e9"><path d="M12 3v17a1 1 0 0 1-1 1H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2v6a1 1 0 0 1-1 1H3"></path><path d="m16 19 2 2 4-4"></path></svg></span><span class="text-[13px] font-medium">AINS</span></div><div class="glass hover-lift flex items-center gap-2.5 rounded-full py-2.5 pr-5 pl-3" style="opacity:0;transform:translateY(10px)"><span class="flex size-8 items-center justify-center rounded-full" style="background-color:#8b5cf61f"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-sparkles size-4" aria-hidden="true" style="color:#8b5cf6"><path d="M11.017 2.814a1 1 0 0 1 1.966 0l1.051 5.558a2 2 0 0 0 1.594 1.594l5.558 1.051a1 1 0 0 1 0 1.966l-5.558 1.051a2 2 0 0 0-1.594
11.594l-1.051 5.558a1 1 0 0 1-1.966 0l-1.051-5.558a2 2 0 0 0-1.594-1.594l-5.558-1.051a1 1 0 0 1 0-1.966l5.558-1.051a2 2 0 0 0 1.594-1.594z"></path><path d="M20 2v4"></path><path d="M22 4h-4"></path><circle cx="4" cy="20" r="2"></circle></svg></span><span class="text-[13px] font-medium">Gemini</span></div><div class="glass hover-lift flex items-center gap-2.5 rounded-full py-2.5 pr-5 pl-3" style="opacity:0;transform:translateY(10px)"><span class="flex size-8 items-center justify-center rounded-full" style="background-color:#10a37f1f"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-bot size-4" aria-hidden="true" style="color:#10a37f"><path d="M12 8V4H8"></path><rect width="16" height="12" x="4" y="8" rx="2"></rect><path d="M2 14h2"></path><path d="M20 14h2"></path><path d="M15 13v2"></path><path d="M9 13v2"></path></svg></span><span class="text-[13px] font-medium">ChatGPT</span></div><div class="glass hover-lift flex items-center gap-2.5 rounded-full py-2.5 pr-5 pl-3" style="opacity:0;transform:translateY(10px)"><span class="flex size-8 items-center justify-center rounded-full" style="background-color:#00c4cc1f"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-palette size-4" aria-hidden="true" style="color:#00c4cc"><path d="M12 22a1 1 0 0 1 0-20 10 9 0 0 1 10 9 5 5 0 0 1-5 5h-2.25a1.75 1.75 0 0 0-1.4 2.8l.3.4a1.75 1.75 0 0 1-1.4 2.8z"></path><circle cx="13.5" cy="6.5" r=".5" fill="currentColor"></circle><circle cx="17.5" cy="10.5" r=".5" fill="currentColor"></circle><circle cx="6.5" cy="12.5" r=".5" fill="currentColor"></circle><circle cx="8.5" cy="7.5" r=".5" fill="currentColor"></circle></svg></span><span class="text-[13px] font-medium">Canva</span></div><div class="glass hover-lift flex items-center gap-2.5 rounded-full py-2.5 pr-5 pl-3" style="opacity:0;transform:translateY(10px)"><span class="flex size-8 items-center justify-center rounded-full" style="background-color:#f973161f"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-puzzle size-4" aria-hidden="true" style="color:#f97316"><path d="M15.39 4.39a1 1 0 0 0 1.68-.474 2.5 2.5 0 1 1 3.014 3.015 1 1 0 0 0-.474 1.68l1.683 1.682a2.414 2.414 0 0 1 0 3.414L19.61 15.39a1 1 0 0 1-1.68-.474 2.5 2.5 0 1 0-3.014 3.015 1 1 0 0 1 .474 1.68l-1.683 1.682a2.414 2.414 0 0 1-3.414 0L8.61 19.61a1 1 0 0 0-1.68.474 2.5 2.5 0 1 1-3.014-3.015 1 1 0 0 0 .474-1.68l-1.683-1.682a2.414 2.414 0 0 1 0-3.414L4.39 8.61a1 1 0 0 1 1.68.474 2.5 2.5 0 1 0 3.014-3.015 1 1 0 0 1-.474-1.68l1.683-1.682a2.414 2.414 0 0 1 3.414 0z"></path></svg></span><span class="text-[13px] font-medium">Wordwall</span></div></div></div></section><div class="relative px-6"><div class="mx-auto max-w-6xl"></div></div><section id="product" class="relative px-6 py-32"><div class="mx-auto max-w-6xl"><div class="mx-auto max-w-2xl text-center"><p class="text-[11px] font-semibold tracking-[0.2em] text-primary uppercase">The platform</p><h2 class="mt-5 text-4xl font-bold tracking-[-0.03em] text-balance sm:text-5xl">Everything a school needs, <span class="brand-text">nothing it doesn't.</span></h2><p class="mt-6 text-lg text-pretty text-muted-foreground">A commercial-grade portal builder that your teachers can run without IT support.</p></div><div class="mt-20 grid gap-6 md:grid-cols-2 lg:grid-cols-3"><article class="glass hover-lift rounded-3xl p-8" style="opacity:0;transform:translateY(18px)"><span class="brand-gradient-soft flex size-12 items-center justify-center rounded-2xl text-primary"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-file-spreadsheet size-5" aria-hidden="true"><path d="M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z"></path><path d="M14 2v5a1 1 0 0 0 1 1h5"></path><path d="M8 13h2"></path><path d="M14 13h2"></path><path d="M8 17h2"></path><path d="M14 17h2"></path></svg></span>
1<h3 class="mt-6 text-lg font-semibold tracking-tight">Sheets as your database</h3><p class="mt-3 text-[15px] leading-relaxed text-muted-foreground">Paste a spreadsheet URL. Students, classes and DELIMa emails sync automatically â no migrations, no imports.</p></article><article class="glass hover-lift rounded-3xl p-8" style="opacity:0;transform:translateY(18px)"><span class="brand-gradient-soft flex size-12 items-center justify-center rounded-2xl text-primary"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-palette size-5" aria-hidden="true"><path d="M12 22a1 1 0 0 1 0-20 10 9 0 0 1 10 9 5 5 0 0 1-5 5h-2.25a1.75 1.75 0 0 0-1.4 2.8l.3.4a1.75 1.75 0 0 1-1.4 2.8z"></path><circle cx="13.5" cy="6.5" r=".5" fill="currentColor"></circle><circle cx="17.5" cy="10.5" r=".5" fill="currentColor"></circle><circle cx="6.5" cy="12.5" r=".5" fill="currentColor"></circle><circle cx="8.5" cy="7.5" r=".5" fill="currentColor"></circle></svg></span><h3 class="mt-6 text-lg font-semibold tracking-tight">White-label branding</h3><p class="mt-3 text-[15px] leading-relaxed text-muted-foreground">Logo, favicon, portal name, colours, gradients and footer. Every school workspace looks like its own product.</p></article><article class="glass hover-lift rounded-3xl p-8" style="opacity:0;transform:translateY(18px)"><span class="brand-gradient-soft flex size-12 items-center justify-center rounded-2xl text-primary"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-layers size-5" aria-hidden="true"><path d="M12.83 2.18a2 2 0 0 0-1.66 0L2.6 6.08a1 1 0 0 0 0 1.83l8.58 3.91a2 2 0 0 0 1.66 0l8.58-3.9a1 1 0 0 0 0-1.83z"></path><path d="M2 12a1 1 0 0 0 .58.91l8.6 3.91a2 2 0 0 0 1.65 0l8.58-3.9A1 1 0 0 0 22 12"></path><path d="M2 17a1 1 0 0 0 .58.91l8.6 3.91a2 2 0 0 0 1.65 0l8.58-3.9A1 1 0 0 0 22 17"></path></svg></span><h3 class="mt-6 text-lg font-semibold tracking-tight">Drag-and-drop app builder</h3><p class="mt-3 text-[15px] leading-relaxed text-muted-foreground">Order Gmail, Classroom, DELIMa, Canva and custom links. Upload SVG icons or pick from a curated set.</p></article><article class="glass hover-lift rounded-3xl p-8" style="opacity:0;transform:translateY(18px)"><span class="brand-gradient-soft flex size-12 items-center justify-center rounded-2xl text-primary"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-lock size-5" aria-hidden="true"><rect width="18" height="11" x="3" y="11" rx="2" ry="2"></rect><path d="M7 11V7a5 5 0 0 1 10 0v4"></path></svg></span><h3 class="mt-6 text-lg font-semibold tracking-tight">Security you control</h3><p class="mt-3 text-[15px] leading-relaxed text-muted-foreground">Access codes, portal passwords, hidden emails, device and IP restrictions, session timeouts.</p></article><article class="glass hover-lift rounded-3xl p-8" style="opacity:0;transform:translateY(18px)"><span class="brand-gradient-soft flex size-12 items-center justify-center rounded-2xl text-primary"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-chart-column size-5" aria-hidden="true"><path d="M3 3v16a2 2 0 0 0 2 2h16"></path><path d="M18 17V9"></path><path d="M13 17V5"></path><path d="M8 17v-3"></path></svg></span><h3 class="mt-6 text-lg font-semibold tracking-tight">Login analytics</h3><p class="mt-3 text-[15px] leading-relaxed text-muted-foreground">Daily, weekly and monthly logins, most-used apps, most active classes, browser and device breakdowns.</p></article><article class="glass hover-lift rounded-3xl p-8" style="opacity:0;transform:translateY(18px)"><span class="brand-gradient-soft flex size-12 items-center justify-center rounded-2xl text-primary"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-mouse-pointer-click size-5" aria-hidden="true"><path d="M14 4.1 12 6"></path><path d="m5.1 8-2.9-.8"></path><path d="m6 12-1.9 2"></path><path d="M7.2 2.2 8 5.1"></path><path d="M9.037 9.69a.498.498 0 0 1 .653-.653l11 4.5a.5.5 0 0 1-.074.949l-4.349 1.041a1 1 0 0 0-.74.739l-1.04 4.35a.5.5 0 0 1-.95.
1074z"></path></svg></span><h3 class="mt-6 text-lg font-semibold tracking-tight">Zero-password sign-in</h3><p class="mt-3 text-[15px] leading-relaxed text-muted-foreground">Students pick their class and name. The portal hands them to Google auth â credentials never touch us.</p></article></div></div></section><section id="how" class="relative px-6 py-32"><div class="mx-auto max-w-6xl"><div class="mx-auto max-w-2xl text-center"><p class="text-[11px] font-semibold tracking-[0.2em] text-primary uppercase">How it works</p><h2 class="mt-5 text-4xl font-bold tracking-[-0.03em] text-balance sm:text-5xl">From spreadsheet to live portal in <span class="brand-text">four moves.</span></h2></div><div class="mt-20 grid gap-6 md:grid-cols-2 lg:grid-cols-4"><div class="glass hover-lift rounded-3xl p-8" style="opacity:0;transform:translateY(18px)"><span class="brand-text text-3xl font-bold tracking-tight">01</span><h3 class="mt-5 text-base font-semibold tracking-tight">Add your school</h3><p class="mt-2.5 text-sm leading-relaxed text-muted-foreground">Name, code, logo, colours and portal titles â branded in under a minute.</p></div><div class="glass hover-lift rounded-3xl p-8" style="opacity:0;transform:translateY(18px)"><span class="brand-text text-3xl font-bold tracking-tight">02</span><h3 class="mt-5 text-base font-semibold tracking-tight">Connect a sheet</h3><p class="mt-2.5 text-sm leading-relaxed text-muted-foreground">Paste the spreadsheet link and verify the connection in one click.</p></div><div class="glass hover-lift rounded-3xl p-8" style="opacity:0;transform:translateY(18px)"><span class="brand-text text-3xl font-bold tracking-tight">03</span><h3 class="mt-5 text-base font-semibold tracking-tight">Map the columns</h3><p class="mt-2.5 text-sm leading-relaxed text-muted-foreground">Auto-detected mapping that survives any reordering of your sheet.</p></div><div class="glass hover-lift rounded-3xl p-8" style="opacity:0;transform:translateY(18px)"><span class="brand-text text-3xl font-bold tracking-tight">04</span><h3 class="mt-5 text-base font-semibold tracking-tight">Publish the portal</h3><p class="mt-2.5 text-sm leading-relaxed text-muted-foreground">Live on your own portal link for every student, instantly.</p></div></div><div class="glass mt-8 flex flex-wrap items-center gap-5 rounded-3xl p-7"><span class="flex size-11 items-center justify-center rounded-2xl bg-success/12 text-success"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-table2 lucide-table-2 size-5" aria-hidden="true"><path d="M9 3H5a2 2 0 0 0-2 2v4m6-6h10a2 2 0 0 1 2 2v4M9 3v18m0 0h10a2 2 0 0 0 2-2V9M9 21H5a2 2 0 0 1-2-2V9m0 0h18"></path></svg></span><p class="max-w-3xl text-[15px] leading-relaxed text-muted-foreground">Column order never matters â mapping auto-detects<!-- --> <span class="font-medium text-foreground">Nama Murid</span>,<!-- --> <span class="font-medium text-foreground">Kelas</span> and<!-- --> <span class="font-medium text-foreground">Emel DELIMa</span>, and you can remap anything by hand.</p></div><div class="mt-8 grid gap-6 sm:grid-cols-3"><div class="glass rounded-3xl p-8 text-center" style="opacity:0;transform:translateY(14px)"><p class="brand-text text-4xl font-bold tracking-[-0.03em]">4 min</p><p class="mt-2 text-sm text-muted-foreground">Average time to publish</p></div><div class="glass rounded-3xl p-8 text-center" style="opacity:0;transform:translateY(14px)"><p class="brand-text text-4xl font-bold tracking-[-0.03em]">100%</p><p class="mt-2 text-sm text-muted-foreground">Google-native sign-in</p></div><div class="glass rounded-3xl p-8 text-center" style="opacity:0;transform:translateY(14px)"><p class="brand-text text-4xl font-bold tracking-[-0.03em]">0</p><p class="mt-2 text-sm text-muted-foreground">Passwords ever stored</p></div></div></div></section><section id="pricing" class="relative px-6 py-32"><div class="mx-auto max-w-5xl"><div class="mx-auto max-w-2xl text-center"><p class="text-[11px] font-semibold tracking-[0.2em] text-primary uppercase">Pricing</p><h2 class="mt-5 text-4xl font-bold tracking-[-0.03em] text-balance sm:text-5xl">One simple price per school.</h2><p class="mt-6 text-lg text-muted-foreground">Start free forever. Upgrade when your school outgrows it.</p></div><div class="mt-20 grid gap-6 md:grid-cols-2"><div class="glass hover-lift rounded-[2rem] p-10"><h3 class="text-xs font-semibold tracking-[0.18em] text-muted-foreground uppercase">Free</h3><p class="mt-5 text-5xl font-bold tracking-[-0.04em]">RM0</p><p class="mt-2 text-sm text-muted-foreground">per sekolah, selamanya</p><ul class="mt-10 space-y-4"><li class="flex items-center gap-3 text-[15px] text-muted-foreground"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-check size-4 shrink-0 text-muted-foreground" aria-hidden="true"><path d="M20 6 9 17l-5-5"></path></svg> <!-- -->1 portal sekolah</li><li class="flex items-center gap-3 text-[15px] text-muted-foreground"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-check size-4 shrink-0 text-muted-foreground" aria-hidden="true"><path d="M20 6 9 17l-5-5"></path></svg> <!-- -->50 murid</li><li class="flex items-center gap-3 text-[15px] text-muted-foreground"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-check size-4 shrink-0 text-muted-foreground" aria-hidden="true"><path d="M20 6 9 17l-5-5"></path></svg> <!-- -->Semua aplikasi DELIMa</li><li class="flex items-center gap-3 text-[15px] text-muted-foreground"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-check size-4 shrink-0 text-muted-foreground" aria-hidden="true"><path d="M20 6 9 17l-5-5"></path></svg> <!-- -->Kad digital murid</li></ul><a href="/auth?mode=signup&next=%2Fonboarding" class="mt-12 flex h-13 items-center justify-center rounded-full border border-border bg-background/70 py-4 text-sm font-semibold transition-transform duration-300 hover:scale-[1.02]">Mula free</a></div><div class="relative"><div class="brand-gradient absolute -inset-2 rounded-[2.4rem] opacity-25 blur-2xl"></div><div class="glass panel-shadow relative rounded-[2rem] border-primary/25 p-10"><div class="flex items-center justify-between"><h3 class="text-xs font-semibold tracking-[0.18em] text-primary uppercase">Pro</h3><span class="brand-gradient inline-flex items-center gap-1.5 rounded-full px-3 py-1.5 text-[10px] font-semibold text-primary-foreground"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-sparkles size-3" aria-hidden="true"><path d="M11.017 2.814a1 1 0 0 1 1.966 0l1.051 5.558a2 2 0 0 0 1.594 1.594l5.558 1.051a1 1 0 0 1 0 1.966l-5.558 1.051a2 2 0 0 0-1.594
11.594l-1.051 5.558a1 1 0 0 1-1.966 0l-1.051-5.558a2 2 0 0 0-1.594-1.594l-5.558-1.051a1 1 0 0 1 0-1.966l5.558-1.051a2 2 0 0 0 1.594-1.594z"></path><path d="M20 2v4"></path><path d="M22 4h-4"></path><circle cx="4" cy="20" r="2"></circle></svg> <!-- -->Paling popular</span></div><p class="mt-5 text-5xl font-bold tracking-[-0.04em]">RM30<span class="text-base font-medium text-muted-foreground"> <!-- -->/tahun</span></p><p class="mt-2 text-sm text-muted-foreground">promosi untuk sekolah Malaysia</p><ul class="mt-10 space-y-4"><li class="flex items-center gap-3 text-[15px]"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-check size-4 shrink-0 text-primary" aria-hidden="true"><path d="M20 6 9 17l-5-5"></path></svg> <!-- -->2 portal sekolah</li><li class="flex items-center gap-3 text-[15px]"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-check size-4 shrink-0 text-primary" aria-hidden="true"><path d="M20 6 9 17l-5-5"></path></svg> <!-- -->Murid tanpa had</li><li class="flex items-center gap-3 text-[15px]"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-check size-4 shrink-0 text-primary" aria-hidden="true"><path d="M20 6 9 17l-5-5"></path></svg> <!-- -->Multiple admin</li><li class="flex items-center gap-3 text-[15px]"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-check size-4 shrink-0 text-primary" aria-hidden="true"><path d="M20 6 9 17l-5-5"></path></svg> <!-- -->Analitik penuh</li><li class="flex items-center gap-3 text-[15px]"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-check size-4 shrink-0 text-primary" aria-hidden="true"><path d="M20 6 9 17l-5-5"></path></svg> <!-- -->Kod QR & backup</li></ul><a href="/auth?mode=signup&next=%2Fonboarding" class="brand-gradient btn-glow mt-12 flex items-center justify-center rounded-full py-4 text-sm font-semibold text-primary-foreground">Bina portal saya</a></div></div></div></div></section><section class="relative px-6 pt-12 pb-32"><div class="glass panel-shadow relative mx-auto max-w-5xl overflow-hidden rounded-[2.5rem] px-8 py-20 text-center"><div class="brand-gradient pointer-events-none absolute -inset-x-20 -top-32 h-64 opacity-25 blur-3xl"></div><h2 class="relative text-4xl font-bold tracking-[-0.03em] text-balance sm:text-5xl">Your school portal is <span class="brand-text">four minutes away.</span></h2><p class="relative mx-auto mt-6 max-w-lg text-lg text-pretty text-muted-foreground">Bring a Google Sheet. We'll handle branding, apps, security and publishing.</p><a href="/auth?mode=signup&next=%2Fonboarding" class="brand-gradient btn-glow group relative mt-12 inline-flex h-14 items-center gap-2 rounded-full px-9 text-[15px] font-semibold text-primary-foreground">Start Setup<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-arrow-right size-4 transition-transform duration-300 group-hover:translate-x-1" aria-hidden="true"><path d="M5 12h14"></path><path d="m12 5 7 7-7 7"></path></svg></a></div></section><footer class="relative border-t border-border px-6 py-14"><div class="mx-auto flex max-w-6xl flex-col items-center justify-between gap-6 md:flex-row"><div class="flex items-center gap-2.5"><span class="brand-gradient float-shadow size-7 rounded-xl"></span><span class="text-sm font-semibold tracking-tight">JomPortal</span></div><nav class="flex flex-wrap items-center justify-center gap-5 text-xs text-muted-foreground"><a href="/support" class="transition-colors hover:text-foreground">Sokongan</a><a href="/privasi" class="transition-colors hover:text-foreground">Polisi Privasi</a><a href="/terma" class="transition-colors hover:text-foreground">Terma Penggunaan</a></nav><p class="text-xs text-muted-foreground">© <!-- -->2026<!-- --> JomPortal · Built for Malaysian schools</p></div></footer></div><!--/$-->
1<script>(function(a,f){let l;try{l=JSON.parse(sessionStorage.getItem(a)||"{}")}catch{return}const n=l?.[f||history.state?.__TSR_key];let c=!1;for(const t in n){const e=n[t],o=e?.scrollX,s=e?.scrollY;if(Number.isFinite(o)&&Number.isFinite(s)){if(t==="window")scrollTo(o,s),c=!0;else if(t)try{const r=document.querySelector(t);r&&(r.scrollLeft=o,r.scrollTop=s)}catch{}}}if(c)return;const i=location.hash.slice(1);if(i){const t=history.state?.__hashScrollIntoViewOptions??!0;if(t){const e=document.getElementById(i);e&&e.scrollIntoView(t)}return}scrollTo(0,0)})("tsr-scroll-restoration-v1_3");document.currentScript.remove()</script>
1<!--/$--><section aria-label="Notifications alt+T" tabindex="-1" aria-live="polite" aria-relevant="additions text" aria-atomic="false"></section>
1<script class="$tsr" id="$tsr-stream-barrier">(self.$R=self.$R||{})["tsr"]=[];self.$_TSR={h(){this.hydrated=!0,this.c()},e(){this.streamEnded=!0,this.c()},c(){this.hydrated&&this.streamEnded&&(delete self.$_TSR,delete self.$R.tsr)},p(e){this.initialized?e():this.buffer.push(e)},buffer:[]};$_TSR.router=($R=>$R[0]={manifest:$R[1]={routes:$R[2]={__root__:$R[3]={preloads:$R[4]=["/assets/index-DvEvuUoW.js","/assets/rolldown-runtime-CNC7AqOf.js","/assets/useStore-CzV104MW.js","/assets/link-CemwZfB6.js","/assets/auth-middleware-D6g4ks7d.js","/assets/qss-Bqk2G4CH.js","/assets/matchContext-BfH6j0-F.js","/assets/redirect-Dhm19zUi.js","/assets/jsx-runtime-DiK4U9sA.js"],scripts:$R[5]=[$R[6]={attrs:$R[7]={type:"module",async:!0,src:"/assets/index-DvEvuUoW.js"}}]},"/":$R[8]={preloads:$R[9]=["/assets/routes-BC9oe7fN.js","/assets/routes-CGIC-blB.js","/assets/useServerFn-DpcU9do0.js","/assets/createLucideIcon-CPr0Cu2H.js","/assets/arrow-right-C5xRGCdF.js","/assets/portal-data-BYALAB41.js","/assets/chart-column-D5eMlKA0.js","/assets/check-BWAJtC6T.js","/assets/palette-ACRmoyeZ.js","/assets/file-spreadsheet-CQteyjHb.js","/assets/PortalPreview-B8L04-PQ.js","/assets/lock-BtP3QaFG.js","/assets/mouse-pointer-click-CUkzv9-h.js","/assets/shield-check-gMhmRmlZ.js","/assets/sparkles-HWelY6cd.js","/assets/users-Dl6X6M4h.js","/assets/zap-DvsarGyO.js","/assets/react-6QTV2Hyb.js","/assets/AuroraBackground-Ct4S278l.js","/assets/jomportal-logo.png.asset-B1DlNN2u.js","/assets/routes-mym3L6bM.js"]}}}
1,matches:$R[10]=[$R[11]={i:"__root__�",u:1790904773591,s:"success",ssr:!0},$R[12]={i:"��",u:1790904774592,s:"success",l:$R[13]={headline:"One simple price per school.",subheadline:"Start free forever. Upgrade when your school outgrows it.",heroNote:"No credit card · Free forever plan · Pro at RM30/tahun",freeLabel:"Free",freePriceLabel:"RM0",freeNote:"per sekolah, selamanya",freeFeatures:$R[14]=["1 portal sekolah","50 murid","Semua aplikasi DELIMa","Kad digital murid"],proLabel:"Pro",proPriceLabel:"RM30",proPeriodLabel:"/tahun",proNote:"promosi untuk sekolah Malaysia",proBadge:"Paling popular",proFeatures:$R[15]=["2 portal sekolah","Murid tanpa had","Multiple admin","Analitik penuh","Kod QR & backup"],priceMyr:30,freeMaxPortals:1,proMaxPortals:2,freeMaxStudents:50},ssr:!0}],lastMatchId:"��"})($R["tsr"]);$_TSR.e();document.currentScript.remove()</script>
1<script type="module" async="" src="/assets/index-DvEvuUoW.js"></script>
1</body></html>
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.