Open-Source Cold Email & Warmup Platform
Warmbly is the open-source platform for cold email: warm your mailboxes, send campaigns, and triage every reply. Run it on our cloud or self-host the whole thing.
Kukis captures email and marketing consent from EU Shopify shoppers who decline your cookies — the roughly half that cookie-based tools can't reach. No popups, no cookies.
MarketingTypeScript · JavaScriptGitHub @ZackAlatrashOnlineOwner unconfirmed
Have you tried it? One tap is enough. No sign-in needed.
No updates detected yet. GitHub releases will appear here.
Owners of public repositories under a personal GitHub account can sign in to verify ownership and manage the introduction themselves. No administrator approval is needed.
Sign in, generate a verification file, and commit it to this repository’s default branch within 30 minutes. Files on other branches or forks do not count. Then check the file below to manage the project without administrator approval. Keep the file to retain your access.
If needed, you will go to sign-in. After signing in, return here and press your chosen verification button again.
Run /nomorevibe verify in your project folder to verify ownership and manage the introduction yourself.
Verify in one minuteAsk about other verification options
Kukis marketing landing page
Translation pending
Taken from the repository README
Loading the full README.
Read the full README ↗Marketing site for Kukis — consent after cookies. Built from the project's own docs:
context.md (facts), brand-guidelines-final.md (brand), design.md (system).
Live site: https://zackalatrash.github.io/kukis-site/
src/index.css @theme)npm install # install deps
npm run dev # local dev server → http://localhost:5185
npm run test # run unit tests
npm run build # typecheck + production build
npm run preview # preview the production build
src/
data/site.ts # all copy (facts from context.md — nothing invented)
index.css # Tailwind + Milk & Cookie design tokens (@theme)
lib/ # cn(), usePrefersReducedMotion()
components/
ui/ # Button, Section, Reveal, ConsentChip, Logo, CrumbCursor
layout/ # Nav, Footer
sections/ # one file per landing-page section (redesign these individually)
App.tsx # composes the sections in order
Hero — interactive "decline the cookie banner → still captured"InvisibleHalf — the three core statsInsight — cookie consent ≠ marketing consentHowItWorks — 3 stepsWidgets — the four capture surfacesWhyKukis — vs Klaviyo comparisonConsentByDesign — trust bandBuiltFor — for / not-forFaq — accordionFinalCta — book a demoThe "Book a demo" CTAs open a request-demo form in a modal.
By default, if VITE_DEMO_FORM_ENDPOINT is empty, submissions open a pre-filled
email to the fallback address in src/data/site.ts.
For a hosted form backend, create a free static-form endpoint and set
VITE_DEMO_FORM_ENDPOINT to it. The code POSTs JSON and treats any 2xx
response as success, so several services are drop-in:
# Formspree (free 50/mo, dashboard + spam filtering)
VITE_DEMO_FORM_ENDPOINT=https://formspree.io/f/xabc1234
# FormSubmit (free, unlimited) — the address receives the submissions
VITE_DEMO_FORM_ENDPOINT=https://formsubmit.co/ajax/[email protected]
Set this as a build environment variable in your host's dashboard (e.g. Cloudflare Pages → Settings → Environment variables) before building.
base in vite.config.ts is /, which is correct for serving at the root of
a custom domain (Cloudflare Pages, or GitHub Pages with a custom domain).
Build command: npm run build. Output directory: dist.
Use base: "/kukis-site/" only if serving from the *.github.io/kukis-site/
project URL without a custom domain.
context.md.