Open-Source Cold Email & Warmup Platform
Warmbly는 메일함을 예열하고 캠페인 전송·답변 triage를 지원하는 오픈소스 콜드 이메일 플랫폼입니다
아직 감지된 업데이트가 없습니다. GitHub 릴리스가 나오면 여기에 보입니다.
개인 계정의 공개 저장소 소유자는 GitHub로 로그인해 운영자를 확인하고 소개를 직접 관리할 수 있습니다. 관리자 승인은 필요하지 않습니다.
로그인한 뒤 확인 파일을 만들어 이 저장소의 기본 브랜치에 30분 안에 커밋해 주세요. 다른 브랜치나 포크의 파일은 인정하지 않습니다. 파일을 올린 뒤 아래에서 확인하면 관리자 승인 없이 관리할 수 있습니다. 자격을 유지하려면 파일을 남겨 두세요.
로그인이 필요하면 로그인 화면으로 이동합니다. 로그인 후 이곳으로 돌아와 원하는 확인 버튼을 다시 눌러 주세요.
프로젝트 폴더에서 /nomorevibe verify를 실행하면 소유권을 확인하고 소개를 직접 관리할 수 있습니다.
1분 만에 확인하기A data-driven SEO intelligence platform for estimating "true demand" from Google SERP data. It moves beyond raw search volume by analyzing SERP real estate saturation and applying sophisticated click-through rate (CTR) penalty models.
저장소 README에서 가져옴
README 전체를 불러오는 중입니다.
README 전문 보기 ↗How many clicks can a keyword really bring, after Google's AI Overviews, ads and maps take their share?
▶ Try the live demo: free, no sign-up. It runs on a free hosting tier, so the first visit after a quiet period can take about a minute to wake up.
Search tools usually show how many people search for a keyword. Startly estimates how many of them would actually click an organic result. It reads the live Google results page for the keyword, sees what's on it (AI Overview, ads, map, images, People Also Ask…), and applies published click-through research to turn search volume into capturable organic clicks, with a range and a value for each ranking position.
Google answers more and more searches on the results page itself, so "10,000 searches a month" can mean 8,000 clicks for websites or 800. The professional tools that show this cost $100 or more a month. Startly is a free, open alternative for bloggers, small businesses and anyone deciding what to write about, and it shows its sources and its uncertainty instead of a single confident number.
Partly real data and partly estimates, and the app says which is which:
| Layer | Where it comes from | How much to trust it |
|---|---|---|
| The results page | The live Google page, fetched through SerpApi | Real, but a snapshot of one moment, one country and one device type |
| Monthly searches | Typed in by you (for example, from Google Keyword Planner) | Only as good as the number entered |
| Capturable clicks | Published click-through studies (Advanced Web Ranking 2026, Ahrefs) | Averages across millions of searches; a single keyword can differ by 2× |
It's most reliable for comparing keywords and spotting traps ("50,000 searches, but an AI Overview and a map take most of the clicks"), and least reliable as an exact forecast. The estimates haven't yet been checked against a real site's Search Console data. Every number, its source and the limitations are in METHODOLOGY.md.
docker compose up --build
Open http://localhost:3000. This runs the read-only demo with the sample keywords. To analyze your own keywords in it, click Use your key and add a free SerpApi key (250 searches a month).
Backend (Python 3.10 or newer):
cd backend
python -m venv .venv
.venv\Scripts\activate # Windows; on macOS/Linux: source .venv/bin/activate
pip install -r requirements.txt
cp .env.example .env # then add a key, see below
uvicorn main:app --reload --port 8000
Frontend (Node.js 20.9 or newer; an LTS release such as 22 or 24 is best):
cd frontend
npm install
npm run dev
Open http://localhost:3000.
Pick a data source in backend/.env:
SERP_PROVIDER | Key | Notes |
|---|---|---|
serpapi | SERPAPI_API_KEY from serpapi.com | Recommended. Free tier of 250 searches a month, and the only free option here that detects AI Overviews |
serper (default) | SERPER_API_KEY from serper.dev | Cheaper, but can't see AI Overviews, so click estimates run high when one is present |
dataforseo | DATAFORSEO_EMAIL, DATAFORSEO_PASSWORD | Paid; can also supply search volume (VOLUME_PROVIDER=dataforseo) |
mock | none | Fake data for development |
The Data source switch in the app's header changes the source per browser without a restart, and shows the credits left on each key. Results are cached in a local SQLite database (backend/data/startly.db, not committed) and fetched again after CACHE_TTL_DAYS (default 7). MAX_API_CALLS_PER_DAY (default 50) stops a bug from draining your credits.
Tests (offline, no keys needed):
cd backend
pip install -r requirements-dev.txt
pytest
cd frontend
npm run lint
Never deploy with your own API key and DEMO_MODE=false: anyone could spend your credits. The public version runs in demo mode:
X-SerpApi-Key header). The server uses it for that one request and never stores or logs it. Their results are saved in their browser too.backend/demo_data/seed.json). A demo server that starts with an empty database loads it automatically, so hosts with temporary disks work out of the box. To change the samples, analyze keywords locally, run python demo_seed.py export in backend/, and commit the seed.Backend settings for a public deployment:
| Variable | Value | What it does |
|---|---|---|
DEMO_MODE | true | Read-only demo |
ALLOWED_ORIGINS | https://your-frontend.example.com | Only your site's pages may call the API (exact origin, including https://) |
RATE_LIMIT_PER_MINUTE | 30 | Requests per visitor per minute; 429 with Retry-After beyond that |
TRUST_PROXY_HEADERS | true | Behind a host's proxy: read the visitor's IP and https from forwarded headers |
TRUSTED_PROXY_HOPS | 3 on Render; 1 behind a single proxy | How many proxies of your host add to X-Forwarded-For. On Render, a request passes Cloudflare, Render's load balancer and an internal proxy, so the visitor is 3rd from the right (measured October 2026; recheck if rate limiting stops working) |
SERPAPI_API_KEY | (leave empty) | The demo doesn't need a server key |
The frontend needs one value at build time, because Next.js bakes it into the JavaScript: NEXT_PUBLIC_API_BASE_URL=https://your-backend.example.com (a Docker build argument).
Other protections: a Content Security Policy with a per-request nonce (frontend/proxy.ts) so the page can only run its own scripts and only talk to the API; keys refused over plain HTTP except on localhost; HSTS; Cache-Control: no-store; both containers run as non-root users.
Built with Next.js 16, React 19, TypeScript and Tailwind CSS (frontend); FastAPI, SQLite and ReportLab (backend); Docker.