new-term-radar
Daily radar for new AI terms: names of new models, products and repos, caught on X, Hugging Face, GitHub and sitemaps before keyword tools list them.
SiteScout finds small businesses without a good website, checks their site, scores the lead and drafts a demo page and outreach message.
MarketingTypeScript · CSSGitHub @damiruali014-labOnlineOwner 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
Finds small businesses with no website (Google Places + 2GIS), scores them as leads, generates a demo website for each, and drafts outreach in RU/KK/EN. React + Vite on Vercel, Supabase, Claude API.
Taken from the repository README
Loading the full README. The saved excerpt is shown below.
Find small businesses that need a website → check their site → score the lead → generate a demo landing page and a personal outreach message → track the conversation.
Built by Damir Uali. The full "how I built it" story is in BUILD_LOG.md.Read the full README ↗Find small businesses that need a website → check their site → score the lead → generate a demo landing page and a personal outreach message → track the conversation.
Built by Damir Uali. The full "how I built it" story is in BUILD_LOG.md.
/p/:slug) in EN/RU/KK, clearly labelled as a concept preview.Stack: React 19 + Vite 8 + TypeScript · Vercel Functions (/api) · Supabase (Auth + Postgres + RLS) · Claude API (Haiku).
npm install
npm run dev # http://localhost:5173 — Demo mode works immediately
npm run dev also serves the /api/*.ts functions locally (see vite.api-dev.ts), so you don't need vercel dev.
Other scripts:
npm run build # type-check (app + api) and build
npm run lint # oxlint, warnings fail
npm test # unit tests (scoring, SSRF guard, outreach templates)
To try live mode locally, copy .env.example → .env.local and fill in the keys. Set DEV_SKIP_AUTH=1 to skip the login check on /api while developing. Vercel always ignores this setting.
| Variable | Where | Cost (Oct 2026) |
|---|---|---|
GOOGLE_PLACES_API_KEY | Google Cloud Console → enable Places API (New) → Credentials → API key. API restrictions: Places API (New) only. Leave application restrictions on "None" (server-side key). | Search uses Text Search Enterprise: 1,000 free requests/month, then ~$35 per 1,000 (each request returns up to 20 places). Place Details Pro: 5,000 free/month, then ~$17 per 1,000. Set a daily quota and a budget alert. |
DGIS_API_KEY | platform.2gis.ru → create a demo key | The demo key is free for testing. Production pricing is a quote from 2GIS. Ask them to enable contact_groups (phones/websites). |
ANTHROPIC_API_KEY | platform.claude.com → API Keys | Claude Haiku 5.5, from $0.10 / $0.50 per million input/output tokens, so one message costs a fraction of a cent. Set a spend limit. ANTHROPIC_MODEL is optional. |
VITE_SUPABASE_URL, VITE_SUPABASE_ANON_KEY | Supabase → Project Settings → API | Free plan. The anon key is public by design; RLS protects the data. |
SUPABASE_SERVICE_ROLE_KEY | same page | Server only. Never give it a VITE_ prefix. |
ALLOWED_EMAIL | your login email | Only this account can call the paid endpoints. |
IG_USER_ID, IG_ACCESS_TOKEN (optional) | Meta developer app, see Instagram check below | Free (Graph API rate limits apply). |
OpenStreetMap needs no key: Nominatim finds the city and Overpass finds the businesses. Both are free public services with fair-use limits, so results are cached for 30 minutes. It's the default source for European countries.
API keys never reach the browser: every provider call goes through /api/*.
supabase/migrations/ in order (001 → 005). Paste the SQL itself, not the file name.The lead page can read the website in a business's Instagram bio through the official Graph API (Business Discovery). It only works for public Business/Creator accounts.
instagram_basic, instagram_manage_insights and pages_show_list/pages_read_engagement. Generate a token, then exchange it for a long-lived token (60 days) in the Access Token Debugger.me/accounts?fields=instagram_business_account in the Explorer. The instagram_business_account.id (starts with 1784…) is IG_USER_ID.IG_USER_ID and IG_ACCESS_TOKEN in Vercel → Environment Variables (and .env.local), then redeploy. The token expires after about 60 days; the page tells you when.Without it, the lead page shows an Open profile button so you can look at the bio yourself.
<iframe
src="https://YOUR-APP.vercel.app/?embed=1"
title="SiteScout — live demo"
style="width:100%;max-width:420px;height:720px;border:0;border-radius:16px"
loading="lazy"
></iframe>
?embed=1 forces Demo mode, hides the footer and adds an "Open ↗" link. ?theme=dark or ?theme=light sets the theme.vercel.json only allows framing from damiruali014-lab.github.io (frame-ancestors). Edit it if your portfolio domain changes.noindex, and expire after 60 days. The view counter shows when an owner opened the link.api/ Vercel Functions (web-standard Request → Response)
_lib/ shared server code + types (imported by the app too)
search.ts check.ts describe.ts message.ts details.ts page.ts health.ts
src/
pages/ Search, Lead, Tracker, Login, public DemoLanding
components/ cards, badges, demo-page + message + tracker cards
lib/ demo data, stores, API client, i18n, templates
supabase/migrations/ SQL with RLS
/p/:slug (needs a small server-rendered route).