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.
Is AI recommending your business? VisiScan scans ChatGPT, Claude, Perplexity, and Gemini and keeps the answers.
MarketingHTML · JavaScriptGitHub @mikeholp87OnlineOwner 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
Skool Landing Page
Translation pending
Taken from the repository README
Loading the full README. The saved excerpt is shown below.
ai-income-lab
Skool Landing Page
GET /o/{token}.gif always returns a 1×1 transparent GIF (image/gif, HTTP 200). On each hit it best-effort logs the token, UTC time, User-Agent, IP (when present), and which product prefix matched.
Airtable tenant is chosen by token prefix. Shared field names when a route is configured:
• Opens: Open Id, Send Token, Opened At, User Agent, Source pixel
• Sends: Send Token; first open sets Opened + First Opened At
Auth (one of these, do not commit secrets):
• AIRTABLE_API_KEY
• AIRTABLE_PATRead the full README ↗AI Automation Station: Mike Holp’s AI build videos, written guides, and AI Income Lab community.
Use Node.js 22.12 or later. Run npm ci, npm run lint, npm test, and npm run build. Use npm run preview to inspect the production build locally. Copy .env.example to .env.local for optional integrations; keep credentials server-side.
The build refreshes the saved video feed and generates 480, 768, and 1280 pixel WebP candidates for the featured video using the build-only Sharp dependency. Hashed files in public/assets/thumbnails/ and src/thumbnail-snapshot.json provide an offline fallback. Keep them together when committing a refreshed snapshot. A failed download retains the previous set; a different video arriving through the live feed uses its own YouTube image until the next build. The browser still falls back to YouTube JPEG if an image fails to load.
Public path after deploy: https://www.ai-automation-station.com/o/{token}.gif
GET /o/{token}.gif always returns a 1×1 transparent GIF (image/gif, HTTP 200). On each hit it best-effort logs the token, UTC time, User-Agent, IP (when present), and which product prefix matched.
Airtable tenant is chosen by token prefix. Shared field names when a route is configured:
pixelAuth (one of these, do not commit secrets):
AIRTABLE_API_KEYAIRTABLE_PAT| Prefix | Product | Env key | Airtable IDs |
|---|---|---|---|
SKOOL-FT- | Skool / AI Income Lab free-to-paid | (Skool defaults) | Free Members 3 defaults below |
AFF- | TubeAnalytics Affiliate | AFF | set env (no code defaults) |
TA-BL- | TubeAnalytics Backlink | TA_BL | set env (no code defaults) |
VS-BL- | VisiScan Backlink | VS_BL | set env (no code defaults) |
POD- | Podcast Outreach | POD | set env (no code defaults) |
JOB- | Job App Agent | JOB | set env (no code defaults) |
INV- | Startup Investor Outreach | INV | set env (no code defaults) |
Unknown tokens (for example test-token) fall back to the Skool route.
Override only if you need to move Skool off Free Members 3:
AIRTABLE_BASE_ID — default appK4Nu5Dy4imXrDpAIRTABLE_OPENS_TABLE_ID — default tblFS59vmxGSrLCPJAIRTABLE_SENDS_TABLE_ID — default tblsb6CJxqWZ93w74For every non-Skool prefix, set all three or that bot logs to console only (GIF still returns 200):
AIRTABLE_ROUTE_AFF_BASE_ID=
AIRTABLE_ROUTE_AFF_OPENS_TABLE_ID=
AIRTABLE_ROUTE_AFF_SENDS_TABLE_ID=
AIRTABLE_ROUTE_TA_BL_BASE_ID=
AIRTABLE_ROUTE_TA_BL_OPENS_TABLE_ID=
AIRTABLE_ROUTE_TA_BL_SENDS_TABLE_ID=
AIRTABLE_ROUTE_VS_BL_BASE_ID=
AIRTABLE_ROUTE_VS_BL_OPENS_TABLE_ID=
AIRTABLE_ROUTE_VS_BL_SENDS_TABLE_ID=
AIRTABLE_ROUTE_POD_BASE_ID=
AIRTABLE_ROUTE_POD_OPENS_TABLE_ID=
AIRTABLE_ROUTE_POD_SENDS_TABLE_ID=
AIRTABLE_ROUTE_JOB_BASE_ID=
AIRTABLE_ROUTE_JOB_OPENS_TABLE_ID=
AIRTABLE_ROUTE_JOB_SENDS_TABLE_ID=
AIRTABLE_ROUTE_INV_BASE_ID=
AIRTABLE_ROUTE_INV_OPENS_TABLE_ID=
AIRTABLE_ROUTE_INV_SENDS_TABLE_ID=
Optional JSON override (keys are the env keys above, or the raw prefix). A complete entry wins over the per-bot vars:
AIRTABLE_PIXEL_ROUTES={"AFF":{"baseId":"appXXX","opensTableId":"tblXXX","sendsTableId":"tblYYY"}}
Missing API key, missing route IDs, or Airtable errors never change the GIF response.