Skip to content
udirobertPublic

About

Drop a name or any social URL. Get a personalised video in 60 seconds.

Resources

Stars

1 star

Watchers

0 watching

Forks

Latest commit

 

History

323 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

nuncio

The conversational SDR that looks and sounds like you.

nuncio is an AI sales agent for founders and small B2B teams pursuing high-value accounts, partnerships, investors, and other conversations where one thoughtful first message can change the relationship.

We start with a personalised video because it is the best hook in the world. The real product is a live, conversational AI avatar of the sender — trained on their face, voice, and playbook — that can talk to prospects, answer questions, and book meetings.

No templates. No mail merge. A real agent for the conversations that matter most.


How it works

  1. Research — TinyFish fetches and cleans each social profile in parallel.
  2. Ground — Nuncio combines public context with the sender's reason, offer, and constraints.
  3. Write — The Copywriter Agent surfaces personalization angles and drafts scripts.
  4. Review — The sender approves the research, hook, script, and creative direction.
  5. Render — The Producer Agent generates audio (ElevenLabs) and video (HeyGen) or prepares a live avatar session.
  6. Deliver — The finished video or live link is served on a branded landing page (/v/[id]) with sharing, captions, and optional translation.

Total time from input to video: ~5 minutes.


Multi-Agent Collaboration

nuncio uses Band as the coordination layer. Four specialized agents work together in a shared room:

User joins Band Room → posts prospect URL + brief
        │
        ▼
┌───────────────────┐
│ Researcher Agent │ ← Enriches profile via TinyFish
└────────┬────────┘
         │ (structured message)
         ▼
┌───────────────────┐
│ Copywriter Agent  │ ← Generates angles + scripts via Claude/Featherless
└────────┬────────┘
         │ (drafts)
         ▼
┌───────────────────┐
│ QA Agent        │ ← Validates word count, brand safety, pronunciation
└────────┬────────┘
         │ (approved/revision request)
         ▼
┌───────────────────┐
│ Producer Agent   │ ← Renders audio (ElevenLabs) + video (HeyGen)
└────────┬────────┘
         │
         ▼
   Video link + landing page

Users see agent reasoning, approve angles, and track progress in real-time. Human approval required before video renders.


Stack

Layer Technology
Coordination Band — multi-agent room
Enrichment TinyFish Fetch + Search API
Intelligence Anthropic Claude or Featherless AI
Audio ElevenLabs — soundscape, cinematic entrance
Video HeyGen Video Agent API, Avatar V
Speech Speechmatics — captions, transcription
Storage Turso (SQLite) + file fallback
Frontend Next.js 16, TypeScript, Tailwind CSS, Motion
Deployment Docker, Vultr + Coolify

Quickstart

git clone https://github.com/udirobert/nuncio
cd nuncio
cp .env.example .env.local
# Add your API keys to .env.local
pnpm install
pnpm dev

Visit http://localhost:3000?demo=true to see the full flow with cached data (no API keys needed).

Environment variables

# Required
TINYFISH_API_KEY=
HEYGEN_API_KEY=
HEYGEN_AVATAR_ID=
HEYGEN_VOICE_ID=

# Intelligence (at least one)
ANTHROPIC_API_KEY=
FEATHERLESS_API_KEY=

# Optional
ELEVENLABS_API_KEY=
SPEECHMATICS_API_KEY=
TURSO_DATABASE_URL=
NEXT_PUBLIC_APP_URL=http://localhost:3000

Use cases

  • Strategic account outreach — reach the handful of prospects that deserve real effort
  • Investor intros — tailored videos for each LP, angel, or VC
  • Partnership conversations — show why the relationship makes sense now
  • Recruiting — video outreach to candidates that references their actual work
  • Founder-to-founder asks — specific, respectful first messages that open a door

The video is the hook. The long-term goal is a live, conversational AI avatar that continues the conversation on the sender's behalf.

Virality (Nikita Bier playbook)

Recipient→sender signup (?ref= links) is the loop — run the invite-flow teardown + K-factor worksheet on it, then a 48-hour test on share-CTA copy. Ladder check: core flow proven; find the first unproven rung (spreads → hops → pays) and stop work above it.

Programme: Keiki × Maritime

Accepted into the Keiki × Maritime programme (Oct 20 – Dec 1, 2026): build an always-on business agent, reach 1,000 users in six weeks. Transparent user tracking starts at zero: docs/KEIKI_MARITIME.md. The STRATEGY scoreboard (docs/STRATEGY.md) tracks conversion and engagement per artifact; the Keiki × Maritime board tracks cumulative users against the programme goal.


Key features

  • Agent-driven angles — surfaces personalization options with reasoning, lets you pick what to focus
  • Intent chips — pick a genre (warm intro, investor pitch, hiring, conference follow-up)
  • Platform auto-detection — paste any URL, nuncio identifies LinkedIn, Twitter/X, GitHub, etc.
  • Voice input — record a sender brief via microphone, transcribed by Speechmatics
  • Script review — personalization hooks highlighted inline before rendering
  • Video translation — one-click translation to 8 languages via HeyGen Lipsync
  • Auto-captions — generate timed subtitles via Speechmatics
  • Branded sharing — every video link (/v/[id]) is a marketing surface with "Make your own" CTA
  • Demo mode — ?demo=true runs the full pipeline with cached data for presentations
  • LLM fallback — auto-selects Anthropic or Featherless based on available keys
  • Sender playbook — capture what the sender wants, can offer, and where they have wiggle room
  • Delivery modes — recorded video today, live avatar link tomorrow

Project structure

nuncio/
├── src/
│   ├── app/
│   │   ├── page.tsx              # Main pipeline UI
│   │   ├── playbook/page.tsx     # Worked examples
│   │   ├── v/[id]/page.tsx       # Video landing page
│   │   └── api/
│   │       ├── enrich/route.ts
│   │       ├── script/route.ts
│   │       ├── video/route.ts
│   │       └── ...
│   ├── components/
│   │   ├── url-form.tsx
│   │   ├── angle-picker.tsx
│   │   ├── script-review.tsx
│   │   └── ...
│   └── lib/
│       ├── tinyfish.ts           # Enrichment
│       ├── claude.ts            # Script generation
│       ├── heygen.ts            # Video rendering
│       ├── elevenlabs.ts        # Audio generation
│       └── pipeline.ts           # State machine
├── docs/
│   ├── ARCHITECTURE.md
│   ├── BAND_INTEGRATION.md
│   ├── DEPLOY.md
│   └── ...
├── Dockerfile
└── .env.example

Deployment

See docs/DEPLOY.md for deployment guide (Vultr + Coolify, Docker, or direct VPS).


ChatGPT plugin — "write my first message to this prospect"

Thin MCP/HTTP wrapper for chatgpt.com/plugins. Description in user words. Free research_and_draft first (quick-tier research + channel draft in-chat — discovery + mid-conversation recommendation). Render / live link second via an existing account or informational plans page on the product site — not in-plugin checkout (OpenAI allows plugin commerce for physical goods only).

Tool Price Endpoint
research_and_draft Free POST /api/mcp/research-and-draft
Service discovery — GET /api/mcp/tools
Thin MCP stub — POST /api/mcp (tools/list, tools/call)
# Demo path (no live research) — labelled sample draft
curl -X POST http://localhost:3000/api/mcp/research-and-draft \
  -H 'content-type: application/json' \
  -d '{"demo":true,"url":"https://example.com"}'

Playbook: docs/CHATGPT_PLUGIN_PLAYBOOK.md · Connect: docs/CONNECT.md · Eval: docs/EVAL.md · Starters: docs/STARTER_PROMPTS.md · Scoreboard: usage-only funnel in docs/CHATGPT_PLUGIN_PLAYBOOK.md (usage-first; don’t chase ARPU yet)


neatHack (Oct 10–12) — Neatlogs observability entry

Neatlogs tracing is shipped, opt-in on NEATLOGS_API_KEY — see docs/NEATHACK.md for the trace map, detections, and demo script.

  • Traced: Band pipeline (band.pipeline_run → research/script/review/render/media spans) + Hermes loop (hermes.enqueue, hermes.prospect_run, hermes.reply_classify, hermes.earn_checkout) + agent.lite_run and mcp.research_and_draft; per-provider llm.* spans inside the fallback chain
  • Wrapper: src/lib/neatlogs.ts (traced() no-ops without the key; errors are recorded then re-thrown)
  • Detections to set: render timeouts, TinyFish warnings, thin-profile auto-render blocks, credit-guard 402s, LLM failover, governance holds, PII
  • Verify production read-only: ssh nuncio-vultr 'bash -s' < scripts/neathack-verify.sh (wiring + span-name coverage + doctor --probe finalization + one live trace)
  • Submit: demo video on X (Mon Oct 12, 19:00–23:55 IST); metric is one honest recovered run — provider degraded → confidence gate → credit preserved → draft still delivered

OpenClaw 2.0 — first-hire hackathon (SDR entry)

AgentCribs "startup's first hire": nuncio as OpenClaw 2.0 multiplayer SDR. Submit by Sep 29, 11:59pm PT to the AI Worth Using Agent Index (MIT, usage reporting); leaderboard snapshot Sep 30.

  • Multiplayer room: sender + prospect + Researcher/Copywriter/QA/Producer agents (Band maps 1:1 to OpenClaw rooms)
  • Lite variant for installs: text + voice note first, HeyGen video as upgrade (keeps trial friction near zero)
  • Plow bonus: iMessage follow-up + Latch-safe Mac control
  • Win metric: installs + token usage — viral /v/[id] + /live/[id] share links are the distribution

License

MIT

About

Drop a name or any social URL. Get a personalised video in 60 seconds.

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages