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.
Turn podcast transcripts into LinkedIn posts, blogs, newsletters, quote postcards and carousels.
MarketingTypeScript · CSSGitHub @watsnexOnlineOwner 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
Loading the full README. The saved excerpt is shown below.
Turns a podcast episode transcript into a full, branded content package — and turns a reel clip's
transcript into captions and hashtags. Built for WATSNEX BioPharma's podcast → social/blog/newsletter
workflow.
Episode → Content (/episode): upload a full podcast transcript. Generates:Read the full README ↗Turns a podcast episode transcript into a full, branded content package — and turns a reel clip's transcript into captions and hashtags. Built for WATSNEX BioPharma's podcast → social/blog/newsletter workflow.
Episode → Content (/episode): upload a full podcast transcript. Generates:
All text is written using your configured brand voice and SEO/industry keywords (see Brand Settings below). Postcards and carousel slides are rendered server-side as real PNG images using your logo, colors, and company name — no Canva or manual design step needed.
Reel Captions (/reels): paste the transcript/script of a short reel clip that's already been
cut (e.g. via Opus Clip). Generates 3 caption options and a hashtag set.
Brand Settings (/settings): upload your logo, set brand colors, company name, website, social
handle, industry positioning, brand voice, and SEO keywords. Everything generated afterward uses
these automatically.
npm install
cp .env.example .env.local
Open .env.local and paste your key:
ANTHROPIC_API_KEY=sk-ant-...
.env.local is gitignored — it never gets committed.
npm run dev
Open http://localhost:3000.
Go to /settings in the running app and fill in:
These are stored in data/brand.json and public/brand/logo.*, both gitignored (per-deployment
config, not source code).
Postcards and carousel slides are not templates filled in by hand — they're rendered on the server
from code (src/lib/render/) using Satori (layout engine) and
resvg (SVG → PNG). The templates read your brand config live,
so changing a color or swapping the logo in Settings changes every subsequent image with no extra
design step. If you later want pixel-identical matches to a specific Canva template, that's a
follow-up — for now the templates are built to match the WATSNEX BioPharma look (blue background,
logo mark top-right, wordmark, footer with website/handle).
src/
app/
page.tsx Home
episode/page.tsx Episode → Content UI
reels/page.tsx Reel captions UI
settings/page.tsx Brand settings UI
api/generate/route.ts Full episode → content bundle
api/captions/route.ts Reel transcript → captions/hashtags
api/brand/route.ts Brand config + logo upload
lib/
anthropic.ts Claude API client
prompts.ts System/user prompts (SEO + industry framing)
schemas.ts Structured-output schemas (Zod)
generate.ts Calls to Claude, typed via schemas
brand.ts Brand config load/save
render/ Satori/resvg image templates (postcard, carousel)
claude-opus-5) with structured outputs, so the shape of the response
(long-form post, blog post, newsletter, quotes, carousel slides) is enforced by schema rather than
parsed from free text.