Open-Source Cold Email & Warmup Platform
Warmbly는 메일함을 예열하고 캠페인 전송·답변 triage를 지원하는 오픈소스 콜드 이메일 플랫폼입니다
Moximos는 웹 없는 지역 사업자를 AI 사이트로 만들고 메일로 전송해 자동으로 고객을 확보
Moximos finds local businesses with no website, builds each one a custom AI-generated site in minutes, and emails it from your inbox. Land web design clients on autopilot.
마케팅GitHub @Subhan-Tanveer온라인운영자 미확인
써 보셨어요? 한 번만 눌러 주세요. 로그인은 필요 없어요.
저장소 정보는 아직 수집하지 않았습니다.
아직 감지된 업데이트가 없습니다. GitHub 릴리스가 나오면 여기에 보입니다.
메이커가 쓴 소개는 위의 한 줄이 전부입니다. 더 자세한 내용은 저장소 README에서 읽을 수 있습니다. 저장소 README ↗
README 전체를 불러오는 중입니다.
README 전문 보기 ↗Marketing site + product shell for Moximos — the done-for-you agency machine (scrape Google Maps → AI-build a demo site → send it from your Gmail).
npm install
npm run dev # http://localhost:5173
npm run build # static bundle into dist/
npm run preview # serve dist/ locally to check the production build
src/
├── main.jsx entry
├── router.jsx all routes, every page code-split
├── index.css Tailwind v4 @theme — the space palette lives here
├── marketing/ the public site
│ ├── MarketingLayout nav + footer + persistent backdrop + smooth scroll
│ ├── pages/ Home, HowItWorks, Builder, LeadExplorer, Outreach,
│ │ Showcase, Pricing, About, Contact, NotFound
│ ├── scenes/ SpaceBackdrop (picks WebGL vs CSS) + StarfieldScene
│ ├── components/ Nav, Footer, CTAButton, OrbitLogo, Primitives, …
│ ├── animations/ motion prefs, Lenis, GSAP helpers, shared motion state
│ └── data/content.js all marketing copy and sample data
└── app/ the product (pre-existing code, preserved)
├── api.js axios client + localStorage-backed mock adapter
├── AppShell.jsx dashboard mounted at /app
├── AuthLayout.jsx brand shell for login/signup
├── pages/ Login, Signup
├── components/ AgentProgressDashboard
├── utils/ exportProject, sandpackUtils
└── server/services/ AI pipeline modules (Node-side, not bundled)
useMotionPrefs() is the single gate for everything animated:
| flag | condition | controls |
|---|---|---|
animate | no reduced-motion and tab visible | all GSAP/Framer choreography |
cinematic | animate and ≥768px | pinned scroll sequences |
webgl | cinematic and a real WebGL context | the three.js starfield |
Below 768px, or with prefers-reduced-motion, the WebGL scene is replaced by a
pure-CSS starfield and pinned sequences fall back to stacked sections. Nothing
is ever hidden by CSS — GSAP applies hidden "from" states only when frames are
actually available, so content can't get stranded invisible (this also covers
pages opened into a background tab, where requestAnimationFrame is suspended).
three.js is behind a dynamic import and is deliberately not in
manualChunks — naming it there pulls it into the entry graph and Vite emits a
modulepreload for it, forcing ~217 kB gzip on every visitor. Initial payload is
~178 kB gzipped; the 225 kB scene chunk loads only where it's used.
npm run builddist/ to public_html/ (hPanel File Manager,
FTP, or Git deploy).public/.htaccess ships with the build and is required: without its rewrite
rule, only / works and every deep link (/pricing, a refresh on /showcase)
returns 404. It also sets immutable caching on hashed assets and no-cache on
index.html.
These need a decision or a real backend — each is marked in the source:
CONTACT_ENDPOINT in marketing/pages/Contact.jsx is
empty, so submitting composes the message in the visitor's mail client. Set it
to a Formspree URL or your own API route to take submissions server-side.Login/Signup POST to /api/auth/login and /api/auth/register.
Those are currently answered by the mock adapter at the bottom of app/api.js.
Point VITE_BASE_URL at the real backend and delete that adapter block.app/server/services/* are Node modules and
are not part of this static bundle. They need to run as a separate service;
the static site does not host them.